1 ;;; vnvni.el --- Quail package for Vietnamese by VNI method
3 ;; Copyright (C) 2001-2012 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/>.
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).
36 "vietnamese-vni" ; NAME
37 "Vietnamese" ; LANGUAGE
40 "Vietnamese VNI input method
44 effect postfix examples
45 ------------------------------
46 circumflex 6 a6 -> \e,Ab\e(B
47 breve 8 a8 -> \e,1e\e(B
48 horn 7 o7 -> \e,1=\e(B
50 acute 1 a1 -> \e,1a\e(B
51 grave 2 a2 -> \e,1`\e(B
52 hook above 3 a3 -> \e,1d\e(B
53 tilde 4 a4 -> \e,1c\e(B
54 dot below 5 a5 -> \e,1U\e(B
56 d bar 9 d9 -> \e,1p\e(B
60 A82 -> \e,2"\e(B, o74 -
> \e,1^
\e(B, etc.
62 Doubling the postfix
(but not in combinations
) separates the letter
63 and postfix
: E66 -
> E6
, a55 -
> a5
, etc.
65 nil ; TRANSLATION-KEYS
66 t ; FORGET-LAST-SELECTION
70 nil ; CREATE-DECODE-MAP
71 nil ; MAXIMUM-SHORTEST
73 nil ; UPDATE-TRANSLATION-FUNCTION
78 ("a2
" ?\e,1`\e(B) ; LATIN SMALL LETTER A WITH GRAVE
79 ("A2
" ?\e,2`\e(B) ; LATIN CAPITAL LETTER A WITH GRAVE
80 ("a1
" ?\e,1a\e(B) ; LATIN SMALL LETTER A WITH ACUTE
81 ("A1
" ?\e,2a\e(B) ; LATIN CAPITAL LETTER A WITH ACUTE
82 ("a6
" ?\e,1b\e(B) ; LATIN SMALL LETTER A WITH CIRCUMFLEX
83 ("A6
" ?\e,2b\e(B) ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
84 ("a4
" ?\e,1c\e(B) ; LATIN SMALL LETTER A WITH TILDE
85 ("A4
" ?\e,2c\e(B) ; LATIN CAPITAL LETTER A WITH TILDE
86 ("e2
" ?\e,1h\e(B) ; LATIN SMALL LETTER E WITH GRAVE
87 ("E2
" ?\e,2h\e(B) ; LATIN CAPITAL LETTER E WITH GRAVE
88 ("e1
" ?\e,1i\e(B) ; LATIN SMALL LETTER E WITH ACUTE
89 ("E1
" ?\e,2i\e(B) ; LATIN CAPITAL LETTER E WITH ACUTE
90 ("e6
" ?\e,1j\e(B) ; LATIN SMALL LETTER E WITH CIRCUMFLEX
91 ("E6
" ?\e,2j\e(B) ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
92 ("i2
" ?\e,1l\e(B) ; LATIN SMALL LETTER I WITH GRAVE
93 ("I2
" ?\e,2l\e(B) ; LATIN CAPITAL LETTER I WITH GRAVE
94 ("i1
" ?\e,1m\e(B) ; LATIN SMALL LETTER I WITH ACUTE
95 ("I1
" ?\e,2m\e(B) ; LATIN CAPITAL LETTER I WITH ACUTE
96 ("o2
" ?\e,1r\e(B) ; LATIN SMALL LETTER O WITH GRAVE
97 ("O2
" ?\e,2r\e(B) ; LATIN CAPITAL LETTER O WITH GRAVE
98 ("o1
" ?\e,1s\e(B) ; LATIN SMALL LETTER O WITH ACUTE
99 ("O1
" ?\e,2s\e(B) ; LATIN CAPITAL LETTER O WITH ACUTE
100 ("o6
" ?\e,1t\e(B) ; LATIN SMALL LETTER O WITH CIRCUMFLEX
101 ("O6
" ?\e,2t\e(B) ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
102 ("o4
" ?\e,1u\e(B) ; LATIN SMALL LETTER O WITH TILDE
103 ("O4
" ?\e,2u\e(B) ; LATIN CAPITAL LETTER O WITH TILDE
104 ("u2
" ?\e,1y\e(B) ; LATIN SMALL LETTER U WITH GRAVE
105 ("U2
" ?\e,2y\e(B) ; LATIN CAPITAL LETTER U WITH GRAVE
106 ("u1
" ?\e,1z\e(B) ; LATIN SMALL LETTER U WITH ACUTE
107 ("U1
" ?\e,2z\e(B) ; LATIN CAPITAL LETTER U WITH ACUTE
108 ("y1
" ?\e,1}\e(B) ; LATIN SMALL LETTER Y WITH ACUTE
109 ("Y1
" ?\e,2}\e(B) ; LATIN CAPITAL LETTER Y WITH ACUTE
110 ("a8
" ?\e,1e\e(B) ; LATIN SMALL LETTER A WITH BREVE
111 ("A8
" ?\e,2e\e(B) ; LATIN CAPITAL LETTER A WITH BREVE
112 ("i4
" ?\e,1n\e(B) ; LATIN SMALL LETTER I WITH TILDE
113 ("I4
" ?\e,2n\e(B) ; LATIN CAPITAL LETTER I WITH TILDE
114 ("u4
" ?\e,1{\e(B) ; LATIN SMALL LETTER U WITH TILDE
115 ("U4
" ?\e,2{\e(B) ; LATIN CAPITAL LETTER U WITH TILDE
116 ("o7
" ?\e,1=\e(B) ; LATIN SMALL LETTER O WITH HORN
117 ("O7
" ?\e,2=\e(B) ; LATIN CAPITAL LETTER O WITH HORN
118 ("u7
" ?\e,1_\e(B) ; LATIN SMALL LETTER U WITH HORN
119 ("U7
" ?\e,2_\e(B) ; LATIN CAPITAL LETTER U WITH HORN
120 ("a5
" ?\e,1U\e(B) ; LATIN SMALL LETTER A WITH DOT BELOW
121 ("A5
" ?\e,2U\e(B) ; LATIN CAPITAL LETTER A WITH DOT BELOW
122 ("a3
" ?\e,1d\e(B) ; LATIN SMALL LETTER A WITH HOOK ABOVE
123 ("A3
" ?\e,2d\e(B) ; LATIN CAPITAL LETTER A WITH HOOK ABOVE
124 ("a61
" ?\e,1$\e(B) ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
125 ("A61
" ?\e,2$\e(B) ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
126 ("a62
" ?\e,1%\e(B) ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
127 ("A62
" ?\e,2%\e(B) ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
128 ("a63
" ?\e,1&\e(B) ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND HO6K ABOVE
129 ("A63
" ?\e,2&\e(B) ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HO6K ABOVE
130 ("a64
" ?\e,1g\e(B) ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
131 ("A64
" ?\e,2g\e(B) ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
132 ("a65
" ?\e,1'\e(B) ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
133 ("A65
" ?\e,2'\e(B) ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
134 ("a81
" ?\e,1!\e(B) ; LATIN SMALL LETTER A WITH BREVE AND ACUTE
135 ("A81
" ?\e,2!\e(B) ; LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
136 ("a82
" ?\e,1"\e(B) ; LATIN SMALL LETTER A WITH BREVE AND GRAVE
137 ("A82" ?
\e,2"\e(B) ; LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
138 ("a83
" ?\e,1F\e(B) ; LATIN SMALL LETTER A WITH BREVE AND HO6K ABOVE
139 ("A83
" ?\e,2F\e(B) ; LATIN CAPITAL LETTER A WITH BREVE AND HO6K ABOVE
140 ("a84
" ?\e,1G\e(B) ; LATIN SMALL LETTER A WITH BREVE AND TILDE
141 ("A84
" ?\e,2G\e(B) ; LATIN CAPITAL LETTER A WITH BREVE AND TILDE
142 ("a85
" ?\e,1#\e(B) ; LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
143 ("A85
" ?\e,2#\e(B) ; LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
144 ("e5
" ?\e,1)\e(B) ; LATIN SMALL LETTER E WITH DOT BELOW
145 ("E5
" ?\e,2)\e(B) ; LATIN CAPITAL LETTER E WITH DOT BELOW
146 ("e3
" ?\e,1k\e(B) ; LATIN SMALL LETTER E WITH HO6K ABOVE
147 ("E3
" ?\e,2k\e(B) ; LATIN CAPITAL LETTER E WITH HO6K ABOVE
148 ("e4
" ?\e,1(\e(B) ; LATIN SMALL LETTER E WITH TILDE
149 ("E4
" ?\e,2(\e(B) ; LATIN CAPITAL LETTER E WITH TILDE
150 ("e61
" ?\e,1*\e(B) ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
151 ("E61
" ?\e,2*\e(B) ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
152 ("e62
" ?\e,1+\e(B) ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
153 ("E62
" ?\e,2+\e(B) ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
154 ("e63
" ?\e,1,\e(B) ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND HO6K ABOVE
155 ("E63
" ?\e,2,\e(B) ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HO6K ABOVE
156 ("e64
" ?\e,1-\e(B) ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
157 ("E64
" ?\e,2-\e(B) ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
158 ("e65
" ?\e,1.\e(B) ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
159 ("E65
" ?\e,2.\e(B) ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
160 ("i3
" ?\e,1o\e(B) ; LATIN SMALL LETTER I WITH HO6K ABOVE
161 ("I3
" ?\e,2o\e(B) ; LATIN CAPITAL LETTER I WITH HO6K ABOVE
162 ("i5
" ?\e,18\e(B) ; LATIN SMALL LETTER I WITH DOT BELOW
163 ("I5
" ?\e,28\e(B) ; LATIN CAPITAL LETTER I WITH DOT BELOW
164 ("o5
" ?\e,1w\e(B) ; LATIN SMALL LETTER O WITH DOT BELOW
165 ("O5
" ?\e,2w\e(B) ; LATIN CAPITAL LETTER O WITH DOT BELOW
166 ("o3
" ?\e,1v\e(B) ; LATIN SMALL LETTER O WITH HO6K ABOVE
167 ("O3
" ?\e,2v\e(B) ; LATIN CAPITAL LETTER O WITH HO6K ABOVE
168 ("o61
" ?\e,1/\e(B) ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
169 ("O61
" ?\e,2/\e(B) ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
170 ("o62
" ?\e,10\e(B) ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
171 ("O62
" ?\e,20\e(B) ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
172 ("o63
" ?\e,11\e(B) ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND HO6K ABOVE
173 ("O63
" ?\e,21\e(B) ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HO6K ABOVE
174 ("o64
" ?\e,12\e(B) ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
175 ("O64
" ?\e,22\e(B) ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
176 ("o65
" ?\e,15\e(B) ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELO7
177 ("O65
" ?\e,25\e(B) ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELO7
178 ("o71
" ?\e,1>\e(B) ; LATIN SMALL LETTER O WITH HORN AND ACUTE
179 ("O71
" ?\e,2>\e(B) ; LATIN CAPITAL LETTER O WITH HORN AND ACUTE
180 ("o72
" ?\e,16\e(B) ; LATIN SMALL LETTER O WITH HORN AND GRAVE
181 ("O72
" ?\e,26\e(B) ; LATIN CAPITAL LETTER O WITH HORN AND GRAVE
182 ("o73
" ?\e,17\e(B) ; LATIN SMALL LETTER O WITH HORN AND HO6K ABOVE
183 ("O73
" ?\e,27\e(B) ; LATIN CAPITAL LETTER O WITH HORN AND HO6K ABOVE
184 ("o74
" ?\e,1^\e(B) ; LATIN SMALL LETTER O WITH HORN AND TILDE
185 ("O74
" ?\e,2^\e(B) ; LATIN CAPITAL LETTER O WITH HORN AND TILDE
186 ("o75
" ?\e,1~\e(B) ; LATIN SMALL LETTER O WITH HORN AND DOT BELO7
187 ("O75
" ?\e,2~\e(B) ; LATIN CAPITAL LETTER O WITH HORN AND DOT BELO7
188 ("u5
" ?\e,1x\e(B) ; LATIN SMALL LETTER U WITH DOT BELO7
189 ("U5
" ?\e,2x\e(B) ; LATIN CAPITAL LETTER U WITH DOT BELO7
190 ("u3
" ?\e,1|\e(B) ; LATIN SMALL LETTER U WITH HO6K ABOVE
191 ("U3
" ?\e,2|\e(B) ; LATIN CAPITAL LETTER U WITH HO6K ABOVE
192 ("u71
" ?\e,1Q\e(B) ; LATIN SMALL LETTER U WITH HORN AND ACUTE
193 ("U71
" ?\e,2Q\e(B) ; LATIN CAPITAL LETTER U WITH HORN AND ACUTE
194 ("u72
" ?\e,1W\e(B) ; LATIN SMALL LETTER U WITH HORN AND GRAVE
195 ("U72
" ?\e,2W\e(B) ; LATIN CAPITAL LETTER U WITH HORN AND GRAVE
196 ("u73
" ?\e,1X\e(B) ; LATIN SMALL LETTER U WITH HORN AND HO6K ABOVE
197 ("U73
" ?\e,2X\e(B) ; LATIN CAPITAL LETTER U WITH HORN AND HO6K ABOVE
198 ("u74
" ?\e,1f\e(B) ; LATIN SMALL LETTER U WITH HORN AND TILDE
199 ("U74
" ?\e,2f\e(B) ; LATIN CAPITAL LETTER U WITH HORN AND TILDE
200 ("u75
" ?\e,1q\e(B) ; LATIN SMALL LETTER U WITH HORN AND DOT BELO7
201 ("U75
" ?\e,2q\e(B) ; LATIN CAPITAL LETTER U WITH HORN AND DOT BELO7
202 ("y2
" ?\e,1O\e(B) ; LATIN SMALL LETTER Y WITH GRAVE
203 ("Y2
" ?\e,2O\e(B) ; LATIN CAPITAL LETTER Y WITH GRAVE
204 ("y5
" ?\e,1\\e(B) ; LATIN SMALL LETTER Y WITH DOT BELO7
205 ("Y5
" ?\e,2\\e(B) ; LATIN CAPITAL LETTER Y WITH DOT BELO7
206 ("y3
" ?\e,1V\e(B) ; LATIN SMALL LETTER Y WITH HO6K ABOVE
207 ("Y3
" ?\e,2V\e(B) ; LATIN CAPITAL LETTER Y WITH HO6K ABOVE
208 ("y4
" ?\e,1[\e(B) ; LATIN SMALL LETTER Y WITH TILDE
209 ("Y4
" ?\e,2[\e(B) ; LATIN CAPITAL LETTER Y WITH TILDE
210 ("d9
" ?\e,1p\e(B) ; LATIN SMALL LETTER D WITH STROKE
211 ("D9
" ?\e,2p\e(B) ; LATIN CAPITAL LETTER D WITH STROKE
212 ;("$$
" ?\e$,1tK\e(B) ; U+20AB DONG SIGN (#### check)
290 ;; escape from composition
300 ("\\\\" ?\\)) ; literal backslash
304 ;; coding: iso-2022-7bit