1;;;
2;;; Copyright (c) 2003-2013 uim Project https://github.com/uim/uim
3;;;
4;;; All rights reserved.
5;;;
6;;; Redistribution and use in source and binary forms, with or without
7;;; modification, are permitted provided that the following conditions
8;;; are met:
9;;; 1. Redistributions of source code must retain the above copyright
10;;;    notice, this list of conditions and the following disclaimer.
11;;; 2. Redistributions in binary form must reproduce the above copyright
12;;;    notice, this list of conditions and the following disclaimer in the
13;;;    documentation and/or other materials provided with the distribution.
14;;; 3. Neither the name of authors nor the names of its contributors
15;;;    may be used to endorse or promote products derived from this software
16;;;    without specific prior written permission.
17;;;
18;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
19;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20;;; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21;;; ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
22;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24;;; OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26;;; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27;;; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28;;; SUCH DAMAGE.
29;;;;
30
31(require "generic.scm")
32
33(define viqr-rule
34  '(
35((("A" ))("A"))
36((("A" "'" ))("Á"))
37((("A" "(" ))("Ă"))
38((("A" "(" "'" ))("Ắ"))
39((("A" "(" "." ))("Ặ"))
40((("A" "(" "?" ))("Ẳ"))
41((("A" "(" "`" ))("Ằ"))
42((("A" "(" "~" ))("Ẵ"))
43((("A" "." ))("Ạ"))
44((("A" "?" ))("Ả"))
45((("A" "^" ))("Â"))
46((("A" "^" "'" ))("Ấ"))
47((("A" "^" "." ))("Ậ"))
48((("A" "^" "?" ))("Ẩ"))
49((("A" "^" "`" ))("Ầ"))
50((("A" "^" "~" ))("Ẫ"))
51((("A" "`" ))("À"))
52((("A" "~" ))("Ã"))
53((("D" ))("D"))
54((("D" "D" ))("Đ"))
55((("D" "d" ))("Đ"))
56((("E" ))("E"))
57((("E" "'" ))("É"))
58((("E" "." ))("Ẹ"))
59((("E" "?" ))("Ẻ"))
60((("E" "^" ))("Ê"))
61((("E" "^" "'" ))("Ế"))
62((("E" "^" "." ))("Ệ"))
63((("E" "^" "?" ))("Ể"))
64((("E" "^" "`" ))("Ề"))
65((("E" "^" "~" ))("Ễ"))
66((("E" "`" ))("È"))
67((("E" "~" ))("Ẽ"))
68((("I" ))("I"))
69((("I" "'" ))("Í"))
70((("I" "." ))("Ị"))
71((("I" "?" ))("Ỉ"))
72((("I" "`" ))("Ì"))
73((("I" "~" ))("Ĩ"))
74((("O" ))("O"))
75((("O" "'" ))("Ó"))
76((("O" "+" ))("Ơ"))
77((("O" "+" "'" ))("Ớ"))
78((("O" "+" "." ))("Ợ"))
79((("O" "+" "?" ))("Ở"))
80((("O" "+" "`" ))("Ờ"))
81((("O" "+" "~" ))("Ỡ"))
82((("O" "." ))("Ọ"))
83((("O" "?" ))("Ỏ"))
84((("O" "^" ))("Ô"))
85((("O" "^" "'" ))("Ố"))
86((("O" "^" "." ))("Ộ"))
87((("O" "^" "?" ))("Ổ"))
88((("O" "^" "`" ))("Ồ"))
89((("O" "^" "~" ))("Ỗ"))
90((("O" "`" ))("Ò"))
91((("O" "~" ))("Õ"))
92((("U" ))("U"))
93((("U" "'" ))("Ú"))
94((("U" "+" ))("Ư"))
95((("U" "+" "'" ))("Ứ"))
96((("U" "+" "." ))("Ự"))
97((("U" "+" "?" ))("Ử"))
98((("U" "+" "`" ))("Ừ"))
99((("U" "+" "~" ))("Ữ"))
100((("U" "." ))("Ụ"))
101((("U" "?" ))("Ủ"))
102((("U" "`" ))("Ù"))
103((("U" "~" ))("Ũ"))
104((("Y" ))("Y"))
105((("Y" "'" ))("Ý"))
106((("Y" "." ))("Ỵ"))
107((("Y" "?" ))("Ỷ"))
108((("Y" "`" ))("Ỳ"))
109((("Y" "~" ))("Ỹ"))
110((("\\" ))(""))
111((("\\" "'" ))("'"))
112((("\\" "(" ))("("))
113((("\\" "+" ))("+"))
114((("\\" "." ))("."))
115((("\\" "?" ))("?"))
116((("\\" "D" ))("D"))
117((("\\" "\\" ))("\\"))
118((("\\" "^" ))("^"))
119((("\\" "`" ))("`"))
120((("\\" "d" ))("d"))
121((("\\" "~" ))("~"))
122((("a" ))("a"))
123((("a" "'" ))("á"))
124((("a" "(" ))("ă"))
125((("a" "(" "'" ))("ắ"))
126((("a" "(" "." ))("ặ"))
127((("a" "(" "?" ))("ẳ"))
128((("a" "(" "`" ))("ằ"))
129((("a" "(" "~" ))("ẵ"))
130((("a" "." ))("ạ"))
131((("a" "?" ))("ả"))
132((("a" "^" ))("â"))
133((("a" "^" "'" ))("ấ"))
134((("a" "^" "." ))("ậ"))
135((("a" "^" "?" ))("ẩ"))
136((("a" "^" "`" ))("ầ"))
137((("a" "^" "~" ))("ẫ"))
138((("a" "`" ))("à"))
139((("a" "~" ))("ã"))
140((("d" ))("d"))
141((("d" "d" ))("đ"))
142((("e" ))("e"))
143((("e" "'" ))("é"))
144((("e" "." ))("ẹ"))
145((("e" "?" ))("ẻ"))
146((("e" "^" ))("ê"))
147((("e" "^" "'" ))("ế"))
148((("e" "^" "." ))("ệ"))
149((("e" "^" "?" ))("ể"))
150((("e" "^" "`" ))("ề"))
151((("e" "^" "~" ))("ễ"))
152((("e" "`" ))("è"))
153((("e" "~" ))("ẽ"))
154((("i" ))("i"))
155((("i" "'" ))("í"))
156((("i" "." ))("ị"))
157((("i" "?" ))("ỉ"))
158((("i" "`" ))("ì"))
159((("i" "~" ))("ĩ"))
160((("o" ))("o"))
161((("o" "'" ))("ó"))
162((("o" "+" ))("ơ"))
163((("o" "+" "'" ))("ớ"))
164((("o" "+" "." ))("ợ"))
165((("o" "+" "?" ))("ở"))
166((("o" "+" "`" ))("ờ"))
167((("o" "+" "~" ))("ỡ"))
168((("o" "." ))("ọ"))
169((("o" "?" ))("ỏ"))
170((("o" "^" ))("ô"))
171((("o" "^" "'" ))("ố"))
172((("o" "^" "." ))("ộ"))
173((("o" "^" "?" ))("ổ"))
174((("o" "^" "`" ))("ồ"))
175((("o" "^" "~" ))("ỗ"))
176((("o" "`" ))("ò"))
177((("o" "~" ))("õ"))
178((("u" ))("u"))
179((("u" "'" ))("ú"))
180((("u" "+" ))("ư"))
181((("u" "+" "'" ))("ứ"))
182((("u" "+" "." ))("ự"))
183((("u" "+" "?" ))("ử"))
184((("u" "+" "`" ))("ừ"))
185((("u" "+" "~" ))("ữ"))
186((("u" "." ))("ụ"))
187((("u" "?" ))("ủ"))
188((("u" "`" ))("ù"))
189((("u" "~" ))("ũ"))
190((("y" ))("y"))
191((("y" "'" ))("ý"))
192((("y" "." ))("ỵ"))
193((("y" "?" ))("ỷ"))
194((("y" "`" ))("ỳ"))
195((("y" "~" ))("ỹ"))))
196
197
198(define viqr-init-handler
199  (lambda (id im arg)
200    (generic-context-new id im viqr-rule #f)))
201
202(generic-register-im
203 'viqr
204 "vi"
205 "UTF-8"
206 (N_ "VIQR")
207 (N_ "VIetnamese Quoted-Readable")
208 viqr-init-handler)
209