diff options
| -rw-r--r-- | leim/quail/indian.el | 61 |
1 files changed, 44 insertions, 17 deletions
diff --git a/leim/quail/indian.el b/leim/quail/indian.el index de164d33dc4..4ad2308ef97 100644 --- a/leim/quail/indian.el +++ b/leim/quail/indian.el | |||
| @@ -132,24 +132,28 @@ | |||
| 132 | ;;; Input by Inscript | 132 | ;;; Input by Inscript |
| 133 | ;;; | 133 | ;;; |
| 134 | 134 | ||
| 135 | (defun quail-indian-flatten-list (lst) | 135 | (defun quail-define-inscript-package (char-tables key-tables pkgname lang |
| 136 | "Flatten the nested LIST so that there would be no innner list." | 136 | title docstring) |
| 137 | (if (listp lst) | ||
| 138 | (apply 'append (mapcar 'quail-indian-flatten-list lst)) | ||
| 139 | (list lst))) | ||
| 140 | |||
| 141 | (defun quail-define-inscript-package (char-table key-table pkgname lang title | ||
| 142 | docstring) | ||
| 143 | (setq char-table (quail-indian-flatten-list char-table)) | ||
| 144 | (setq key-table (quail-indian-flatten-list key-table)) | ||
| 145 | (funcall 'quail-define-package pkgname lang title nil docstring | 137 | (funcall 'quail-define-package pkgname lang title nil docstring |
| 146 | nil nil nil nil nil nil nil nil) | 138 | nil nil nil nil nil nil nil nil) |
| 147 | (dolist (key key-table) | 139 | (let (char-table key-table char key) |
| 148 | (let ((val (pop char-table))) | 140 | (while (and char-tables key-tables) |
| 149 | (if (and key val) | 141 | (setq char-table (car char-tables) |
| 150 | (quail-defrule | 142 | char-tables (cdr char-tables) |
| 151 | (if (characterp key) (char-to-string key) key) | 143 | key-table (car key-tables) |
| 152 | (if (stringp val) (vector val) val)))))) | 144 | key-tables (cdr key-tables)) |
| 145 | (while (and char-table key-table) | ||
| 146 | (setq char (car char-table) | ||
| 147 | char-table (cdr char-table) | ||
| 148 | key (car key-table) | ||
| 149 | key-table (cdr key-table)) | ||
| 150 | (if (and (consp char) (consp key)) | ||
| 151 | (setq char-table (append char char-table) | ||
| 152 | key-table (append key key-table)) | ||
| 153 | (if (and key char) | ||
| 154 | (quail-defrule | ||
| 155 | (if (characterp key) (char-to-string key) key) | ||
| 156 | (if (stringp char) (vector char) char)))))))) | ||
| 153 | 157 | ||
| 154 | ;; | 158 | ;; |
| 155 | 159 | ||
| @@ -176,6 +180,29 @@ | |||
| 176 | (;; Inscripts | 180 | (;; Inscripts |
| 177 | ?# ?$ ?^ ?* ?\]))) | 181 | ?# ?$ ?^ ?* ?\]))) |
| 178 | 182 | ||
| 183 | (defvar inscript-tml-keytable | ||
| 184 | '( | ||
| 185 | (;; VOWELS (18) | ||
| 186 | (?D nil) (?E ?e) (?F ?f) (?R ?r) (?G ?g) (?T ?t) | ||
| 187 | nil nil nil (?S ?s) (?Z ?z) (?W ?w) | ||
| 188 | nil (?A ?a) (?~ ?`) (?Q ?q) nil nil) | ||
| 189 | (;; CONSONANTS (42) | ||
| 190 | ?k ?K ?i ?I ?U ;; GRUTTALS | ||
| 191 | ?\; ?: ?p ?P ?} ;; PALATALS | ||
| 192 | ?' ?\" ?\[ ?{ ?C ;; CEREBRALS | ||
| 193 | ?l ?L ?o ?O ?v ?V ;; DENTALS | ||
| 194 | ?h ?H ?y ?Y ?c ;; LABIALS | ||
| 195 | ?/ ?j ?J ?n ?N "N]" ?b ;; SEMIVOWELS | ||
| 196 | ?M ?< ?m ?u ;; SIBILANTS | ||
| 197 | "k]" "K]" "i]" "p]" "[]" "{]" "H]" "/]" ;; NUKTAS | ||
| 198 | ?% ?&) | ||
| 199 | (;; Misc Symbols (7) | ||
| 200 | ?X ?x ?_ ">]" ?d "X]" ?>) | ||
| 201 | (;; Digits | ||
| 202 | ?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9) | ||
| 203 | (;; Inscripts | ||
| 204 | ?# ?$ ?^ ?* ?\]))) | ||
| 205 | |||
| 179 | (if nil | 206 | (if nil |
| 180 | (quail-define-package "devanagari-inscript" "Devanagari" "DevIS" t "Devanagari keyboard Inscript")) | 207 | (quail-define-package "devanagari-inscript" "Devanagari" "DevIS" t "Devanagari keyboard Inscript")) |
| 181 | (quail-define-inscript-package | 208 | (quail-define-inscript-package |
| @@ -242,7 +269,7 @@ | |||
| 242 | (if nil | 269 | (if nil |
| 243 | (quail-define-package "tamil-inscript" "Tamil" "TmlIS" t "Tamil keyboard Inscript")) | 270 | (quail-define-package "tamil-inscript" "Tamil" "TmlIS" t "Tamil keyboard Inscript")) |
| 244 | (quail-define-inscript-package | 271 | (quail-define-inscript-package |
| 245 | indian-tml-base-table inscript-dev-keytable | 272 | indian-tml-base-table inscript-tml-keytable |
| 246 | "tamil-inscript" "Tamil" "TmlIS" | 273 | "tamil-inscript" "Tamil" "TmlIS" |
| 247 | "Tamil keyboard Inscript.") | 274 | "Tamil keyboard Inscript.") |
| 248 | 275 | ||