]> git.eshelyaron.com Git - emacs.git/commitdiff
Add file missing from last commit.
authorNguyen Thai Ngoc Duy <pclouds@gmail.com>
Tue, 12 Jun 2012 04:36:00 +0000 (12:36 +0800)
committerChong Yidong <cyd@gnu.org>
Tue, 12 Jun 2012 04:36:00 +0000 (12:36 +0800)
leim/quail/vnvni.el [new file with mode: 0644]

diff --git a/leim/quail/vnvni.el b/leim/quail/vnvni.el
new file mode 100644 (file)
index 0000000..b5948a7
--- /dev/null
@@ -0,0 +1,305 @@
+;;; vnvni.el --- Quail package for Vietnamese by VNI method
+
+;; Copyright (C) 2001-2012  Free Software Foundation, Inc.
+
+;; Author:   Werner Lemberg <wl@gnu.org>
+;;           Nguyen Thai Ngoc Duy <pclouds@gmail.com>
+;; Keywords: multilingual, input method, Vietnamese
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; There are two commonly-used input methods for Vietnamese: Telex
+;; (implemented in vntelex.el) and VNI (implemented in this file,
+;; which was based on vntelex.el).
+
+;;; Code:
+
+(require 'quail)
+
+
+(quail-define-package
+ "vietnamese-vni"                ; NAME
+ "Vietnamese"                    ; LANGUAGE
+ "VV"                            ; TITLE
+ t                               ; GUIDANCE
+ "Vietnamese VNI input method
+
+Diacritics:
+
+  effect     postfix   examples
+  ------------------------------
+  circumflex    6      a6 -> \e,Ab\e(B
+  breve         8      a8 -> \e,1e\e(B
+  horn          7      o7 -> \e,1=\e(B
+
+  acute         1      a1 -> \e,1a\e(B
+  grave         2      a2 -> \e,1`\e(B
+  hook above    3      a3 -> \e,1d\e(B
+  tilde         4      a4 -> \e,1c\e(B
+  dot below     5      a5 -> \e,1U\e(B
+
+  d bar         9      d9 -> \e,1p\e(B
+
+Combinations:
+
+  A82 -> \e,2"\e(B, o74 -> \e,1^\e(B, etc.
+
+Doubling the postfix (but not in combinations) separates the letter
+and postfix: E66 -> E6, a55 -> a5, etc.
+"                                ; DOCSTRING
+ nil                             ; TRANSLATION-KEYS
+ t                               ; FORGET-LAST-SELECTION
+ nil                             ; DETERMINISTIC
+ nil                             ; KBD-TRANSLATE
+ nil                             ; SHOW-LAYOUT
+ nil                             ; CREATE-DECODE-MAP
+ nil                             ; MAXIMUM-SHORTEST
+ nil                             ; OVERLAY-PLIST
+ nil                             ; UPDATE-TRANSLATION-FUNCTION
+ nil                             ; CONVERSION-KEYS
+ t)                              ; SIMPLE
+
+(quail-define-rules
+ ("a2" ?\e,1`\e(B)       ; LATIN SMALL LETTER A WITH GRAVE
+ ("A2" ?\e,2`\e(B)       ; LATIN CAPITAL LETTER A WITH GRAVE
+ ("a1" ?\e,1a\e(B)       ; LATIN SMALL LETTER A WITH ACUTE
+ ("A1" ?\e,2a\e(B)       ; LATIN CAPITAL LETTER A WITH ACUTE
+ ("a6" ?\e,1b\e(B)       ; LATIN SMALL LETTER A WITH CIRCUMFLEX
+ ("A6" ?\e,2b\e(B)       ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ ("a4" ?\e,1c\e(B)       ; LATIN SMALL LETTER A WITH TILDE
+ ("A4" ?\e,2c\e(B)       ; LATIN CAPITAL LETTER A WITH TILDE
+ ("e2" ?\e,1h\e(B)       ; LATIN SMALL LETTER E WITH GRAVE
+ ("E2" ?\e,2h\e(B)       ; LATIN CAPITAL LETTER E WITH GRAVE
+ ("e1" ?\e,1i\e(B)       ; LATIN SMALL LETTER E WITH ACUTE
+ ("E1" ?\e,2i\e(B)       ; LATIN CAPITAL LETTER E WITH ACUTE
+ ("e6" ?\e,1j\e(B)       ; LATIN SMALL LETTER E WITH CIRCUMFLEX
+ ("E6" ?\e,2j\e(B)       ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ ("i2" ?\e,1l\e(B)       ; LATIN SMALL LETTER I WITH GRAVE
+ ("I2" ?\e,2l\e(B)       ; LATIN CAPITAL LETTER I WITH GRAVE
+ ("i1" ?\e,1m\e(B)       ; LATIN SMALL LETTER I WITH ACUTE
+ ("I1" ?\e,2m\e(B)       ; LATIN CAPITAL LETTER I WITH ACUTE
+ ("o2" ?\e,1r\e(B)       ; LATIN SMALL LETTER O WITH GRAVE
+ ("O2" ?\e,2r\e(B)       ; LATIN CAPITAL LETTER O WITH GRAVE
+ ("o1" ?\e,1s\e(B)       ; LATIN SMALL LETTER O WITH ACUTE
+ ("O1" ?\e,2s\e(B)       ; LATIN CAPITAL LETTER O WITH ACUTE
+ ("o6" ?\e,1t\e(B)       ; LATIN SMALL LETTER O WITH CIRCUMFLEX
+ ("O6" ?\e,2t\e(B)       ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ ("o4" ?\e,1u\e(B)       ; LATIN SMALL LETTER O WITH TILDE
+ ("O4" ?\e,2u\e(B)       ; LATIN CAPITAL LETTER O WITH TILDE
+ ("u2" ?\e,1y\e(B)       ; LATIN SMALL LETTER U WITH GRAVE
+ ("U2" ?\e,2y\e(B)       ; LATIN CAPITAL LETTER U WITH GRAVE
+ ("u1" ?\e,1z\e(B)       ; LATIN SMALL LETTER U WITH ACUTE
+ ("U1" ?\e,2z\e(B)       ; LATIN CAPITAL LETTER U WITH ACUTE
+ ("y1" ?\e,1}\e(B)       ; LATIN SMALL LETTER Y WITH ACUTE
+ ("Y1" ?\e,2}\e(B)       ; LATIN CAPITAL LETTER Y WITH ACUTE
+ ("a8" ?\e,1e\e(B)       ; LATIN SMALL LETTER A WITH BREVE
+ ("A8" ?\e,2e\e(B)       ; LATIN CAPITAL LETTER A WITH BREVE
+ ("i4" ?\e,1n\e(B)       ; LATIN SMALL LETTER I WITH TILDE
+ ("I4" ?\e,2n\e(B)       ; LATIN CAPITAL LETTER I WITH TILDE
+ ("u4" ?\e,1{\e(B)       ; LATIN SMALL LETTER U WITH TILDE
+ ("U4" ?\e,2{\e(B)       ; LATIN CAPITAL LETTER U WITH TILDE
+ ("o7" ?\e,1=\e(B)       ; LATIN SMALL LETTER O WITH HORN
+ ("O7" ?\e,2=\e(B)       ; LATIN CAPITAL LETTER O WITH HORN
+ ("u7" ?\e,1_\e(B)       ; LATIN SMALL LETTER U WITH HORN
+ ("U7" ?\e,2_\e(B)       ; LATIN CAPITAL LETTER U WITH HORN
+ ("a5" ?\e,1U\e(B)       ; LATIN SMALL LETTER A WITH DOT BELOW
+ ("A5" ?\e,2U\e(B)       ; LATIN CAPITAL LETTER A WITH DOT BELOW
+ ("a3" ?\e,1d\e(B)       ; LATIN SMALL LETTER A WITH HOOK ABOVE
+ ("A3" ?\e,2d\e(B)       ; LATIN CAPITAL LETTER A WITH HOOK ABOVE
+ ("a61" ?\e,1$\e(B)      ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+ ("A61" ?\e,2$\e(B)      ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+ ("a62" ?\e,1%\e(B)      ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+ ("A62" ?\e,2%\e(B)      ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+ ("a63" ?\e,1&\e(B)      ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND HO6K ABOVE
+ ("A63" ?\e,2&\e(B)      ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HO6K ABOVE
+ ("a64" ?\e,1g\e(B)      ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+ ("A64" ?\e,2g\e(B)      ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+ ("a65" ?\e,1'\e(B)      ; LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+ ("A65" ?\e,2'\e(B)      ; LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+ ("a81" ?\e,1!\e(B)      ; LATIN SMALL LETTER A WITH BREVE AND ACUTE
+ ("A81" ?\e,2!\e(B)      ; LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+ ("a82" ?\e,1"\e(B)      ; LATIN SMALL LETTER A WITH BREVE AND GRAVE
+ ("A82" ?\e,2"\e(B)      ; LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+ ("a83" ?\e,1F\e(B)      ; LATIN SMALL LETTER A WITH BREVE AND HO6K ABOVE
+ ("A83" ?\e,2F\e(B)      ; LATIN CAPITAL LETTER A WITH BREVE AND HO6K ABOVE
+ ("a84" ?\e,1G\e(B)      ; LATIN SMALL LETTER A WITH BREVE AND TILDE
+ ("A84" ?\e,2G\e(B)      ; LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+ ("a85" ?\e,1#\e(B)      ; LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+ ("A85" ?\e,2#\e(B)      ; LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+ ("e5" ?\e,1)\e(B)       ; LATIN SMALL LETTER E WITH DOT BELOW
+ ("E5" ?\e,2)\e(B)       ; LATIN CAPITAL LETTER E WITH DOT BELOW
+ ("e3" ?\e,1k\e(B)       ; LATIN SMALL LETTER E WITH HO6K ABOVE
+ ("E3" ?\e,2k\e(B)       ; LATIN CAPITAL LETTER E WITH HO6K ABOVE
+ ("e4" ?\e,1(\e(B)       ; LATIN SMALL LETTER E WITH TILDE
+ ("E4" ?\e,2(\e(B)       ; LATIN CAPITAL LETTER E WITH TILDE
+ ("e61" ?\e,1*\e(B)      ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+ ("E61" ?\e,2*\e(B)      ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+ ("e62" ?\e,1+\e(B)      ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+ ("E62" ?\e,2+\e(B)      ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+ ("e63" ?\e,1,\e(B)      ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND HO6K ABOVE
+ ("E63" ?\e,2,\e(B)      ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HO6K ABOVE
+ ("e64" ?\e,1-\e(B)      ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+ ("E64" ?\e,2-\e(B)      ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+ ("e65" ?\e,1.\e(B)      ; LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+ ("E65" ?\e,2.\e(B)      ; LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+ ("i3" ?\e,1o\e(B)       ; LATIN SMALL LETTER I WITH HO6K ABOVE
+ ("I3" ?\e,2o\e(B)       ; LATIN CAPITAL LETTER I WITH HO6K ABOVE
+ ("i5" ?\e,18\e(B)       ; LATIN SMALL LETTER I WITH DOT BELOW
+ ("I5" ?\e,28\e(B)       ; LATIN CAPITAL LETTER I WITH DOT BELOW
+ ("o5" ?\e,1w\e(B)       ; LATIN SMALL LETTER O WITH DOT BELOW
+ ("O5" ?\e,2w\e(B)       ; LATIN CAPITAL LETTER O WITH DOT BELOW
+ ("o3" ?\e,1v\e(B)       ; LATIN SMALL LETTER O WITH HO6K ABOVE
+ ("O3" ?\e,2v\e(B)       ; LATIN CAPITAL LETTER O WITH HO6K ABOVE
+ ("o61" ?\e,1/\e(B)      ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+ ("O61" ?\e,2/\e(B)      ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+ ("o62" ?\e,10\e(B)      ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+ ("O62" ?\e,20\e(B)      ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+ ("o63" ?\e,11\e(B)      ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND HO6K ABOVE
+ ("O63" ?\e,21\e(B)      ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HO6K ABOVE
+ ("o64" ?\e,12\e(B)      ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+ ("O64" ?\e,22\e(B)      ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+ ("o65" ?\e,15\e(B)      ; LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELO7
+ ("O65" ?\e,25\e(B)      ; LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELO7
+ ("o71" ?\e,1>\e(B)      ; LATIN SMALL LETTER O WITH HORN AND ACUTE
+ ("O71" ?\e,2>\e(B)      ; LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+ ("o72" ?\e,16\e(B)      ; LATIN SMALL LETTER O WITH HORN AND GRAVE
+ ("O72" ?\e,26\e(B)      ; LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+ ("o73" ?\e,17\e(B)      ; LATIN SMALL LETTER O WITH HORN AND HO6K ABOVE
+ ("O73" ?\e,27\e(B)      ; LATIN CAPITAL LETTER O WITH HORN AND HO6K ABOVE
+ ("o74" ?\e,1^\e(B)      ; LATIN SMALL LETTER O WITH HORN AND TILDE
+ ("O74" ?\e,2^\e(B)      ; LATIN CAPITAL LETTER O WITH HORN AND TILDE
+ ("o75" ?\e,1~\e(B)      ; LATIN SMALL LETTER O WITH HORN AND DOT BELO7
+ ("O75" ?\e,2~\e(B)      ; LATIN CAPITAL LETTER O WITH HORN AND DOT BELO7
+ ("u5" ?\e,1x\e(B)       ; LATIN SMALL LETTER U WITH DOT BELO7
+ ("U5" ?\e,2x\e(B)       ; LATIN CAPITAL LETTER U WITH DOT BELO7
+ ("u3" ?\e,1|\e(B)       ; LATIN SMALL LETTER U WITH HO6K ABOVE
+ ("U3" ?\e,2|\e(B)       ; LATIN CAPITAL LETTER U WITH HO6K ABOVE
+ ("u71" ?\e,1Q\e(B)      ; LATIN SMALL LETTER U WITH HORN AND ACUTE
+ ("U71" ?\e,2Q\e(B)      ; LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+ ("u72" ?\e,1W\e(B)      ; LATIN SMALL LETTER U WITH HORN AND GRAVE
+ ("U72" ?\e,2W\e(B)      ; LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+ ("u73" ?\e,1X\e(B)      ; LATIN SMALL LETTER U WITH HORN AND HO6K ABOVE
+ ("U73" ?\e,2X\e(B)      ; LATIN CAPITAL LETTER U WITH HORN AND HO6K ABOVE
+ ("u74" ?\e,1f\e(B)      ; LATIN SMALL LETTER U WITH HORN AND TILDE
+ ("U74" ?\e,2f\e(B)      ; LATIN CAPITAL LETTER U WITH HORN AND TILDE
+ ("u75" ?\e,1q\e(B)      ; LATIN SMALL LETTER U WITH HORN AND DOT BELO7
+ ("U75" ?\e,2q\e(B)      ; LATIN CAPITAL LETTER U WITH HORN AND DOT BELO7
+ ("y2" ?\e,1O\e(B)       ; LATIN SMALL LETTER Y WITH GRAVE
+ ("Y2" ?\e,2O\e(B)       ; LATIN CAPITAL LETTER Y WITH GRAVE
+ ("y5" ?\e,1\\e(B)       ; LATIN SMALL LETTER Y WITH DOT BELO7
+ ("Y5" ?\e,2\\e(B)       ; LATIN CAPITAL LETTER Y WITH DOT BELO7
+ ("y3" ?\e,1V\e(B)       ; LATIN SMALL LETTER Y WITH HO6K ABOVE
+ ("Y3" ?\e,2V\e(B)       ; LATIN CAPITAL LETTER Y WITH HO6K ABOVE
+ ("y4" ?\e,1[\e(B)       ; LATIN SMALL LETTER Y WITH TILDE
+ ("Y4" ?\e,2[\e(B)       ; LATIN CAPITAL LETTER Y WITH TILDE
+ ("d9" ?\e,1p\e(B)       ; LATIN SMALL LETTER D WITH STROKE
+ ("D9" ?\e,2p\e(B)       ; LATIN CAPITAL LETTER D WITH STROKE
+;("$$" ?\e$,1tK\e(B)     ; U+20AB DONG SIGN (#### check)
+
+ ("a22" ["a22"])
+ ("A22" ["A2"])
+ ("a11" ["a1"])
+ ("A11" ["A1"])
+ ("a66"' ["a6"])
+ ("A66"' ["A6"])
+ ("a44" ["a4"])
+ ("A44" ["A4"])
+ ("e22" ["e2"])
+ ("E22" ["E2"])
+ ("e11" ["e1"])
+ ("E11" ["E1"])
+ ("e66" ["e6"])
+ ("E66" ["E6"])
+ ("i22" ["i2"])
+ ("I22" ["I2"])
+ ("i11" ["i1"])
+ ("I11" ["I1"])
+ ("o22" ["o2"])
+ ("O22" ["O2"])
+ ("o11" ["o1"])
+ ("O11" ["O1"])
+ ("o66" ["o6"])
+ ("O66" ["O6"])
+ ("o44" ["o4"])
+ ("O44" ["O4"])
+ ("u22" ["u2"])
+ ("U22" ["U2"])
+ ("u11" ["u1"])
+ ("U11" ["U1"])
+ ("y11" ["y1"])
+ ("Y11" ["Y1"])
+ ("a88" ["a8"])
+ ("A88" ["A8"])
+ ("i44" ["i4"])
+ ("I44" ["I4"])
+ ("u44" ["u4"])
+ ("U44" ["u4"])
+ ("o77" ["o7"])
+ ("O77" ["O7"])
+ ("u77" ["u7"])
+ ("U77" ["U7"])
+ ("a55" ["a5"])
+ ("A55" ["A5"])
+ ("a33" ["a3"])
+ ("A33" ["A3"])
+ ("e55" ["e5"])
+ ("E55" ["E5"])
+ ("e33" ["e3"])
+ ("E33" ["E3"])
+ ("e44" ["e4"])
+ ("E44" ["E4"])
+ ("i33" ["i3"])
+ ("I33" ["I3"])
+ ("i55" ["i5"])
+ ("I55" ["I5"])
+ ("o55" ["o5"])
+ ("O55" ["O5"])
+ ("o33" ["o3"])
+ ("O33" ["O3"])
+ ("u55" ["u5"])
+ ("U55" ["U5"])
+ ("u33" ["u3"])
+ ("U33" ["U3"])
+ ("y22" ["y2"])
+ ("Y22" ["Y2"])
+ ("y55" ["y5"])
+ ("Y55" ["Y5"])
+ ("y33" ["y3"])
+ ("Y33" ["Y3"])
+ ("y44" ["y4"])
+ ("Y44" ["Y4"])
+ ("d9"  ["d9"])
+ ("D99" ["D9"])
+;("$$$" ["$$"])
+
+ ;; escape from composition
+ ("\\1" ?1)
+ ("\\2" ?2)
+ ("\\3" ?3)
+ ("\\4" ?4)
+ ("\\5" ?5)
+ ("\\6" ?6)
+ ("\\7" ?7)
+ ("\\8" ?8)
+ ("\\9" ?9)
+ ("\\\\" ?\\)) ; literal backslash
+
+
+;; Local Variables:
+;; coding: iso-2022-7bit
+;; End: