1;;; viqr.el --- Quail packages for inputting Vietnamese with VIQR system  -*-coding: iso-2022-7bit;-*-
2
3;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
4;;   2006, 2007
5;;   National Institute of Advanced Industrial Science and Technology (AIST)
6;;   Registration Number H14PRO021
7
8;; Keywords: multilingual, input method, latin
9
10;; This file is part of GNU Emacs.
11
12;; GNU Emacs is free software; you can redistribute it and/or modify
13;; it under the terms of the GNU General Public License as published by
14;; the Free Software Foundation; either version 2, or (at your option)
15;; any later version.
16
17;; GNU Emacs is distributed in the hope that it will be useful,
18;; but WITHOUT ANY WARRANTY; without even the implied warranty of
19;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20;; GNU General Public License for more details.
21
22;; You should have received a copy of the GNU General Public License
23;; along with GNU Emacs; see the file COPYING.  If not, write to the
24;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
25;; Boston, MA 02110-1301, USA.
26
27;;; Commentary:
28
29;;; Code:
30
31(require 'quail)
32(require 'viet-util)
33
34;; `viet-viqr-alist' is an alist of Vietnamese characters vs
35;; corresponding VIQR strings.  We create Quail map which maps VIQR
36;; strings to corresponding Vietnamese characters.
37
38(defmacro viet-quail-define-rules ()
39  (cons 'quail-define-rules
40	(let ((l viet-viqr-alist)
41	      rules)
42	  (while l
43	    (setq rules (cons (list (cdr (car l)) (car (car l))) rules))
44	    (setq l (cdr l)))
45	  rules)))
46
47(quail-define-package
48 "vietnamese-viqr" "Vietnamese" "VQ" t
49 "Vietnamese input method with VIQR mnemonic system
50
51    effect   | postfix | examples
52 ------------+---------+----------
53    breve    |    (    | a( -> ,1e(B
54  circumflex |    ^    | a^ -> ,1b(B
55    horn     |    +    | o+ -> ,1=(B
56 ------------+---------+----------
57    acute    |    '    | a' -> ,1a(B
58    grave    |    `    | a` -> ,1`(B
59  hook above |    ?    | a? -> ,1d(B
60    tilde    |    ~    | a~ -> ,1c(B
61   dot below |    .    | a. -> ,1U(B
62 ------------+---------+----------
63    d bar    |   dd    | dd -> ,1p(B
64 ------------+---------+----------
65  no compose |    \\    | a\\. -> a.
66 ------------+---------+----------
67  combination|   (~    | a(~ -> ,1G(B
68" nil t t nil nil t nil nil nil nil t)
69
70
71(viet-quail-define-rules)
72
73;;; arch-tag: d2c29221-5a2e-46b2-898b-0e56bc4eb858
74;;; viqr.el ends here
75