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