Initial Commit
[packages] / mule-packages / egg-its / its-han-kata.el
1 ;; Basic Roma-to-HankakuKana (jisx0201) Translation Table for Egg
2
3 ;; This file is part of Egg on Mule (Japanese Environment)
4
5 ;; Egg is distributed in the forms of patches to GNU
6 ;; Emacs under the terms of the GNU EMACS GENERAL PUBLIC
7 ;; LICENSE which is distributed along with GNU Emacs by the
8 ;; Free Software Foundation.
9
10 ;; Egg is distributed in the hope that it will be useful,
11 ;; but WITHOUT ANY WARRANTY; without even the implied
12 ;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13 ;; PURPOSE.  See the GNU EMACS GENERAL PUBLIC LICENSE for
14 ;; more details.
15
16 ;; You should have received a copy of the GNU EMACS GENERAL
17 ;; PUBLIC LICENSE along with Nemacs; see the file COPYING.
18 ;; If not, write to the Free Software Foundation, 675 Mass
19 ;; Ave, Cambridge, MA 02139, USA.
20
21 ;;; 92.9.24  created for Mule Ver.0.9.6 by K.Shibata <shibata@sgi.co.jp>
22
23 (require 'egg-jisx0201)
24
25 (its-define-mode "roma-han-kata"  "\e(I1'\e(B" t)
26
27 (dolist (aa '("k" "s" "t" "h" "y" "r" "w" "g" "z" "d" "b"
28                  "p" "c" "f" "j" "v"))
29   (its-defrule (concat aa aa) "\e(I/\e(B" aa))
30
31 (its-defrule "tch"  "\e(I/\e(B" "ch")
32
33 (dolist (q1 '("b" "m" "p"))
34   (its-defrule (concat "m" q1) "\e(I]\e(B" q1))
35
36 (its-defrule "N" "\e(I]\e(B")
37
38 (defvar enable-double-n-syntax nil "*Enable \"nn\" input for \"\e(I]\e(B\"")
39
40 (its-defrule-conditional "n"
41   ((not enable-double-n-syntax) "\e(I]\e(B")
42   (t nil))
43 (its-defrule-conditional "nn"
44   ( enable-double-n-syntax "\e(I]\e(B")
45   (t nil))
46
47 (its-defrule "n'" "\e(I]\e(B")
48
49 (let ((small '"x" ))
50   (its-defrule (concat small "a") "\e(I'\e(B")
51   (its-defrule (concat small "i") "\e(I(\e(B")
52   (its-defrule (concat small "u") "\e(I)\e(B")
53   (its-defrule (concat small "e") "\e(I*\e(B")
54   (its-defrule (concat small "o") "\e(I+\e(B")
55   (its-defrule (concat small "ya") "\e(I,\e(B")
56   (its-defrule (concat small "yu") "\e(I-\e(B")
57   (its-defrule (concat small "yo") "\e(I.\e(B")
58   (its-defrule (concat small "tu") "\e(I/\e(B")
59   (its-defrule (concat small "tsu") "\e(I/\e(B")
60   )
61
62
63 (its-defrule   "a"    "\e(I1\e(B")
64 (its-defrule   "i"    "\e(I2\e(B")
65 (its-defrule   "u"    "\e(I3\e(B")
66 (its-defrule   "e"    "\e(I4\e(B")
67 (its-defrule   "o"    "\e(I5\e(B")
68 (its-defrule   "ka"   "\e(I6\e(B")
69 (its-defrule   "ki"   "\e(I7\e(B")
70 (its-defrule   "ku"   "\e(I8\e(B")
71 (its-defrule   "ke"   "\e(I9\e(B")
72 (its-defrule   "ko"   "\e(I:\e(B")
73 (its-defrule   "kya"  "\e(I7,\e(B")
74 (its-defrule   "kyu"  "\e(I7-\e(B")
75 (its-defrule   "kye"  "\e(I7*\e(B")
76 (its-defrule   "kyo"  "\e(I7.\e(B")
77 (its-defrule   "sa"   "\e(I;\e(B")
78 (its-defrule   "si"   "\e(I<\e(B")
79 (its-defrule   "su"   "\e(I=\e(B")
80 (its-defrule   "se"   "\e(I>\e(B")
81 (its-defrule   "so"   "\e(I?\e(B")
82 (its-defrule   "sya"  "\e(I<,\e(B")
83 (its-defrule   "syu"  "\e(I<-\e(B")
84 (its-defrule   "sye"  "\e(I<*\e(B")
85 (its-defrule   "syo"  "\e(I<.\e(B")
86 (its-defrule   "sha"  "\e(I<,\e(B")
87 (its-defrule   "shi"  "\e(I<\e(B")
88 (its-defrule   "shu"  "\e(I<-\e(B")
89 (its-defrule   "she"  "\e(I<*\e(B")
90 (its-defrule   "sho"  "\e(I<.\e(B")
91 (its-defrule   "ta"   "\e(I@\e(B")
92 (its-defrule   "ti"   "\e(IA\e(B")
93 (its-defrule   "tu"   "\e(IB\e(B")
94 (its-defrule   "te"   "\e(IC\e(B")
95 (its-defrule   "to"   "\e(ID\e(B")
96 (its-defrule   "tya"  "\e(IA,\e(B")
97 (its-defrule   "tyi"  "\e(IC(\e(B")
98 (its-defrule   "tyu"  "\e(IA-\e(B")
99 (its-defrule   "tye"  "\e(IA*\e(B")
100 (its-defrule   "tyo"  "\e(IA.\e(B")
101 (its-defrule   "tsu"  "\e(IB\e(B")
102 (its-defrule   "cha"  "\e(IA,\e(B")
103 (its-defrule   "chi"  "\e(IA\e(B")
104 (its-defrule   "chu"  "\e(IA-\e(B")
105 (its-defrule   "che"  "\e(IA*\e(B")
106 (its-defrule   "cho"  "\e(IA.\e(B")
107 (its-defrule   "na"   "\e(IE\e(B")
108 (its-defrule   "ni"   "\e(IF\e(B")
109 (its-defrule   "nu"   "\e(IG\e(B")
110 (its-defrule   "ne"   "\e(IH\e(B")
111 (its-defrule   "no"   "\e(II\e(B")
112 (its-defrule   "nya"  "\e(IF,\e(B")
113 (its-defrule   "nyu"  "\e(IF-\e(B")
114 (its-defrule   "nye"  "\e(IF*\e(B")
115 (its-defrule   "nyo"  "\e(IF.\e(B")
116 (its-defrule   "ha"   "\e(IJ\e(B")
117 (its-defrule   "hi"   "\e(IK\e(B")
118 (its-defrule   "hu"   "\e(IL\e(B")
119 (its-defrule   "he"   "\e(IM\e(B")
120 (its-defrule   "ho"   "\e(IN\e(B")
121 (its-defrule   "hya"  "\e(IK,\e(B")
122 (its-defrule   "hyu"  "\e(IK-\e(B")
123 (its-defrule   "hye"  "\e(IK*\e(B")
124 (its-defrule   "hyo"  "\e(IK.\e(B")
125 (its-defrule   "fa"   "\e(IL'\e(B")
126 (its-defrule   "fi"   "\e(IL(\e(B")
127 (its-defrule   "fu"   "\e(IL\e(B")
128 (its-defrule   "fe"   "\e(IL*\e(B")
129 (its-defrule   "fo"   "\e(IL+\e(B")
130 (its-defrule   "ma"   "\e(IO\e(B")
131 (its-defrule   "mi"   "\e(IP\e(B")
132 (its-defrule   "mu"   "\e(IQ\e(B")
133 (its-defrule   "me"   "\e(IR\e(B")
134 (its-defrule   "mo"   "\e(IS\e(B")
135 (its-defrule   "mya"  "\e(IP,\e(B")
136 (its-defrule   "myu"  "\e(IP-\e(B")
137 (its-defrule   "mye"  "\e(IP*\e(B")
138 (its-defrule   "myo"  "\e(IP.\e(B")
139 (its-defrule   "ya"   "\e(IT\e(B")
140 (its-defrule   "yi"   "\e(I2\e(B")
141 (its-defrule   "yu"   "\e(IU\e(B")
142 (its-defrule   "ye"   "\e(I2*\e(B")
143 (its-defrule   "yo"   "\e(IV\e(B")
144 (its-defrule   "ra"   "\e(IW\e(B")
145 (its-defrule   "ri"   "\e(IX\e(B")
146 (its-defrule   "ru"   "\e(IY\e(B")
147 (its-defrule   "re"   "\e(IZ\e(B")
148 (its-defrule   "ro"   "\e(I[\e(B")
149 (its-defrule   "la"   "\e(IW\e(B")
150 (its-defrule   "li"   "\e(IX\e(B")
151 (its-defrule   "lu"   "\e(IY\e(B")
152 (its-defrule   "le"   "\e(IZ\e(B")
153 (its-defrule   "lo"   "\e(I[\e(B")
154 (its-defrule   "rya"  "\e(IX,\e(B")
155 (its-defrule   "ryu"  "\e(IX-\e(B")
156 (its-defrule   "rye"  "\e(IX*\e(B")
157 (its-defrule   "ryo"  "\e(IX.\e(B")
158 (its-defrule   "lya"  "\e(IX,\e(B")
159 (its-defrule   "lyu"  "\e(IX-\e(B")
160 (its-defrule   "lye"  "\e(IX*\e(B")
161 (its-defrule   "lyo"  "\e(IX.\e(B")
162 (its-defrule   "wa"   "\e(I\\e(B")
163 (its-defrule   "wu"   "\e(I3\e(B")
164 (its-defrule   "wo"   "\e(I&\e(B")
165 (its-defrule   "ga"   "\e(I6^\e(B")
166 (its-defrule   "gi"   "\e(I7^\e(B")
167 (its-defrule   "gu"   "\e(I8^\e(B")
168 (its-defrule   "ge"   "\e(I9^\e(B")
169 (its-defrule   "go"   "\e(I:^\e(B")
170 (its-defrule   "gya"  "\e(I7^,\e(B")
171 (its-defrule   "gyu"  "\e(I7^-\e(B")
172 (its-defrule   "gye"  "\e(I7^*\e(B")
173 (its-defrule   "gyo"  "\e(I7^.\e(B")
174 (its-defrule   "za"   "\e(I;^\e(B")
175 (its-defrule   "zi"   "\e(I<^\e(B")
176 (its-defrule   "zu"   "\e(I=^\e(B")
177 (its-defrule   "ze"   "\e(I>^\e(B")
178 (its-defrule   "zo"   "\e(I?^\e(B")
179 (its-defrule   "zya"  "\e(I<^,\e(B")
180 (its-defrule   "zyu"  "\e(I<^-\e(B")
181 (its-defrule   "zye"  "\e(I<^*\e(B")
182 (its-defrule   "zyo"  "\e(I<^.\e(B")
183 (its-defrule   "ja"   "\e(I<^,\e(B")
184 (its-defrule   "ji"   "\e(I<^\e(B")
185 (its-defrule   "ju"   "\e(I<^-\e(B")
186 (its-defrule   "je"   "\e(I<^*\e(B")
187 (its-defrule   "jo"   "\e(I<^.\e(B")
188 (its-defrule   "da"   "\e(I@^\e(B")
189 (its-defrule   "di"   "\e(IA^\e(B")
190 (its-defrule   "du"   "\e(IB^\e(B")
191 (its-defrule   "de"   "\e(IC^\e(B")
192 (its-defrule   "do"   "\e(ID^\e(B")
193 (its-defrule   "dya"  "\e(IA^,\e(B")
194 (its-defrule   "dyi"  "\e(IA^(\e(B")
195 (its-defrule   "dyu"  "\e(IA^-\e(B")
196 (its-defrule   "dye"  "\e(IA^*\e(B")
197 (its-defrule   "dyo"  "\e(IA^.\e(B")
198 (its-defrule   "ba"   "\e(IJ^\e(B")
199 (its-defrule   "bi"   "\e(IK^\e(B")
200 (its-defrule   "bu"   "\e(IL^\e(B")
201 (its-defrule   "be"   "\e(IM^\e(B")
202 (its-defrule   "bo"   "\e(IN^\e(B")
203 (its-defrule   "va"   "\e(I3^'\e(B")
204 (its-defrule   "vi"   "\e(I3^(\e(B")
205 (its-defrule   "vu"   "\e(I3^\e(B")
206 (its-defrule   "ve"   "\e(I3^*\e(B")
207 (its-defrule   "vo"   "\e(I3^+\e(B")
208 (its-defrule   "bya"  "\e(IK^,\e(B")
209 (its-defrule   "byu"  "\e(IK^-\e(B")
210 (its-defrule   "bye"  "\e(IK^*\e(B")
211 (its-defrule   "byo"  "\e(IK^.\e(B")
212 (its-defrule   "pa"   "\e(IJ_\e(B")
213 (its-defrule   "pi"   "\e(IK_\e(B")
214 (its-defrule   "pu"   "\e(IL_\e(B")
215 (its-defrule   "pe"   "\e(IM_\e(B")
216 (its-defrule   "po"   "\e(IN_\e(B")
217 (its-defrule   "pya"  "\e(IK_,\e(B")
218 (its-defrule   "pyu"  "\e(IK_-\e(B")
219 (its-defrule   "pye"  "\e(IK_*\e(B")
220 (its-defrule   "pyo"  "\e(IK_.\e(B")
221 (its-defrule   "kwi"  "\e(I8(\e(B")
222 (its-defrule   "kwu"  "\e(I8\e(B")
223 (its-defrule   "kwe"  "\e(I8*\e(B")
224 (its-defrule   "kwo"  "\e(I8+\e(B")
225 (its-defrule   "gwi"  "\e(I8^(\e(B")
226 (its-defrule   "gwu"  "\e(I8^\e(B")
227 (its-defrule   "gwe"  "\e(I8^*\e(B")
228 (its-defrule   "gwo"  "\e(I8^+\e(B")
229 (its-defrule   "tsa"  "\e(IB'\e(B")
230 (its-defrule   "tsi"  "\e(IB(\e(B")
231 (its-defrule   "tse"  "\e(IB*\e(B")
232 (its-defrule   "tso"  "\e(IB+\e(B")
233 (its-defrule   "xka"  "\e(I6\e(B")
234 (its-defrule   "xke"  "\e(I9\e(B")
235 (its-defrule   "xti"  "\e(IC(\e(B")
236 (its-defrule   "xdi"  "\e(IA^(\e(B")
237 (its-defrule   "xdu"  "\e(ID^)\e(B")
238 (its-defrule   "xde"  "\e(IA^*\e(B")
239 (its-defrule   "xdo"  "\e(ID^+\e(B")
240 (its-defrule   "xwi"  "\e(I3(\e(B")
241 (its-defrule   "xwe"  "\e(I3*\e(B")
242 (its-defrule   "xwo"  "\e(I3+\e(B")
243
244 (its-defrule   "-"   "\e(I0\e(B")
245 (its-defrule   "["    "\e(I"\e(B")
246 (its-defrule   "]"    "\e(I#\e(B")
247 (its-defrule   "z/"   "\e(I%\e(B")
248
249 (defvar use-kuten-for-period t "*\e(IK_X5D^\e$B$r6gE@$KJQ49$9$k\e(B")
250 (defvar use-touten-for-comma t "*\e(I:]O\e$B$rFIE@$KJQ49$9$k\e(B")
251
252 (its-defrule-conditional "."
253   (use-kuten-for-period "\e(I!\e(B")
254   (t "."))
255
256 (its-defrule-conditional ","
257   (use-touten-for-comma "\e(I$\e(B")
258   (t ","))
259
260 (its-defrule (concat zenkaku-escape ",")  "\e$B!$\e(B")
261 (its-defrule (concat zenkaku-escape ".")  "\e$B!%\e(B")
262
263 (defun its:select-hankaku-katakana ()
264   (interactive)
265   (its:select-mode "roma-han-kata"))
266
267 (define-key mule-keymap "x" 'its:select-hankaku-katakana)
268 (define-key fence-mode-map "\e\C-x" 'its:select-hankaku-katakana)