(lao-key-alist): Declare it by defvar.
(lao-key-alist-vector): New variable. (lao-consonant-key-alist, lao-semivowel-key-alist) (lao-vowel-key-alist, lao-voweltone-key-alist) (lao-tone-key-alist, lao-other-key-alist): Initialize them from lao-key-alist-vector.
This commit is contained in:
parent
6108209e54
commit
a3341d3c44
2 changed files with 55 additions and 31 deletions
|
@ -1,3 +1,12 @@
|
|||
2004-12-04 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* quail/lao.el (lao-key-alist): Declare it by defvar.
|
||||
(lao-key-alist-vector): New variable.
|
||||
(lao-consonant-key-alist, lao-semivowel-key-alist)
|
||||
(lao-vowel-key-alist, lao-voweltone-key-alist)
|
||||
(lao-tone-key-alist, lao-other-key-alist): Initialize them from
|
||||
lao-key-alist-vector.
|
||||
|
||||
2004-09-25 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* quail/uni-input.el (ucs-input-method): Add error clause to
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
|
||||
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
|
||||
;; Licensed to the Free Software Foundation.
|
||||
;; Copyright (C) 2004
|
||||
;; National Institute of Advanced Industrial Science and Technology (AIST)
|
||||
;; Registration Number H14PRO021
|
||||
|
||||
;; Keywords: multilingual, input method, Lao
|
||||
|
||||
|
@ -42,7 +45,7 @@
|
|||
(compose-string (quail-lookup-map-and-concat quail-current-key))))
|
||||
control-flag)
|
||||
|
||||
(defconst lao-key-alist
|
||||
(defvar lao-key-alist
|
||||
'(("!" . "1")
|
||||
("\"" . "=")
|
||||
("#" . "3")
|
||||
|
@ -146,38 +149,50 @@
|
|||
("\\7" . "(1w(B")
|
||||
("\\8" . "(1x(B")
|
||||
("\\9" . "(1y(B")
|
||||
))
|
||||
)
|
||||
"Alist of key sequences vs the corresponding Lao string to input.
|
||||
This variable is for the input method \"lao\".
|
||||
If you change the value of this variable while quail/lao is already loaded,
|
||||
you need to re-load it to properly re-initialize related alists.")
|
||||
|
||||
(defconst lao-consonant-key-alist nil)
|
||||
(defconst lao-semivowel-key-alist nil)
|
||||
(defconst lao-vowel-key-alist nil)
|
||||
(defconst lao-voweltone-key-alist nil)
|
||||
(defconst lao-tone-key-alist nil)
|
||||
(defconst lao-other-key-alist nil)
|
||||
|
||||
(let ((tail lao-key-alist)
|
||||
elt phonetic-type)
|
||||
(while tail
|
||||
(setq elt (car tail) tail (cdr tail))
|
||||
(if (stringp (cdr elt))
|
||||
(setq phonetic-type (get-char-code-property (aref (cdr elt) 0)
|
||||
;; Temporary variable to initialize lao-consonant-key-alist, etc.
|
||||
(defconst lao-key-alist-vector
|
||||
(let ((tail lao-key-alist)
|
||||
consonant-key-alist semivowel-key-alist vowel-key-alist
|
||||
voweltone-key-alist tone-key-alist other-key-alist
|
||||
elt phonetic-type)
|
||||
(while tail
|
||||
(setq elt (car tail) tail (cdr tail))
|
||||
(if (stringp (cdr elt))
|
||||
(setq phonetic-type (get-char-code-property (aref (cdr elt) 0)
|
||||
'phonetic-type))
|
||||
(setq phonetic-type (get-char-code-property (aref (aref (cdr elt) 0) 0)
|
||||
'phonetic-type))
|
||||
(setq phonetic-type (get-char-code-property (aref (aref (cdr elt) 0) 0)
|
||||
'phonetic-type))
|
||||
(aset (cdr elt) 0 (compose-string (aref (cdr elt) 0))))
|
||||
(cond ((eq phonetic-type 'consonant)
|
||||
(setq lao-consonant-key-alist (cons elt lao-consonant-key-alist)))
|
||||
((memq phonetic-type '(vowel-upper vowel-lower))
|
||||
(if (stringp (cdr elt))
|
||||
(setq lao-vowel-key-alist (cons elt lao-vowel-key-alist))
|
||||
(setq lao-voweltone-key-alist
|
||||
(cons elt lao-voweltone-key-alist))))
|
||||
((eq phonetic-type 'tone)
|
||||
(setq lao-tone-key-alist (cons elt lao-tone-key-alist)))
|
||||
((eq phonetic-type 'semivowel-lower)
|
||||
(setq lao-semivowel-key-alist (cons elt lao-semivowel-key-alist)))
|
||||
(t
|
||||
(setq lao-other-key-alist (cons elt lao-other-key-alist))))))
|
||||
(aset (cdr elt) 0 (compose-string (aref (cdr elt) 0))))
|
||||
(cond ((eq phonetic-type 'consonant)
|
||||
(setq consonant-key-alist (cons elt consonant-key-alist)))
|
||||
((memq phonetic-type '(vowel-upper vowel-lower))
|
||||
(if (stringp (cdr elt))
|
||||
(setq vowel-key-alist (cons elt vowel-key-alist))
|
||||
(setq voweltone-key-alist (cons elt voweltone-key-alist))))
|
||||
((eq phonetic-type 'tone)
|
||||
(setq tone-key-alist (cons elt tone-key-alist)))
|
||||
((eq phonetic-type 'semivowel-lower)
|
||||
(setq semivowel-key-alist (cons elt semivowel-key-alist)))
|
||||
(t
|
||||
(setq other-key-alist (cons elt other-key-alist)))))
|
||||
(vector consonant-key-alist semivowel-key-alist vowel-key-alist
|
||||
voweltone-key-alist tone-key-alist other-key-alist)))
|
||||
|
||||
(defconst lao-consonant-key-alist (aref lao-key-alist-vector 0))
|
||||
(defconst lao-semivowel-key-alist (aref lao-key-alist-vector 1))
|
||||
(defconst lao-vowel-key-alist (aref lao-key-alist-vector 2))
|
||||
(defconst lao-voweltone-key-alist (aref lao-key-alist-vector 3))
|
||||
(defconst lao-tone-key-alist (aref lao-key-alist-vector 4))
|
||||
(defconst lao-other-key-alist (aref lao-key-alist-vector 5))
|
||||
|
||||
;; Done with it.
|
||||
(makunbound 'lao-key-alist-vector)
|
||||
|
||||
(quail-define-package
|
||||
"lao" "Lao" "(1E(B" t
|
||||
|
|
Loading…
Add table
Reference in a new issue