aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2004-01-07 23:04:47 +0000
committerKenichi Handa2004-01-07 23:04:47 +0000
commite5dfa2402eadbf17a49d7927fc197f171a47af6d (patch)
treeb6c65917be33c37b146f17571d9094c622d522a9
parentadd3da7bcbdf231f749e5da7a4819053edf78b1a (diff)
downloademacs-e5dfa2402eadbf17a49d7927fc197f171a47af6d.tar.gz
emacs-e5dfa2402eadbf17a49d7927fc197f171a47af6d.zip
(quail-indian-flatten-list): Delete it.
(quail-define-inscript-package): Pay attention to `nil' values of char/key-table. (inscript-tml-keytable): New variable. Use it for Tamil inscript.
-rw-r--r--leim/quail/indian.el61
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