Update copyright year to 2014 by running admin/update-copyright.
[emacs.git] / lisp / leim / quail / vnvni.el
blobd0ea1edbeea4d8baae00ee78c9031de69066af0d
1 ;;; vnvni.el --- Quail package for Vietnamese by VNI method
3 ;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
5 ;; Author: Werner Lemberg <wl@gnu.org>
6 ;; Nguyen Thai Ngoc Duy <pclouds@gmail.com>
7 ;; Keywords: multilingual, input method, Vietnamese
9 ;; This file is part of GNU Emacs.
11 ;; GNU Emacs is free software: you can redistribute it and/or modify
12 ;; it under the terms of the GNU General Public License as published by
13 ;; the Free Software Foundation, either version 3 of the License, or
14 ;; (at your option) any later version.
16 ;; GNU Emacs is distributed in the hope that it will be useful,
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 ;; GNU General Public License for more details.
21 ;; You should have received a copy of the GNU General Public License
22 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
24 ;;; Commentary:
26 ;; There are two commonly-used input methods for Vietnamese: Telex
27 ;; (implemented in vntelex.el) and VNI (implemented in this file,
28 ;; which was based on vntelex.el).
30 ;;; Code:
32 (require 'quail)
35 (quail-define-package
36 "vietnamese-vni" ; NAME
37 "Vietnamese" ; LANGUAGE
38 "VV" ; TITLE
39 t ; GUIDANCE
40 "Vietnamese VNI input method
42 Diacritics:
44 effect postfix examples
45 ------------------------------
46 circumflex 6 a6 -> â
47 breve 8 a8 -> ă
48 horn 7 o7 -> ơ
50 acute 1 a1 -> á
51 grave 2 a2 -> à
52 hook above 3 a3 -> ả
53 tilde 4 a4 -> ã
54 dot below 5 a5 -> ạ
56 d bar 9 d9 -> đ
58 Combinations:
60 A82 -> Ằ, o74 -> ỡ, etc.
62 Doubling the postfix (but not in combinations) separates the letter
63 and postfix: E66 -> E6, a55 -> a5, etc.
64 " ; DOCSTRING
65 nil ; TRANSLATION-KEYS
66 t ; FORGET-LAST-SELECTION
67 nil ; DETERMINISTIC
68 nil ; KBD-TRANSLATE
69 nil ; SHOW-LAYOUT
70 nil ; CREATE-DECODE-MAP
71 nil ; MAXIMUM-SHORTEST
72 nil ; OVERLAY-PLIST
73 nil ; UPDATE-TRANSLATION-FUNCTION
74 nil ; CONVERSION-KEYS
75 t) ; SIMPLE
77 (quail-define-rules
78 ("a2") ; LATIN SMALL LETTER A WITH GRAVE
79 ("A2") ; LATIN CAPITAL LETTER A WITH GRAVE
80 ("a1") ; LATIN SMALL LETTER A WITH ACUTE
81 ("A1") ; LATIN CAPITAL LETTER A WITH ACUTE
82 ("a6") ; LATIN SMALL LETTER A WITH CIRCUMFLEX
83 ("A6") ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
84 ("a4") ; LATIN SMALL LETTER A WITH TILDE
85 ("A4") ; LATIN CAPITAL LETTER A WITH TILDE
86 ("e2") ; LATIN SMALL LETTER E WITH GRAVE
87 ("E2") ; LATIN CAPITAL LETTER E WITH GRAVE
88 ("e1") ; LATIN SMALL LETTER E WITH ACUTE
89 ("E1") ; LATIN CAPITAL LETTER E WITH ACUTE
90 ("e6") ; LATIN SMALL LETTER E WITH CIRCUMFLEX
91 ("E6") ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
92 ("i2") ; LATIN SMALL LETTER I WITH GRAVE
93 ("I2") ; LATIN CAPITAL LETTER I WITH GRAVE
94 ("i1") ; LATIN SMALL LETTER I WITH ACUTE
95 ("I1") ; LATIN CAPITAL LETTER I WITH ACUTE
96 ("o2") ; LATIN SMALL LETTER O WITH GRAVE
97 ("O2") ; LATIN CAPITAL LETTER O WITH GRAVE
98 ("o1") ; LATIN SMALL LETTER O WITH ACUTE
99 ("O1") ; LATIN CAPITAL LETTER O WITH ACUTE
100 ("o6") ; LATIN SMALL LETTER O WITH CIRCUMFLEX
101 ("O6") ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
102 ("o4") ; LATIN SMALL LETTER O WITH TILDE
103 ("O4") ; LATIN CAPITAL LETTER O WITH TILDE
104 ("u2") ; LATIN SMALL LETTER U WITH GRAVE
105 ("U2") ; LATIN CAPITAL LETTER U WITH GRAVE
106 ("u1") ; LATIN SMALL LETTER U WITH ACUTE
107 ("U1") ; LATIN CAPITAL LETTER U WITH ACUTE
108 ("y1") ; LATIN SMALL LETTER Y WITH ACUTE
109 ("Y1") ; LATIN CAPITAL LETTER Y WITH ACUTE
110 ("a8") ; LATIN SMALL LETTER A WITH BREVE
111 ("A8") ; LATIN CAPITAL LETTER A WITH BREVE
112 ("i4") ; LATIN SMALL LETTER I WITH TILDE
113 ("I4") ; LATIN CAPITAL LETTER I WITH TILDE
114 ("u4") ; LATIN SMALL LETTER U WITH TILDE
115 ("U4") ; LATIN CAPITAL LETTER U WITH TILDE
116 ("o7") ; LATIN SMALL LETTER O WITH HORN
117 ("O7") ; LATIN CAPITAL LETTER O WITH HORN
118 ("u7") ; LATIN SMALL LETTER U WITH HORN
119 ("U7") ; LATIN CAPITAL LETTER U WITH HORN
120 ("a5" ?ạ) ; LATIN SMALL LETTER A WITH DOT BELOW
121 ("A5" ?Ạ) ; LATIN CAPITAL LETTER A WITH DOT BELOW
122 ("a3" ?ả) ; LATIN SMALL LETTER A WITH HOOK ABOVE
123 ("A3" ?Ả) ; LATIN CAPITAL LETTER A WITH HOOK ABOVE
124 ("a61" ?ấ) ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
125 ("A61" ?Ấ) ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
126 ("a62" ?ầ) ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
127 ("A62" ?Ầ) ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
128 ("a63" ?ẩ) ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND HO6K ABOVE
129 ("A63" ?Ẩ) ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HO6K ABOVE
130 ("a64" ?ẫ) ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
131 ("A64" ?Ẫ) ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
132 ("a65" ?ậ) ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
133 ("A65" ?Ậ) ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
134 ("a81" ?ắ) ; LATIN SMALL LETTER A WITH BREVE AND ACUTE
135 ("A81" ?Ắ) ; LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
136 ("a82" ?ằ) ; LATIN SMALL LETTER A WITH BREVE AND GRAVE
137 ("A82" ?Ằ) ; LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
138 ("a83" ?ẳ) ; LATIN SMALL LETTER A WITH BREVE AND HO6K ABOVE
139 ("A83" ?Ẳ) ; LATIN CAPITAL LETTER A WITH BREVE AND HO6K ABOVE
140 ("a84" ?ẵ) ; LATIN SMALL LETTER A WITH BREVE AND TILDE
141 ("A84" ?Ẵ) ; LATIN CAPITAL LETTER A WITH BREVE AND TILDE
142 ("a85" ?ặ) ; LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
143 ("A85" ?Ặ) ; LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
144 ("e5" ?ẹ) ; LATIN SMALL LETTER E WITH DOT BELOW
145 ("E5" ?Ẹ) ; LATIN CAPITAL LETTER E WITH DOT BELOW
146 ("e3" ?ẻ) ; LATIN SMALL LETTER E WITH HO6K ABOVE
147 ("E3" ?Ẻ) ; LATIN CAPITAL LETTER E WITH HO6K ABOVE
148 ("e4" ?ẽ) ; LATIN SMALL LETTER E WITH TILDE
149 ("E4" ?Ẽ) ; LATIN CAPITAL LETTER E WITH TILDE
150 ("e61" ?ế) ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
151 ("E61" ?Ế) ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
152 ("e62" ?ề) ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
153 ("E62" ?Ề) ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
154 ("e63" ?ể) ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND HO6K ABOVE
155 ("E63" ?Ể) ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HO6K ABOVE
156 ("e64" ?ễ) ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
157 ("E64" ?Ễ) ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
158 ("e65" ?ệ) ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
159 ("E65" ?Ệ) ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
160 ("i3" ?ỉ) ; LATIN SMALL LETTER I WITH HO6K ABOVE
161 ("I3" ?Ỉ) ; LATIN CAPITAL LETTER I WITH HO6K ABOVE
162 ("i5" ?ị) ; LATIN SMALL LETTER I WITH DOT BELOW
163 ("I5" ?Ị) ; LATIN CAPITAL LETTER I WITH DOT BELOW
164 ("o5" ?ọ) ; LATIN SMALL LETTER O WITH DOT BELOW
165 ("O5" ?Ọ) ; LATIN CAPITAL LETTER O WITH DOT BELOW
166 ("o3" ?ỏ) ; LATIN SMALL LETTER O WITH HO6K ABOVE
167 ("O3" ?Ỏ) ; LATIN CAPITAL LETTER O WITH HO6K ABOVE
168 ("o61" ?ố) ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
169 ("O61" ?Ố) ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
170 ("o62" ?ồ) ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
171 ("O62" ?Ồ) ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
172 ("o63" ?ổ) ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND HO6K ABOVE
173 ("O63" ?Ổ) ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HO6K ABOVE
174 ("o64" ?ỗ) ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
175 ("O64" ?Ỗ) ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
176 ("o65" ?ộ) ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELO7
177 ("O65" ?Ộ) ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELO7
178 ("o71" ?ớ) ; LATIN SMALL LETTER O WITH HORN AND ACUTE
179 ("O71" ?Ớ) ; LATIN CAPITAL LETTER O WITH HORN AND ACUTE
180 ("o72" ?ờ) ; LATIN SMALL LETTER O WITH HORN AND GRAVE
181 ("O72" ?Ờ) ; LATIN CAPITAL LETTER O WITH HORN AND GRAVE
182 ("o73" ?ở) ; LATIN SMALL LETTER O WITH HORN AND HO6K ABOVE
183 ("O73" ?Ở) ; LATIN CAPITAL LETTER O WITH HORN AND HO6K ABOVE
184 ("o74" ?ỡ) ; LATIN SMALL LETTER O WITH HORN AND TILDE
185 ("O74" ?Ỡ) ; LATIN CAPITAL LETTER O WITH HORN AND TILDE
186 ("o75" ?ợ) ; LATIN SMALL LETTER O WITH HORN AND DOT BELO7
187 ("O75" ?Ợ) ; LATIN CAPITAL LETTER O WITH HORN AND DOT BELO7
188 ("u5" ?ụ) ; LATIN SMALL LETTER U WITH DOT BELO7
189 ("U5" ?Ụ) ; LATIN CAPITAL LETTER U WITH DOT BELO7
190 ("u3" ?ủ) ; LATIN SMALL LETTER U WITH HO6K ABOVE
191 ("U3" ?Ủ) ; LATIN CAPITAL LETTER U WITH HO6K ABOVE
192 ("u71" ?ứ) ; LATIN SMALL LETTER U WITH HORN AND ACUTE
193 ("U71" ?Ứ) ; LATIN CAPITAL LETTER U WITH HORN AND ACUTE
194 ("u72" ?ừ) ; LATIN SMALL LETTER U WITH HORN AND GRAVE
195 ("U72" ?Ừ) ; LATIN CAPITAL LETTER U WITH HORN AND GRAVE
196 ("u73" ?ử) ; LATIN SMALL LETTER U WITH HORN AND HO6K ABOVE
197 ("U73" ?Ử) ; LATIN CAPITAL LETTER U WITH HORN AND HO6K ABOVE
198 ("u74" ?ữ) ; LATIN SMALL LETTER U WITH HORN AND TILDE
199 ("U74" ?Ữ) ; LATIN CAPITAL LETTER U WITH HORN AND TILDE
200 ("u75" ?ự) ; LATIN SMALL LETTER U WITH HORN AND DOT BELO7
201 ("U75" ?Ự) ; LATIN CAPITAL LETTER U WITH HORN AND DOT BELO7
202 ("y2" ?ỳ) ; LATIN SMALL LETTER Y WITH GRAVE
203 ("Y2" ?Ỳ) ; LATIN CAPITAL LETTER Y WITH GRAVE
204 ("y5" ?ỵ) ; LATIN SMALL LETTER Y WITH DOT BELO7
205 ("Y5" ?Ỵ) ; LATIN CAPITAL LETTER Y WITH DOT BELO7
206 ("y3" ?ỷ) ; LATIN SMALL LETTER Y WITH HO6K ABOVE
207 ("Y3" ?Ỷ) ; LATIN CAPITAL LETTER Y WITH HO6K ABOVE
208 ("y4" ?ỹ) ; LATIN SMALL LETTER Y WITH TILDE
209 ("Y4" ?Ỹ) ; LATIN CAPITAL LETTER Y WITH TILDE
210 ("d9") ; LATIN SMALL LETTER D WITH STROKE
211 ("D9") ; LATIN CAPITAL LETTER D WITH STROKE
212 ;("$$" ?₫) ; U+20AB DONG SIGN (#### check)
214 ("a22" ["a22"])
215 ("A22" ["A2"])
216 ("a11" ["a1"])
217 ("A11" ["A1"])
218 ("a66"' ["a6"])
219 ("A66"' ["A6"])
220 ("a44" ["a4"])
221 ("A44" ["A4"])
222 ("e22" ["e2"])
223 ("E22" ["E2"])
224 ("e11" ["e1"])
225 ("E11" ["E1"])
226 ("e66" ["e6"])
227 ("E66" ["E6"])
228 ("i22" ["i2"])
229 ("I22" ["I2"])
230 ("i11" ["i1"])
231 ("I11" ["I1"])
232 ("o22" ["o2"])
233 ("O22" ["O2"])
234 ("o11" ["o1"])
235 ("O11" ["O1"])
236 ("o66" ["o6"])
237 ("O66" ["O6"])
238 ("o44" ["o4"])
239 ("O44" ["O4"])
240 ("u22" ["u2"])
241 ("U22" ["U2"])
242 ("u11" ["u1"])
243 ("U11" ["U1"])
244 ("y11" ["y1"])
245 ("Y11" ["Y1"])
246 ("a88" ["a8"])
247 ("A88" ["A8"])
248 ("i44" ["i4"])
249 ("I44" ["I4"])
250 ("u44" ["u4"])
251 ("U44" ["u4"])
252 ("o77" ["o7"])
253 ("O77" ["O7"])
254 ("u77" ["u7"])
255 ("U77" ["U7"])
256 ("a55" ["a5"])
257 ("A55" ["A5"])
258 ("a33" ["a3"])
259 ("A33" ["A3"])
260 ("e55" ["e5"])
261 ("E55" ["E5"])
262 ("e33" ["e3"])
263 ("E33" ["E3"])
264 ("e44" ["e4"])
265 ("E44" ["E4"])
266 ("i33" ["i3"])
267 ("I33" ["I3"])
268 ("i55" ["i5"])
269 ("I55" ["I5"])
270 ("o55" ["o5"])
271 ("O55" ["O5"])
272 ("o33" ["o3"])
273 ("O33" ["O3"])
274 ("u55" ["u5"])
275 ("U55" ["U5"])
276 ("u33" ["u3"])
277 ("U33" ["U3"])
278 ("y22" ["y2"])
279 ("Y22" ["Y2"])
280 ("y55" ["y5"])
281 ("Y55" ["Y5"])
282 ("y33" ["y3"])
283 ("Y33" ["Y3"])
284 ("y44" ["y4"])
285 ("Y44" ["Y4"])
286 ("d9" ["d9"])
287 ("D99" ["D9"])
288 ;("$$$" ["$$"])
290 ;; escape from composition
291 ("\\1" ?1)
292 ("\\2" ?2)
293 ("\\3" ?3)
294 ("\\4" ?4)
295 ("\\5" ?5)
296 ("\\6" ?6)
297 ("\\7" ?7)
298 ("\\8" ?8)
299 ("\\9" ?9)
300 ("\\\\" ?\\)) ; literal backslash
303 ;; Local Variables:
304 ;; coding: utf-8
305 ;; End: