annotate leim/quail/lao.el @ 107608:11c99bdae327

Merge from mainline.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 01 Jan 2010 14:30:06 -0500
parents 0d2e4142fb60
children 1d1d5d9bd884
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
40710
890f548046c1 Add coding tag.
Dave Love <fx@gnu.org>
parents: 38453
diff changeset
1 ;;; lao.el --- Quail package for inputting Lao characters -*-coding: iso-2022-7bit;-*-
18673
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
2
75253
f5f322eb227f Update copyright for years from Emacs 21 to present.
Glenn Morris <rgm@gnu.org>
parents: 74605
diff changeset
3 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
100963
0d2e4142fb60 Add 2009 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 94710
diff changeset
4 ;; 2006, 2007, 2008, 2009
58756
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
5 ;; National Institute of Advanced Industrial Science and Technology (AIST)
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
6 ;; Registration Number H14PRO021
18673
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
7
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
8 ;; Keywords: multilingual, input method, Lao
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
9
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
10 ;; This file is part of GNU Emacs.
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
11
94710
4f1fd208c354 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
12 ;; GNU Emacs is free software: you can redistribute it and/or modify
18673
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
13 ;; it under the terms of the GNU General Public License as published by
94710
4f1fd208c354 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
14 ;; the Free Software Foundation, either version 3 of the License, or
4f1fd208c354 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
15 ;; (at your option) any later version.
18673
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
16
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
17 ;; GNU Emacs is distributed in the hope that it will be useful,
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
20 ;; GNU General Public License for more details.
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
21
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
22 ;; You should have received a copy of the GNU General Public License
94710
4f1fd208c354 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
23 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
18673
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
24
38453
519983161a46 Some fixes to follow lisp coding conventions and typo fixes.
Pavel Janík <Pavel@Janik.cz>
parents: 26881
diff changeset
25 ;;; Commentary:
519983161a46 Some fixes to follow lisp coding conventions and typo fixes.
Pavel Janík <Pavel@Janik.cz>
parents: 26881
diff changeset
26
18673
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
27 ;;; Code:
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
28
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
29 (require 'quail)
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
30 (require 'lao-util)
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
31
26881
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
32 (defun quail-lao-update-translation (control-flag)
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
33 (if (integerp control-flag)
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
34 ;; Non-composable character typed.
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
35 (setq quail-current-str
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
36 (buffer-substring (overlay-start quail-overlay)
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
37 (overlay-end quail-overlay))
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
38 unread-command-events
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
39 (string-to-list
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
40 (substring quail-current-key control-flag)))
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
41 (setq quail-current-str
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
42 (compose-string (quail-lookup-map-and-concat quail-current-key))))
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
43 control-flag)
18673
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
44
58756
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
45 (defvar lao-key-alist
26881
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
46 '(("!" . "1")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
47 ("\"" . "=")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
48 ("#" . "3")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
49 ("$" . "4")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
50 ("&" . "5")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
51 ("%" . "(1l(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
52 ("'" . "(1'(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
53 ("(" . "7")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
54 (")" . "8")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
55 ("*" . "6")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
56 ("+" . ["(1mh(B"])
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
57 ("," . "(1A(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
58 ("-" . "(1*(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
59 ("." . "(1c(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
60 ("/" . "(1=(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
61 ("0" . "(1"(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
62 ("1" . "(1B(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
63 ("2" . "(1?(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
64 ("3" . "(1b(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
65 ("4" . "(16(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
66 ("5" . "(1X(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
67 ("6" . "(1Y(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
68 ("7" . "(1$(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
69 ("8" . "(15(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
70 ("9" . "(1((B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
71 (":" . "%")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
72 (";" . "(1G(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
73 ("<" . "(1}(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
74 ("=" . "(1m(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
75 (">" . "$")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
76 ("?" . ")")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
77 ("@" . "2")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
78 ("A" . ["(1Qi(B"])
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
79 ("B" . ["(1Vi(B"])
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
80 ("C" . "(1O(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
81 ("D" . ".")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
82 ("E" . ["(1Si(B"])
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
83 ("F" . ",")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
84 ("G" . ":")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
85 ("H" . "(1j(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
86 ("I" . "(1N(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
87 ("J" . "(1k(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
88 ("K" . "!")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
89 ("L" . "?")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
90 ("M" . "(1f(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
91 ("N" . ["(1Wi(B"])
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
92 ("O" . "(1|(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
93 ("P" . "(1](B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
94 ("Q" . ["(1[i(B"])
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
95 ("R" . "_")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
96 ("S" . ";")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
97 ("T" . "+")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
98 ("U" . ["(1Ui(B"])
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
99 ("V" . "x")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
100 ("W" . "0")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
101 ("X" . "(")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
102 ("Y" . ["(1Ti(B"])
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
103 ("Z" . "\"")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
104 ("[" . "(1:(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
105 ("]" . "(1E(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
106 ("^" . "(1\(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
107 ("_" . "9")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
108 ("`" . "(1'(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
109 ("a" . "(1Q(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
110 ("b" . "(1V(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
111 ("c" . "(1a(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
112 ("d" . "(1!(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
113 ("e" . "(1S(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
114 ("f" . "(14(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
115 ("g" . "(1`(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
116 ("h" . "(1i(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
117 ("i" . "(1C(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
118 ("j" . "(1h(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
119 ("k" . "(1R(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
120 ("l" . "(1J(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
121 ("m" . "(17(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
122 ("n" . "(1W(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
123 ("o" . "(19(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
124 ("p" . "(1-(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
125 ("q" . "(1[(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
126 ("r" . "(1>(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
127 ("s" . "(1K(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
128 ("t" . "(1P(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
129 ("u" . "(1U(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
130 ("v" . "(1M(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
131 ("w" . "(1d(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
132 ("x" . "(1;(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
133 ("y" . "(1T(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
134 ("z" . "(1<(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
135 ("{" . "-")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
136 ("|" . ["(1K\(B"])
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
137 ("}" . "/")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
138 ("~" . "(1l(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
139 ("\\0" . "(1p(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
140 ("\\1" . "(1q(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
141 ("\\2" . "(1r(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
142 ("\\3" . "(1s(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
143 ("\\4" . "(1t(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
144 ("\\5" . "(1u(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
145 ("\\6" . "(1v(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
146 ("\\7" . "(1w(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
147 ("\\8" . "(1x(B")
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
148 ("\\9" . "(1y(B")
58756
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
149 )
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
150 "Alist of key sequences vs the corresponding Lao string to input.
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
151 This variable is for the input method \"lao\".
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
152 If you change the value of this variable while quail/lao is already loaded,
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
153 you need to re-load it to properly re-initialize related alists.")
18673
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
154
58756
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
155 ;; Temporary variable to initialize lao-consonant-key-alist, etc.
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
156 (defconst lao-key-alist-vector
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
157 (let ((tail lao-key-alist)
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
158 consonant-key-alist semivowel-key-alist vowel-key-alist
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
159 voweltone-key-alist tone-key-alist other-key-alist
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
160 elt phonetic-type)
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
161 (while tail
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
162 (setq elt (car tail) tail (cdr tail))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
163 (if (stringp (cdr elt))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
164 (setq phonetic-type (get-char-code-property (aref (cdr elt) 0)
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
165 'phonetic-type))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
166 (setq phonetic-type (get-char-code-property (aref (aref (cdr elt) 0) 0)
26881
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
167 'phonetic-type))
58756
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
168 (aset (cdr elt) 0 (compose-string (aref (cdr elt) 0))))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
169 (cond ((eq phonetic-type 'consonant)
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
170 (setq consonant-key-alist (cons elt consonant-key-alist)))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
171 ((memq phonetic-type '(vowel-upper vowel-lower))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
172 (if (stringp (cdr elt))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
173 (setq vowel-key-alist (cons elt vowel-key-alist))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
174 (setq voweltone-key-alist (cons elt voweltone-key-alist))))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
175 ((eq phonetic-type 'tone)
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
176 (setq tone-key-alist (cons elt tone-key-alist)))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
177 ((eq phonetic-type 'semivowel-lower)
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
178 (setq semivowel-key-alist (cons elt semivowel-key-alist)))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
179 (t
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
180 (setq other-key-alist (cons elt other-key-alist)))))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
181 (vector consonant-key-alist semivowel-key-alist vowel-key-alist
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
182 voweltone-key-alist tone-key-alist other-key-alist)))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
183
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
184 (defconst lao-consonant-key-alist (aref lao-key-alist-vector 0))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
185 (defconst lao-semivowel-key-alist (aref lao-key-alist-vector 1))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
186 (defconst lao-vowel-key-alist (aref lao-key-alist-vector 2))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
187 (defconst lao-voweltone-key-alist (aref lao-key-alist-vector 3))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
188 (defconst lao-tone-key-alist (aref lao-key-alist-vector 4))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
189 (defconst lao-other-key-alist (aref lao-key-alist-vector 5))
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
190
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
191 ;; Done with it.
592861b6d3c5 (lao-key-alist): Declare it by defvar.
Kenichi Handa <handa@m17n.org>
parents: 52401
diff changeset
192 (makunbound 'lao-key-alist-vector)
18673
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
193
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
194 (quail-define-package
19261
84a9af170661 Change title string of input method "Lao".
Kenichi Handa <handa@m17n.org>
parents: 18673
diff changeset
195 "lao" "Lao" "(1E(B" t
18673
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
196 "Lao input method simulating Lao keyboard layout based on Thai TIS620"
26881
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
197 nil t t t t nil nil nil 'quail-lao-update-translation nil t)
18673
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
198
26881
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
199 (quail-install-map
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
200 (quail-map-from-table
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
201 '((base-state (lao-consonant-key-alist . svt-state)
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
202 lao-vowel-key-alist
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
203 lao-voweltone-key-alist
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
204 lao-tone-key-alist
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
205 lao-other-key-alist)
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
206 (svt-state (lao-semivowel-key-alist . v-state)
87167
b74279304611 (quail-map-from-table): Allow a tone just after a
Kenichi Handa <handa@m17n.org>
parents: 78308
diff changeset
207 (lao-vowel-key-alist . t-state)
b74279304611 (quail-map-from-table): Allow a tone just after a
Kenichi Handa <handa@m17n.org>
parents: 78308
diff changeset
208 lao-voweltone-key-alist
b74279304611 (quail-map-from-table): Allow a tone just after a
Kenichi Handa <handa@m17n.org>
parents: 78308
diff changeset
209 lao-tone-key-alist)
26881
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
210 (v-state (lao-vowel-key-alist . t-state))
cd1cb9bf30e1 Rewritten for new composition.
Kenichi Handa <handa@m17n.org>
parents: 19722
diff changeset
211 (t-state lao-tone-key-alist))))
18673
751941736224 Initial revision
Kenichi Handa <handa@m17n.org>
parents:
diff changeset
212
94710
4f1fd208c354 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
213 ;; arch-tag: 23863a30-a8bf-402c-b7ce-c517a7aa8570
38453
519983161a46 Some fixes to follow lisp coding conventions and typo fixes.
Pavel Janík <Pavel@Janik.cz>
parents: 26881
diff changeset
214 ;;; lao.el ends here