Trailing whitespace deleted.
[bpt/emacs.git] / leim / quail / cyrillic.el
1 ;;; cyrillic.el --- Quail package for inputting Cyrillic characters
2
3 ;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
4 ;; Licensed to the Free Software Foundation.
5 ;; Copyright (C) 2001, 2002 Free Software Foundation, Inc.
6
7 ;; Author: TAKAHASHI Naoto <ntakahas@m17n.org>
8 ;; Keywords: multilingual, input method, Cyrillic, i18n
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., 59 Temple Place - Suite 330,
25 ;; Boston, MA 02111-1307, USA.
26
27 ;;; Commentary:
28
29 ;; These methods use a mixture of 8859-5 and Unicode. Quail, used
30 ;; with ucs-tables provides suport for translating on the fly to
31 ;; what's appropriate for aa buffer's file coding system, so the
32 ;; encoding shouldn't matter too much provided it supports the
33 ;; necessary characters.
34
35 ;;; Code:
36
37 (require 'quail)
38
39 ;; This was `cyrillic-jcuken'. Alexander Mikhailian
40 ;; <mikhailian@altern.org> says: "cyrillic-jcuken" is actually
41 ;; russian. It is ok but a bit outdated. This layout has been used
42 ;; in typewriters for ages but it has been superceeded on desktops by
43 ;; a variation of this layout, implemented in M$ Windows software.
44 ;; The Windows layout is greatly preferred because of the comma and
45 ;; period being placed more conviniently and, of course, because of
46 ;; the popularity of Windows software. This layout is a common option
47 ;; in X Windows and console layouts for GNU/Linux. [See
48 ;; `russian-computer' below.]
49 (quail-define-package
50 "russian-typewriter" "Russian" "\e,L69\e(B" nil
51 "\e,L9FC:5=\e(B Russian typewriter layout (ISO 8859-5 encoding)."
52 nil t t t t nil nil nil nil nil t)
53
54 ;; 1! 2" 3' 4* 5: 6, 7. 8; 9( 0) -_ =+ \e,L!\e(B
55 ;; \e,L9\e(B \e,LF\e(B \e,LC\e(B \e,L:\e(B \e,L5\e(B \e,L=\e(B \e,L3\e(B \e,LH\e(B \e,LI\e(B \e,L7\e(B \e,LE\e(B \e,Lj\e(B
56 ;; \e,LD\e(B \e,LK\e(B \e,L2\e(B \e,L0\e(B \e,L?\e(B \e,L@\e(B \e,L>\e(B \e,L;\e(B \e,L4\e(B \e,L6\e(B \e,LM\e(B
57 ;; \e,LO\e(B \e,LG\e(B \e,LA\e(B \e,L<\e(B \e,L8\e(B \e,LB\e(B \e,LL\e(B \e,L1\e(B \e,LN\e(B /?
58
59 (quail-define-rules
60 ("1" ?1)
61 ("2" ?2)
62 ("3" ?3)
63 ("4" ?4)
64 ("5" ?5)
65 ("6" ?6)
66 ("7" ?7)
67 ("8" ?8)
68 ("9" ?9)
69 ("0" ?0)
70 ("-" ?-)
71 ("=" ?=)
72 ("`" ?\e,Lq\e(B)
73 ("q" ?\e,LY\e(B)
74 ("w" ?\e,Lf\e(B)
75 ("e" ?\e,Lc\e(B)
76 ("r" ?\e,LZ\e(B)
77 ("t" ?\e,LU\e(B)
78 ("y" ?\e,L]\e(B)
79 ("u" ?\e,LS\e(B)
80 ("i" ?\e,Lh\e(B)
81 ("o" ?\e,Li\e(B)
82 ("p" ?\e,LW\e(B)
83 ("[" ?\e,Le\e(B)
84 ("]" ?\e,Lj\e(B)
85 ("a" ?\e,Ld\e(B)
86 ("s" ?\e,Lk\e(B)
87 ("d" ?\e,LR\e(B)
88 ("f" ?\e,LP\e(B)
89 ("g" ?\e,L_\e(B)
90 ("h" ?\e,L`\e(B)
91 ("j" ?\e,L^\e(B)
92 ("k" ?\e,L[\e(B)
93 ("l" ?\e,LT\e(B)
94 (";" ?\e,LV\e(B)
95 ("'" ?\e,Lm\e(B)
96 ("\\" ?\\)
97 ("z" ?\e,Lo\e(B)
98 ("x" ?\e,Lg\e(B)
99 ("c" ?\e,La\e(B)
100 ("v" ?\e,L\\e(B)
101 ("b" ?\e,LX\e(B)
102 ("n" ?\e,Lb\e(B)
103 ("m" ?\e,Ll\e(B)
104 ("," ?\e,LQ\e(B)
105 ("." ?\e,Ln\e(B)
106 ("/" ?/)
107
108 ("!" ?!)
109 ("@" ?\")
110 ("#" ?')
111 ("$" ?*)
112 ("%" ?:)
113 ("^" ?,)
114 ("&" ?.)
115 ("*" ?\;)
116 ("(" ?\()
117 (")" ?\))
118 ("_" ?_)
119 ("+" ?+)
120 ("~" ?\e,L!\e(B)
121 ("Q" ?\e,L9\e(B)
122 ("W" ?\e,LF\e(B)
123 ("E" ?\e,LC\e(B)
124 ("R" ?\e,L:\e(B)
125 ("T" ?\e,L5\e(B)
126 ("Y" ?\e,L=\e(B)
127 ("U" ?\e,L3\e(B)
128 ("I" ?\e,LH\e(B)
129 ("O" ?\e,LI\e(B)
130 ("P" ?\e,L7\e(B)
131 ("{" ?\e,LE\e(B)
132 ("}" ?\e,LJ\e(B)
133 ("A" ?\e,LD\e(B)
134 ("S" ?\e,LK\e(B)
135 ("D" ?\e,L2\e(B)
136 ("F" ?\e,L0\e(B)
137 ("G" ?\e,L?\e(B)
138 ("H" ?\e,L@\e(B)
139 ("J" ?\e,L>\e(B)
140 ("K" ?\e,L;\e(B)
141 ("L" ?\e,L4\e(B)
142 (":" ?\e,L6\e(B)
143 ("\"" ?\e,LM\e(B)
144 ("|" ?|)
145 ("Z" ?\e,LO\e(B)
146 ("X" ?\e,LG\e(B)
147 ("C" ?\e,LA\e(B)
148 ("V" ?\e,L<\e(B)
149 ("B" ?\e,L8\e(B)
150 ("N" ?\e,LB\e(B)
151 ("M" ?\e,LL\e(B)
152 ("<" ?\e,L1\e(B)
153 (">" ?\e,LN\e(B)
154 ("?" ??)
155 )
156
157 ;; Maintain the obsolete name for now.
158 (push (cons "cyrillic-jcuken"
159 (cdr (assoc "russian-typewriter" input-method-alist)))
160 input-method-alist)
161
162 ;; See comment above. This is the variant `winkeys' from `ru' in XKB.
163 (quail-define-package
164 "russian-computer" "Russian" "RU" nil
165 "\e,L9FC:5=\e(B Russian computer layout"
166 nil t t t t nil nil nil nil nil t)
167
168 ;; 1! 2" 3\e,Lp\e(B 4; 5% 6: 7? 8* 9( 0) -_ =+ \e,Lq!\e(B
169 ;; \e,L9\e(B \e,LF\e(B \e,LC\e(B \e,L:\e(B \e,L5\e(B \e,L=\e(B \e,L3\e(B \e,LH\e(B \e,LI\e(B \e,L7\e(B \e,LE\e(B \e,Lj\e(B
170 ;; \e,LD\e(B \e,LK\e(B \e,L2\e(B \e,L0\e(B \e,L?\e(B \e,L@\e(B \e,L>\e(B \e,L;\e(B \e,L4\e(B \e,L6\e(B \e,LM\e(B
171 ;; \e,LO\e(B \e,LG\e(B \e,LA\e(B \e,L<\e(B \e,L8\e(B \e,LB\e(B \e,LL\e(B \e,L1\e(B \e,LN\e(B .,
172
173 (quail-define-rules
174 ("1" ?1)
175 ("2" ?2)
176 ("3" ?3)
177 ("4" ?4)
178 ("5" ?5)
179 ("6" ?6)
180 ("7" ?7)
181 ("8" ?8)
182 ("9" ?9)
183 ("0" ?0)
184 ("-" ?-)
185 ("=" ?=)
186 ("`" ?\e,Lq\e(B)
187 ("q" ?\e,LY\e(B)
188 ("w" ?\e,Lf\e(B)
189 ("e" ?\e,Lc\e(B)
190 ("r" ?\e,LZ\e(B)
191 ("t" ?\e,LU\e(B)
192 ("y" ?\e,L]\e(B)
193 ("u" ?\e,LS\e(B)
194 ("i" ?\e,Lh\e(B)
195 ("o" ?\e,Li\e(B)
196 ("p" ?\e,LW\e(B)
197 ("[" ?\e,Le\e(B)
198 ("]" ?\e,Lj\e(B)
199 ("a" ?\e,Ld\e(B)
200 ("s" ?\e,Lk\e(B)
201 ("d" ?\e,LR\e(B)
202 ("f" ?\e,LP\e(B)
203 ("g" ?\e,L_\e(B)
204 ("h" ?\e,L`\e(B)
205 ("j" ?\e,L^\e(B)
206 ("k" ?\e,L[\e(B)
207 ("l" ?\e,LT\e(B)
208 (";" ?\e,LV\e(B)
209 ("'" ?\e,Lm\e(B)
210 ("\\" ?\\)
211 ("z" ?\e,Lo\e(B)
212 ("x" ?\e,Lg\e(B)
213 ("c" ?\e,La\e(B)
214 ("v" ?\e,L\\e(B)
215 ("b" ?\e,LX\e(B)
216 ("n" ?\e,Lb\e(B)
217 ("m" ?\e,Ll\e(B)
218 ("," ?\e,LQ\e(B)
219 ("." ?\e,Ln\e(B)
220 ("/" ?.)
221 ("!" ?!)
222 ("@" ?\")
223 ("#" ?\e,Lp\e(B)
224 ("$" ?\;)
225 ("%" ?%)
226 ("^" ?:)
227 ("&" ??)
228 ("*" ?*)
229 ("(" ?()
230 (")" ?))
231 ("_" ?_)
232 ("+" ?+)
233 ("~" ?\e,L!\e(B)
234 ("Q" ?\e,L9\e(B)
235 ("W" ?\e,LF\e(B)
236 ("E" ?\e,LC\e(B)
237 ("R" ?\e,L:\e(B)
238 ("T" ?\e,L5\e(B)
239 ("Y" ?\e,L=\e(B)
240 ("U" ?\e,L3\e(B)
241 ("I" ?\e,LH\e(B)
242 ("O" ?\e,LI\e(B)
243 ("P" ?\e,L7\e(B)
244 ("{" ?\e,LE\e(B)
245 ("}" ?\e,LJ\e(B)
246 ("A" ?\e,LD\e(B)
247 ("S" ?\e,LK\e(B)
248 ("D" ?\e,L2\e(B)
249 ("F" ?\e,L0\e(B)
250 ("G" ?\e,L?\e(B)
251 ("H" ?\e,L@\e(B)
252 ("J" ?\e,L>\e(B)
253 ("K" ?\e,L;\e(B)
254 ("L" ?\e,L4\e(B)
255 (":" ?\e,L6\e(B)
256 ("\"" ?\e,LM\e(B)
257 ("|" ?|)
258 ("Z" ?\e,LO\e(B)
259 ("X" ?\e,LG\e(B)
260 ("C" ?\e,LA\e(B)
261 ("V" ?\e,L<\e(B)
262 ("B" ?\e,L8\e(B)
263 ("N" ?\e,LB\e(B)
264 ("M" ?\e,LL\e(B)
265 ("<" ?\e,L1\e(B)
266 (">" ?\e,LN\e(B)
267 ("?" ?,))
268
269 ;; Mikhailian couldn't check the next two.
270
271 ;; This seems to have the same layout for letters as mk in XKB, but at
272 ;; least the top row is different.
273 (quail-define-package
274 "cyrillic-macedonian" "Cyrillic" "\e,L6\e(BM" nil
275 "\e,L)*5@B7\e(B-\e,L#,\e(B keyboard layout based on JUS.I.K1.004 (ISO 8859-5 encoding)"
276 nil t t t t nil nil nil nil nil t)
277
278 ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
279 ;; \e,L)\e(B \e,L*\e(B \e,L5\e(B \e,L@\e(B \e,LB\e(B \e,L7\e(B \e,LC\e(B \e,L8\e(B \e,L>\e(B \e,L?\e(B \e,LH\e(B \e,L#\e(B
280 ;; \e,L0\e(B \e,LA\e(B \e,L4\e(B \e,LD\e(B \e,L3\e(B \e,LE\e(B \e,L(\e(B \e,L:\e(B \e,L;\e(B \e,LG\e(B \e,L,\e(B \e,L6\e(B
281 ;; \e,L%\e(B \e,L/\e(B \e,LF\e(B \e,L2\e(B \e,L1\e(B \e,L=\e(B \e,L<\e(B ,; .: -_
282
283 (quail-define-rules
284 ("1" ?1)
285 ("2" ?2)
286 ("3" ?3)
287 ("4" ?4)
288 ("5" ?5)
289 ("6" ?6)
290 ("7" ?7)
291 ("8" ?8)
292 ("9" ?9)
293 ("0" ?0)
294 ("-" ?/)
295 ("=" ?+)
296 ("`" ?<)
297 ("q" ?\e,Ly\e(B)
298 ("w" ?\e,Lz\e(B)
299 ("e" ?\e,LU\e(B)
300 ("r" ?\e,L`\e(B)
301 ("t" ?\e,Lb\e(B)
302 ("y" ?\e,LW\e(B)
303 ("u" ?\e,Lc\e(B)
304 ("i" ?\e,LX\e(B)
305 ("o" ?\e,L^\e(B)
306 ("p" ?\e,L_\e(B)
307 ("[" ?\e,Lh\e(B)
308 ("]" ?\e,Ls\e(B)
309 ("a" ?\e,LP\e(B)
310 ("s" ?\e,La\e(B)
311 ("d" ?\e,LT\e(B)
312 ("f" ?\e,Ld\e(B)
313 ("g" ?\e,LS\e(B)
314 ("h" ?\e,Le\e(B)
315 ("j" ?\e,Lx\e(B)
316 ("k" ?\e,LZ\e(B)
317 ("l" ?\e,L[\e(B)
318 (";" ?\e,Lg\e(B)
319 ("'" ?\e,L|\e(B)
320 ("\\" ?\e,LV\e(B)
321 ("z" ?\e,Lu\e(B)
322 ("x" ?\e,L\7f\e(B)
323 ("c" ?\e,Lf\e(B)
324 ("v" ?\e,LR\e(B)
325 ("b" ?\e,LQ\e(B)
326 ("n" ?\e,L]\e(B)
327 ("m" ?\e,L\\e(B)
328 ("," ?,)
329 ("." ?.)
330 ("/" ?-)
331
332 ("!" ?!)
333 ("@" ?\")
334 ("#" ?#)
335 ("$" ?$)
336 ("%" ?%)
337 ("^" ?&)
338 ("&" ?')
339 ("*" ?\()
340 ("(" ?\))
341 (")" ?=)
342 ("_" ??)
343 ("+" ?*)
344 ("~" ?>)
345 ("Q" ?\e,L)\e(B)
346 ("W" ?\e,L*\e(B)
347 ("E" ?\e,L5\e(B)
348 ("R" ?\e,L@\e(B)
349 ("T" ?\e,LB\e(B)
350 ("Y" ?\e,L7\e(B)
351 ("U" ?\e,LC\e(B)
352 ("I" ?\e,L8\e(B)
353 ("O" ?\e,L>\e(B)
354 ("P" ?\e,L?\e(B)
355 ("{" ?\e,LH\e(B)
356 ("}" ?\e,L#\e(B)
357 ("A" ?\e,L0\e(B)
358 ("S" ?\e,LA\e(B)
359 ("D" ?\e,L4\e(B)
360 ("F" ?\e,LD\e(B)
361 ("G" ?\e,L3\e(B)
362 ("H" ?\e,LE\e(B)
363 ("J" ?\e,L(\e(B)
364 ("K" ?\e,L:\e(B)
365 ("L" ?\e,L;\e(B)
366 (":" ?\e,LG\e(B)
367 ("\"" ?\e,L,\e(B)
368 ("|" ?\e,L6\e(B)
369 ("Z" ?\e,L%\e(B)
370 ("X" ?\e,L/\e(B)
371 ("C" ?\e,LF\e(B)
372 ("V" ?\e,L2\e(B)
373 ("B" ?\e,L1\e(B)
374 ("N" ?\e,L=\e(B)
375 ("M" ?\e,L<\e(B)
376 ("<" ?\;)
377 (">" ?:)
378 ("?" ?_))
379
380 ;;
381
382 (quail-define-package
383 "cyrillic-serbian" "Cyrillic" "\e,L6\e(BS" nil
384 "\e,L)*5@B7\e(B-\e,L"+\e(B keyboard layout based on JUS.I.K1.005 (ISO 8859-5 encoding)"
385 nil t t t t nil nil nil nil nil t)
386
387 ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
388 ;; \e,L)\e(B \e,L*\e(B \e,L5\e(B \e,L@\e(B \e,LB\e(B \e,L7\e(B \e,LC\e(B \e,L8\e(B \e,L>\e(B \e,L?\e(B \e,LH\e(B \e,L"\e(B
389 ;; \e,L0\e(B \e,LA\e(B \e,L4\e(B \e,LD\e(B \e,L3\e(B \e,LE\e(B \e,L(\e(B \e,L:\e(B \e,L;\e(B \e,LG\e(B \e,L+\e(B \e,L6\e(B
390 ;; \e,L%\e(B \e,L/\e(B \e,LF\e(B \e,L2\e(B \e,L1\e(B \e,L=\e(B \e,L<\e(B ,; .: -_
391
392 (quail-define-rules
393 ("1" ?1)
394 ("2" ?2)
395 ("3" ?3)
396 ("4" ?4)
397 ("5" ?5)
398 ("6" ?6)
399 ("7" ?7)
400 ("8" ?8)
401 ("9" ?9)
402 ("0" ?0)
403 ("-" ?/)
404 ("=" ?+)
405 ("`" ?<)
406 ("q" ?\e,Ly\e(B)
407 ("w" ?\e,Lz\e(B)
408 ("e" ?\e,LU\e(B)
409 ("r" ?\e,L`\e(B)
410 ("t" ?\e,Lb\e(B)
411 ("y" ?\e,LW\e(B)
412 ("u" ?\e,Lc\e(B)
413 ("i" ?\e,LX\e(B)
414 ("o" ?\e,L^\e(B)
415 ("p" ?\e,L_\e(B)
416 ("[" ?\e,Lh\e(B)
417 ("]" ?\e,Lr\e(B)
418 ("a" ?\e,LP\e(B)
419 ("s" ?\e,La\e(B)
420 ("d" ?\e,LT\e(B)
421 ("f" ?\e,Ld\e(B)
422 ("g" ?\e,LS\e(B)
423 ("h" ?\e,Le\e(B)
424 ("j" ?\e,Lx\e(B)
425 ("k" ?\e,LZ\e(B)
426 ("l" ?\e,L[\e(B)
427 (";" ?\e,Lg\e(B)
428 ("'" ?\e,L{\e(B)
429 ("\\" ?\e,LV\e(B)
430 ("z" ?\e,Lu\e(B)
431 ("x" ?\e,L\7f\e(B)
432 ("c" ?\e,Lf\e(B)
433 ("v" ?\e,LR\e(B)
434 ("b" ?\e,LQ\e(B)
435 ("n" ?\e,L]\e(B)
436 ("m" ?\e,L\\e(B)
437 ("," ?,)
438 ("." ?.)
439 ("/" ?-)
440
441 ("!" ?!)
442 ("@" ?\")
443 ("#" ?#)
444 ("$" ?$)
445 ("%" ?%)
446 ("^" ?&)
447 ("&" ?')
448 ("*" ?\()
449 ("(" ?\))
450 (")" ?=)
451 ("_" ??)
452 ("+" ?*)
453 ("~" ?>)
454 ("Q" ?\e,L)\e(B)
455 ("W" ?\e,L*\e(B)
456 ("E" ?\e,L5\e(B)
457 ("R" ?\e,L@\e(B)
458 ("T" ?\e,LB\e(B)
459 ("Y" ?\e,L7\e(B)
460 ("U" ?\e,LC\e(B)
461 ("I" ?\e,L8\e(B)
462 ("O" ?\e,L>\e(B)
463 ("P" ?\e,L?\e(B)
464 ("{" ?\e,LH\e(B)
465 ("}" ?\e,L"\e(B)
466 ("A" ?\e,L0\e(B)
467 ("S" ?\e,LA\e(B)
468 ("D" ?\e,L4\e(B)
469 ("F" ?\e,LD\e(B)
470 ("G" ?\e,L3\e(B)
471 ("H" ?\e,LE\e(B)
472 ("J" ?\e,L(\e(B)
473 ("K" ?\e,L:\e(B)
474 ("L" ?\e,L;\e(B)
475 (":" ?\e,LG\e(B)
476 ("\"" ?\e,L+\e(B)
477 ("|" ?\e,L6\e(B)
478 ("Z" ?\e,L%\e(B)
479 ("X" ?\e,L/\e(B)
480 ("C" ?\e,LF\e(B)
481 ("V" ?\e,L2\e(B)
482 ("B" ?\e,L1\e(B)
483 ("N" ?\e,L=\e(B)
484 ("M" ?\e,L<\e(B)
485 ("<" ?\;)
486 (">" ?:)
487 ("?" ?_))
488
489 ;;
490
491 ;; Alexander Mikhailian comments:
492 ;; Having worked for several years as a Belarusian linguist, I still
493 ;; can not find the origin of this layout which BTW does include
494 ;; several characters that are not present in Belarusian and does not
495 ;; include a few ones that do exist in Belarusian. Besides, the typo
496 ;; in the name of this layout speaks for itself since Belarusian has
497 ;; an outdated version of spelling which is "Byelorussian" and not
498 ;; "beylorussian". I suggest that you just remove this layout.
499
500 ;; [`derived from JUS.I.K1' according to an old Mule note -- fx]
501
502 ;; (quail-define-package
503 ;; "cyrillic-beylorussian" "Belarussian" "\e,L6\e(BB" nil
504 ;; "\e,L)*5@B7\e(B-\e,L&.\e(B BEYLORUSSIAN (ISO 8859-5 encoding)"
505 ;; nil t t t t nil nil nil nil nil t)
506
507 ;; ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
508 ;; ;; \e,L)\e(B \e,L*\e(B \e,L5\e(B \e,L@\e(B \e,LB\e(B \e,L7\e(B \e,LC\e(B \e,L8\e(B \e,L>\e(B \e,L?\e(B \e,LH\e(B \e,L&\e(B
509 ;; ;; \e,L0\e(B \e,LA\e(B \e,L4\e(B \e,LD\e(B \e,L3\e(B \e,LE\e(B \e,L(\e(B \e,L:\e(B \e,L;\e(B \e,LG\e(B \e,L.\e(B \e,L6\e(B
510 ;; ;; \e,L%\e(B \e,L/\e(B \e,LF\e(B \e,L2\e(B \e,L1\e(B \e,L=\e(B \e,L<\e(B ,; .: -_
511
512 ;; (quail-define-rules
513 ;; ("-" ?/)
514 ;; ("=" ?+)
515 ;; ("`" ?<)
516 ;; ("q" ?\e,Ly\e(B)
517 ;; ("w" ?\e,Lz\e(B)
518 ;; ("e" ?\e,LU\e(B)
519 ;; ("r" ?\e,L`\e(B)
520 ;; ("t" ?\e,Lb\e(B)
521 ;; ("y" ?\e,LW\e(B)
522 ;; ("u" ?\e,Lc\e(B)
523 ;; ("i" ?\e,LX\e(B)
524 ;; ("o" ?\e,L^\e(B)
525 ;; ("p" ?\e,L_\e(B)
526 ;; ("[" ?\e,Lh\e(B)
527 ;; ("]" ?\e,Lv\e(B)
528 ;; ("a" ?\e,LP\e(B)
529 ;; ("s" ?\e,La\e(B)
530 ;; ("d" ?\e,LT\e(B)
531 ;; ("f" ?\e,Ld\e(B)
532 ;; ("g" ?\e,LS\e(B)
533 ;; ("h" ?\e,Le\e(B)
534 ;; ("j" ?\e,Lx\e(B)
535 ;; ("k" ?\e,LZ\e(B)
536 ;; ("l" ?\e,L[\e(B)
537 ;; (";" ?\e,Lg\e(B)
538 ;; ("'" ?\e,L~\e(B)
539 ;; ("\\" ?\e,LV\e(B)
540 ;; ("z" ?\e,Lu\e(B)
541 ;; ("x" ?\e,L\7f\e(B)
542 ;; ("c" ?\e,Lf\e(B)
543 ;; ("v" ?\e,LR\e(B)
544 ;; ("b" ?\e,LQ\e(B)
545 ;; ("n" ?\e,L]\e(B)
546 ;; ("m" ?\e,L\\e(B)
547 ;; ("/" ?-)
548
549 ;; ("@" ?\")
550 ;; ("^" ?&)
551 ;; ("&" ?')
552 ;; ("*" ?\()
553 ;; ("(" ?\))
554 ;; (")" ?=)
555 ;; ("_" ??)
556 ;; ("+" ?*)
557 ;; ("~" ?>)
558 ;; ("Q" ?\e,L)\e(B)
559 ;; ("W" ?\e,L*\e(B)
560 ;; ("E" ?\e,L5\e(B)
561 ;; ("R" ?\e,L@\e(B)
562 ;; ("T" ?\e,LB\e(B)
563 ;; ("Y" ?\e,L7\e(B)
564 ;; ("U" ?\e,LC\e(B)
565 ;; ("I" ?\e,L8\e(B)
566 ;; ("O" ?\e,L>\e(B)
567 ;; ("P" ?\e,L?\e(B)
568 ;; ("{" ?\e,LH\e(B)
569 ;; ("}" ?\e,L&\e(B)
570 ;; ("A" ?\e,L0\e(B)
571 ;; ("S" ?\e,LA\e(B)
572 ;; ("D" ?\e,L4\e(B)
573 ;; ("F" ?\e,LD\e(B)
574 ;; ("G" ?\e,L3\e(B)
575 ;; ("H" ?\e,LE\e(B)
576 ;; ("J" ?\e,L(\e(B)
577 ;; ("K" ?\e,L:\e(B)
578 ;; ("L" ?\e,L;\e(B)
579 ;; (":" ?\e,LG\e(B)
580 ;; ("\"" ?\e,L.\e(B)
581 ;; ("|" ?\e,L6\e(B)
582 ;; ("Z" ?\e,L%\e(B)
583 ;; ("X" ?\e,L/\e(B)
584 ;; ("C" ?\e,LF\e(B)
585 ;; ("V" ?\e,L2\e(B)
586 ;; ("B" ?\e,L1\e(B)
587 ;; ("N" ?\e,L=\e(B)
588 ;; ("M" ?\e,L<\e(B)
589 ;; ("<" ?\;)
590 ;; (">" ?:)
591 ;; ("?" ?_))
592
593 ;;
594
595 ;; Alexander Mikhailian reports the opinion of fellow Ukrainian
596 ;; linguist Bogdan Babych <babych@altern.org>:
597 ;; He had seen this layout on some oldish systems but that the vast
598 ;; majority of the population uses a modified version of the M$ Windows
599 ;; layout. In fact, Microsoft shipped for a while a layout that was lacking
600 ;; two characters, precisely the "GHE_WITH_UPTURN" and the apostrophe. The
601 ;; latest versions of Windows software do have the "GHE_WITH_UPTURN" in the
602 ;; ukrainian keyborad layout but the apostrophe is still not there, whereas
603 ;; there is one letter, "Cyrillic_YO", not used in ukrainian. Ukrainians
604 ;; normally replace the "Cyrillic_YO" by the apostrophe sign and live
605 ;; happily with this little change. [See "ukrainian-computer" below.]
606
607 ;; Fixme: add GHE_WITH_UPTURN.
608 (quail-define-package
609 "cyrillic-ukrainian" "Ukrainian" "\e,L6\e(BU" nil
610 "\e,L$'5@B7\e(B-\e,L&.\e(B UKRAINIAN (ISO 8859-5 encoding)
611
612 Sorry, but 'ghe with upturn' is not included in ISO 8859-5."
613 nil t t t t nil nil nil nil nil t)
614
615 ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
616 ;; \e,L$\e(B \e,L'\e(B \e,L5\e(B \e,L@\e(B \e,LB\e(B \e,L7\e(B \e,LC\e(B \e,L8\e(B \e,L>\e(B \e,L?\e(B \e,LH\e(B \e,L&\e(B
617 ;; \e,L0\e(B \e,LA\e(B \e,L4\e(B \e,LD\e(B \e,L3\e(B \e,LE\e(B \e,L(\e(B \e,L:\e(B \e,L;\e(B \e,LG\e(B \e,L.\e(B \e,L6\e(B
618 ;; \e,L%\e(B \e,L/\e(B \e,LF\e(B \e,L2\e(B \e,L1\e(B \e,L=\e(B \e,L<\e(B ,; .: -_
619
620 (quail-define-rules
621 ("1" ?1)
622 ("2" ?2)
623 ("3" ?3)
624 ("4" ?4)
625 ("5" ?5)
626 ("6" ?6)
627 ("7" ?7)
628 ("8" ?8)
629 ("9" ?9)
630 ("0" ?0)
631 ("-" ?/)
632 ("=" ?+)
633 ("`" ?<)
634 ("q" ?\e,Lt\e(B)
635 ("w" ?\e,Lw\e(B)
636 ("e" ?\e,LU\e(B)
637 ("r" ?\e,L`\e(B)
638 ("t" ?\e,Lb\e(B)
639 ("y" ?\e,LW\e(B)
640 ("u" ?\e,Lc\e(B)
641 ("i" ?\e,LX\e(B)
642 ("o" ?\e,L^\e(B)
643 ("p" ?\e,L_\e(B)
644 ("[" ?\e,Lh\e(B)
645 ("]" ?\e,Lv\e(B)
646 ("a" ?\e,LP\e(B)
647 ("s" ?\e,La\e(B)
648 ("d" ?\e,LT\e(B)
649 ("f" ?\e,Ld\e(B)
650 ("g" ?\e,LS\e(B)
651 ("h" ?\e,Le\e(B)
652 ("j" ?\e,Lx\e(B)
653 ("k" ?\e,LZ\e(B)
654 ("l" ?\e,L[\e(B)
655 (";" ?\e,Lg\e(B)
656 ("'" ?\e,L~\e(B)
657 ("\\" ?\e,LV\e(B)
658 ("z" ?\e,Lu\e(B)
659 ("x" ?\e,L\7f\e(B)
660 ("c" ?\e,Lf\e(B)
661 ("v" ?\e,LR\e(B)
662 ("b" ?\e,LQ\e(B)
663 ("n" ?\e,L]\e(B)
664 ("m" ?\e,L\\e(B)
665 ("," ?,)
666 ("." ?.)
667 ("/" ?-)
668
669 ("!" ?!)
670 ("@" ?\")
671 ("#" ?#)
672 ("$" ?$)
673 ("%" ?%)
674 ("^" ?&)
675 ("&" ?')
676 ("*" ?\()
677 ("(" ?\))
678 (")" ?=)
679 ("_" ??)
680 ("+" ?*)
681 ("~" ?>)
682 ("Q" ?\e,L$\e(B)
683 ("W" ?\e,L'\e(B)
684 ("E" ?\e,L5\e(B)
685 ("R" ?\e,L@\e(B)
686 ("T" ?\e,LB\e(B)
687 ("Y" ?\e,L7\e(B)
688 ("U" ?\e,LC\e(B)
689 ("I" ?\e,L8\e(B)
690 ("O" ?\e,L>\e(B)
691 ("P" ?\e,L?\e(B)
692 ("{" ?\e,LH\e(B)
693 ("}" ?\e,L&\e(B)
694 ("A" ?\e,L0\e(B)
695 ("S" ?\e,LA\e(B)
696 ("D" ?\e,L4\e(B)
697 ("F" ?\e,LD\e(B)
698 ("G" ?\e,L3\e(B)
699 ("H" ?\e,LE\e(B)
700 ("J" ?\e,L(\e(B)
701 ("K" ?\e,L:\e(B)
702 ("L" ?\e,L;\e(B)
703 (":" ?\e,LG\e(B)
704 ("\"" ?\e,L.\e(B)
705 ("|" ?\e,L6\e(B)
706 ("Z" ?\e,L%\e(B)
707 ("X" ?\e,L/\e(B)
708 ("C" ?\e,LF\e(B)
709 ("V" ?\e,L2\e(B)
710 ("B" ?\e,L1\e(B)
711 ("N" ?\e,L=\e(B)
712 ("M" ?\e,L<\e(B)
713 ("<" ?\;)
714 (">" ?:)
715 ("?" ?_))
716
717
718 (quail-define-package
719 "ukrainian-computer" "Ukrainian" "UK" nil
720 "\e$,1(9(F(C(:(5(=\e(B Ukrainian (Unicode-based for use with KOI8-U encoding)."
721 nil t t t t nil nil nil nil nil t)
722
723 ;; ' 1! 2" 3\e$,1uV\e(B 4; 5% 6: 7? 8* 9( 0) -_ =+
724 ;; \e$,1(9\e(B \e$,1(F\e(B \e$,1(C\e(B \e$,1(:\e(B \e$,1(5\e(B \e$,1(=\e(B \e$,1(3\e(B \e$,1(H\e(B \e$,1(I\e(B \e$,1(7\e(B \e$,1(E\e(B \e$,1('\e(B
725 ;; \e$,1(D\e(B \e$,1(&\e(B \e$,1(2\e(B \e$,1(0\e(B \e$,1(?\e(B \e$,1(@\e(B \e$,1(>\e(B \e$,1(;\e(B \e$,1(4\e(B \e$,1(6\e(B \e$,1($\e(B \e$,1)P\e(B
726 ;; \e$,1(O\e(B \e$,1(G\e(B \e$,1(A\e(B \e$,1(<\e(B \e$,1(8\e(B \e$,1(B\e(B \e$,1(L\e(B \e$,1(1\e(B \e$,1(N\e(B .,
727
728 (quail-define-rules
729 ("1" ?1)
730 ("2" ?2)
731 ("3" ?3)
732 ("4" ?4)
733 ("5" ?5)
734 ("6" ?6)
735 ("7" ?7)
736 ("8" ?8)
737 ("9" ?9)
738 ("0" ?0)
739 ("-" ?-)
740 ("=" ?=)
741 ("`" ?')
742 ("q" ?\e$,1(Y\e(B)
743 ("w" ?\e$,1(f\e(B)
744 ("e" ?\e$,1(c\e(B)
745 ("r" ?\e$,1(Z\e(B)
746 ("t" ?\e$,1(U\e(B)
747 ("y" ?\e$,1(]\e(B)
748 ("u" ?\e$,1(S\e(B)
749 ("i" ?\e$,1(h\e(B)
750 ("o" ?\e$,1(i\e(B)
751 ("p" ?\e$,1(W\e(B)
752 ("[" ?\e$,1(e\e(B)
753 ("]" ?\e$,1(w\e(B)
754 ("a" ?\e$,1(d\e(B)
755 ("s" ?\e$,1(v\e(B)
756 ("d" ?\e$,1(R\e(B)
757 ("f" ?\e$,1(P\e(B)
758 ("g" ?\e$,1(_\e(B)
759 ("h" ?\e$,1(`\e(B)
760 ("j" ?\e$,1(^\e(B)
761 ("k" ?\e$,1([\e(B)
762 ("l" ?\e$,1(T\e(B)
763 (";" ?\e$,1(V\e(B)
764 ("'" ?\e$,1(t\e(B)
765 ("\\" ?\\)
766 ("z" ?\e$,1(o\e(B)
767 ("x" ?\e$,1(g\e(B)
768 ("c" ?\e$,1(a\e(B)
769 ("v" ?\e$,1(\\e(B)
770 ("b" ?\e$,1(X\e(B)
771 ("n" ?\e$,1(b\e(B)
772 ("m" ?\e$,1(l\e(B)
773 ("," ?\e$,1(Q\e(B)
774 ("." ?\e$,1(n\e(B)
775 ("/" ?.)
776 ("!" ?!)
777 ("@" ?\")
778 ("#" ?\e$,1uV\e(B)
779 ("$" ?\;)
780 ("%" ?%)
781 ("^" ?:)
782 ("&" ??)
783 ("*" ?*)
784 ("(" ?()
785 (")" ?))
786 ("_" ?_)
787 ("+" ?+)
788 ("~" ?')
789 ("Q" ?\e$,1(9\e(B)
790 ("W" ?\e$,1(F\e(B)
791 ("E" ?\e$,1(C\e(B)
792 ("R" ?\e$,1(:\e(B)
793 ("T" ?\e$,1(5\e(B)
794 ("Y" ?\e$,1(=\e(B)
795 ("U" ?\e$,1(3\e(B)
796 ("I" ?\e$,1(H\e(B)
797 ("O" ?\e$,1(I\e(B)
798 ("P" ?\e$,1(7\e(B)
799 ("{" ?\e$,1(E\e(B)
800 ("}" ?\e$,1('\e(B)
801 ("A" ?\e$,1(D\e(B)
802 ("S" ?\e$,1(&\e(B)
803 ("D" ?\e$,1(2\e(B)
804 ("F" ?\e$,1(0\e(B)
805 ("G" ?\e$,1(?\e(B)
806 ("H" ?\e$,1(@\e(B)
807 ("J" ?\e$,1(>\e(B)
808 ("K" ?\e$,1(;\e(B)
809 ("L" ?\e$,1(4\e(B)
810 (":" ?\e$,1(6\e(B)
811 ("\"" ?\e$,1($\e(B)
812 ("Z" ?\e$,1(O\e(B)
813 ("X" ?\e$,1(G\e(B)
814 ("C" ?\e$,1(A\e(B)
815 ("V" ?\e$,1(<\e(B)
816 ("B" ?\e$,1(8\e(B)
817 ("N" ?\e$,1(B\e(B)
818 ("M" ?\e$,1(L\e(B)
819 ("<" ?\e$,1(1\e(B)
820 (">" ?\e$,1(N\e(B)
821 ("?" ?,)
822 ("\\" ?\e$,1)Q\e(B)
823 ("|" ?\e$,1)P\e(B))
824 ;;
825
826 ;; Alexander Mikhailian says this is of limited use. It has been
827 ;; popular among emigrants or foreigners who have to type in Cyrillic
828 ;; (mostly Russian) from time to time.
829 (quail-define-package
830 "cyrillic-yawerty" "Cyrillic" "\e,L6O\e(B" nil
831 "\e,LO25@BK\e(B Roman transcription (ISO 8859-5 encoding)
832
833 This layout is based on Roman transcription by phonemic resemblance.
834 When preceded by a '/', the second and the third rows (number key row) change
835 as follows.
836
837 keytop | Q W E R T Y U I O P A S D
838 --------+---------------------------------------
839 input | \e,L"\e(B \e,L#\e(B \e,L$\e(B \e,L%\e(B \e,L&\e(B \e,L'\e(B \e,L(\e(B \e,L)\e(B \e,L*\e(B \e,L+\e(B \e,L,\e(B \e,L.\e(B \e,L/\e(B"
840 nil t t t t nil nil nil nil nil t)
841
842 ;; 1! 2\e,Lq\e(B 3\e,Lj\e(B 4\e,L!\e(B 5% 6^ 7& 8* 9( 0) -_ \e,LG\e(B \e,LN\e(B
843 ;; \e,LO\e(B \e,L2\e(B \e,L5\e(B \e,L@\e(B \e,LB\e(B \e,LK\e(B \e,LC\e(B \e,L8\e(B \e,L>\e(B \e,L?\e(B \e,LH\e(B \e,LI\e(B
844 ;; \e,L0\e(B \e,LA\e(B \e,L4\e(B \e,LD\e(B \e,L3\e(B \e,LE\e(B \e,L9\e(B \e,L:\e(B \e,L;\e(B ;: '" \e,LM\e(B
845 ;; \e,L7\e(B \e,LL\e(B \e,LF\e(B \e,L6\e(B \e,L1\e(B \e,L=\e(B \e,L<\e(B ,< .> /?
846
847 ;; 1! 2\e,Lq\e(B 3\e,Lj\e(B 4\e,L!\e(B 5% 6^ 7& 8* 9( 0) -_ \e,LG\e(B \e,LN\e(B
848 ;; \e,L"\e(B \e,L#\e(B \e,L$\e(B \e,L%\e(B \e,L&\e(B \e,L'\e(B \e,L(\e(B \e,L)\e(B \e,L*\e(B \e,L+\e(B \e,LH\e(B \e,LI\e(B
849 ;; \e,L,\e(B \e,L.\e(B \e,L/\e(B \e,LD\e(B \e,L3\e(B \e,LE\e(B \e,L9\e(B \e,L:\e(B \e,L;\e(B ;: '" \e,LM\e(B
850 ;; \e,L7\e(B \e,LL\e(B \e,LF\e(B \e,L6\e(B \e,L1\e(B \e,L=\e(B \e,L<\e(B ,< .> /?
851
852 (quail-define-rules
853 ("1" ?1)
854 ("2" ?2)
855 ("3" ?3)
856 ("4" ?4)
857 ("5" ?5)
858 ("6" ?6)
859 ("7" ?7)
860 ("8" ?8)
861 ("9" ?9)
862 ("0" ?0)
863 ("-" ?-)
864 ("=" ?\e,Lg\e(B)
865 ("`" ?\e,Ln\e(B)
866 ("q" ?\e,Lo\e(B)
867 ("w" ?\e,LR\e(B)
868 ("e" ?\e,LU\e(B)
869 ("r" ?\e,L`\e(B)
870 ("t" ?\e,Lb\e(B)
871 ("y" ?\e,Lk\e(B)
872 ("u" ?\e,Lc\e(B)
873 ("i" ?\e,LX\e(B)
874 ("o" ?\e,L^\e(B)
875 ("p" ?\e,L_\e(B)
876 ("[" ?\e,Lh\e(B)
877 ("]" ?\e,Li\e(B)
878 ("a" ?\e,LP\e(B)
879 ("s" ?\e,La\e(B)
880 ("d" ?\e,LT\e(B)
881 ("f" ?\e,Ld\e(B)
882 ("g" ?\e,LS\e(B)
883 ("h" ?\e,Le\e(B)
884 ("j" ?\e,LY\e(B)
885 ("k" ?\e,LZ\e(B)
886 ("l" ?\e,L[\e(B)
887 (";" ?\;)
888 ("'" ?')
889 ("\\" ?\e,Lm\e(B)
890 ("z" ?\e,LW\e(B)
891 ("x" ?\e,Ll\e(B)
892 ("c" ?\e,Lf\e(B)
893 ("v" ?\e,LV\e(B)
894 ("b" ?\e,LQ\e(B)
895 ("n" ?\e,L]\e(B)
896 ("m" ?\e,L\\e(B)
897 ("," ?,)
898 ("." ?.)
899 ("/" ?/)
900
901 ("!" ?!)
902 ("@" ?\e,Lq\e(B)
903 ("#" ?\e,Lj\e(B)
904 ("$" ?\e,L!\e(B)
905 ("%" ?%)
906 ("^" ?^)
907 ("&" ?&)
908 ("*" ?*)
909 ("(" ?\()
910 (")" ?\))
911 ("_" ?_)
912 ("+" ?\e,LG\e(B)
913 ("~" ?\e,LN\e(B)
914 ("Q" ?\e,LO\e(B)
915 ("W" ?\e,L2\e(B)
916 ("E" ?\e,L5\e(B)
917 ("R" ?\e,L@\e(B)
918 ("T" ?\e,LB\e(B)
919 ("Y" ?\e,LK\e(B)
920 ("U" ?\e,LC\e(B)
921 ("I" ?\e,L8\e(B)
922 ("O" ?\e,L>\e(B)
923 ("P" ?\e,L?\e(B)
924 ("{" ?\e,LH\e(B)
925 ("}" ?\e,LI\e(B)
926 ("A" ?\e,L0\e(B)
927 ("S" ?\e,LA\e(B)
928 ("D" ?\e,L4\e(B)
929 ("F" ?\e,LD\e(B)
930 ("G" ?\e,L3\e(B)
931 ("H" ?\e,LE\e(B)
932 ("J" ?\e,L9\e(B)
933 ("K" ?\e,L:\e(B)
934 ("L" ?\e,L;\e(B)
935 (":" ?:)
936 ("\"" ?\")
937 ("|" ?\e,LM\e(B)
938 ("Z" ?\e,L7\e(B)
939 ("X" ?\e,LL\e(B)
940 ("C" ?\e,LF\e(B)
941 ("V" ?\e,L6\e(B)
942 ("B" ?\e,L1\e(B)
943 ("N" ?\e,L=\e(B)
944 ("M" ?\e,L<\e(B)
945 ("<" ?<)
946 (">" ?>)
947 ("?" ??)
948
949 ("/q" ?\e,Lr\e(B)
950 ("/w" ?\e,Ls\e(B)
951 ("/e" ?\e,Lt\e(B)
952 ("/r" ?\e,Lu\e(B)
953 ("/t" ?\e,Lv\e(B)
954 ("/y" ?\e,Lw\e(B)
955 ("/u" ?\e,Lx\e(B)
956 ("/i" ?\e,Ly\e(B)
957 ("/o" ?\e,Lz\e(B)
958 ("/p" ?\e,L{\e(B)
959 ("/a" ?\e,L|\e(B)
960 ("/s" ?\e,L~\e(B)
961 ("/d" ?\e,L\7f\e(B)
962
963 ("/Q" ?\e,L"\e(B)
964 ("/W" ?\e,L#\e(B)
965 ("/E" ?\e,L$\e(B)
966 ("/R" ?\e,L%\e(B)
967 ("/T" ?\e,L&\e(B)
968 ("/Y" ?\e,L'\e(B)
969 ("/U" ?\e,L(\e(B)
970 ("/I" ?\e,L)\e(B)
971 ("/O" ?\e,L*\e(B)
972 ("/P" ?\e,L+\e(B)
973 ("/A" ?\e,L,\e(B)
974 ("/S" ?\e,L.\e(B)
975 ("/D" ?\e,L/\e(B))
976
977 ;; This was provided by Valery Alexeev <valery@domovoy.math.uga.edu>.
978
979 ;; Ognyan Kulev <ogi@fmi.uni-sofia.bg> wrote:
980
981 ;; I would suggest future `cyrillic-translit' to be with the
982 ;; modification of `cyrillic-translit-bulgarian' applied and the
983 ;; latter to disappear. It could be used by people who write
984 ;; bulgarian e-mails with latin letters for kick start (phonetic input
985 ;; method is not so obvious as translit input method but each letter
986 ;; is one keypress and a *lot* of people know it).
987
988 ;; Anton Zinoviev <anton@lml.bas.bg> wrote:
989 ;; I would say that the main idea for cyrillic-translit is to be
990 ;; language-independent and universal. It should be able to generate all
991 ;; Cyrillic symbols.
992 (quail-define-package
993 "cyrillic-translit" "Cyrillic" "\e,L6\e(Bt" nil
994 "Intuitively transliterated keyboard layout.
995 Most convenient for entering Russian but all Cyrillic characters are included.
996 Should handle most cases. However:
997 for \e,Lf\e(B (TSE) use \"c\", never \"ts\"
998 \e,Li\e(B (SHCHA = Bulgarian SHT) = \"shch\", \"sj\", \"/sht\" or \"/t\",
999 \e,Lm\e(B (REVERSE ROUNDED E) = \"e'\" or \"e`\"
1000 \e,Le\e(B (KHA) when after \e,La\e(B (S) = \"x\" or \"kh\"
1001 \e,Lj\e(B (HARD SIGN) = \"~\", \e,LJ\e(B (CAPITAL HARD SIGN) = \"~~\",
1002 \e,Ll\e(B (SOFT SIGN) = \"'\", \e,LL\e(B (CAPITAL SOFT SIGN) = \"''\",
1003 \e,Lo\e(B (YA) = \"ya\", \"ja\" or \"q\".
1004
1005 Russian alphabet: a b v=w g d e yo=jo zh z i j=j' k l m n o p r s t
1006 u f h=kh=x c ch sh shch=sj=/s=/sht ~ y ' e' yu=ju ya=ja=q
1007
1008 Also included are Ukrainian \e,Lt\e(B (YE) = \"/e\" and \e,Lw\e(B (YI) = \"yi\",
1009 Belarusian \e,L~\e(B (SHORT U) = \"u'\",
1010 Serbo-Croatian \e,Lr\e(B (DJE) = \"/d\", \e,L{\e(B (CHJE)= \"/ch\",
1011 Macedonian \e,Ls\e(B (GJE) = \"/g\", \e,Lu\e(B (DZE) = \"/s\", \e,L|\e(B (KJE) = \"/k\",
1012 cyrillic \e,Lv\e(B (I DECIMAL) = \"/i\", \e,Lx\e(B (JE) = \"/j\",
1013 \e,Ly\e(B (LJE) = \"/l\", \e,Lz\e(B (NJE) = \"/n\" and \e,L\7f\e(B (DZE) =\"/z\"."
1014 nil t t t t nil nil nil nil nil t)
1015
1016 (quail-define-rules
1017 ("a" ?\e,LP\e(B)("b" ?\e,LQ\e(B) ("v" ?\e,LR\e(B) ("w" ?\e,LR\e(B) ("g" ?\e,LS\e(B) ("d" ?\e,LT\e(B)
1018 ("e" ?\e,LU\e(B) ("je" ?\e,LU\e(B)
1019 ("yo" ?\e,Lq\e(B) ("jo" ?\e,Lq\e(B)
1020 ("zh" ?\e,LV\e(B) ("z" ?\e,LW\e(B) ("i" ?\e,LX\e(B)
1021 ("j" ?\e,LY\e(B) ("j'" ?\e,LY\e(B) ("j`" ?\e,LY\e(B) ("k" ?\e,LZ\e(B) ("l" ?\e,L[\e(B)
1022 ("m" ?\e,L\\e(B) ("n" ?\e,L]\e(B) ("o" ?\e,L^\e(B) ("p" ?\e,L_\e(B) ("r" ?\e,L`\e(B) ("s" ?\e,La\e(B) ("t" ?\e,Lb\e(B) ("u" ?\e,Lc\e(B)
1023 ("f" ?\e,Ld\e(B) ("x" ?\e,Le\e(B) ("h" ?\e,Le\e(B) ("kh" ?\e,Le\e(B)
1024 ("c" ?\e,Lf\e(B) ("ch" ?\e,Lg\e(B)
1025 ("sh" ?\e,Lh\e(B)
1026 ("shch" ?\e,Li\e(B) ("sj" ?\e,Li\e(B)
1027 ("/sht" ?\e,Li\e(B) ("/t" ?\e,Li\e(B)
1028 ("~" ?\e,Lj\e(B) ("y" ?\e,Lk\e(B) ("'" ?\e,Ll\e(B) ("`" ?\e,Ll\e(B)
1029 ("e'" ?\e,Lm\e(B) ("e`" ?\e,Lm\e(B) ("@" ?\e,Lm\e(B)
1030 ("yu" ?\e,Ln\e(B) ("ju" ?\e,Ln\e(B)
1031 ("ya" ?\e,Lo\e(B) ("ja" ?\e,Lo\e(B) ("q" ?\e,Lo\e(B)
1032
1033 ("A" ?\e,L0\e(B) ("B" ?\e,L1\e(B) ("V" ?\e,L2\e(B) ("W" ?\e,L2\e(B) ("G" ?\e,L3\e(B) ("D" ?\e,L4\e(B)
1034 ("E" ?\e,L5\e(B) ("Je" ?\e,L5\e(B) ("JE" ?\e,L5\e(B)
1035 ("Yo" ?\e,L!\e(B) ("YO" ?\e,L!\e(B) ("Jo" ?\e,L!\e(B) ("JO" ?\e,L!\e(B)
1036 ("Zh" ?\e,L6\e(B) ("ZH" ?\e,L6\e(B) ("Z" ?\e,L7\e(B) ("I" ?\e,L8\e(B)
1037 ("J" ?\e,L9\e(B) ("J'" ?\e,L9\e(B) ("J`" ?\e,L9\e(B) ("K" ?\e,L:\e(B) ("L" ?\e,L;\e(B)
1038 ("M" ?\e,L<\e(B) ("N" ?\e,L=\e(B) ("O" ?\e,L>\e(B) ("P" ?\e,L?\e(B) ("R" ?\e,L@\e(B) ("S" ?\e,LA\e(B) ("T" ?\e,LB\e(B) ("U" ?\e,LC\e(B)
1039 ("F" ?\e,LD\e(B) ("X" ?\e,LE\e(B) ("H" ?\e,LE\e(B) ("Kh" ?\e,LE\e(B) ("KH" ?\e,LE\e(B)
1040 ("C" ?\e,LF\e(B) ("Ch" ?\e,LG\e(B) ("CH" ?\e,LG\e(B)
1041 ("Sh" ?\e,LH\e(B) ("SH" ?\e,LH\e(B)
1042 ("Shch" ?\e,LI\e(B) ("SHCH" ?\e,LI\e(B) ("Sj" ?\e,LI\e(B) ("SJ" ?\e,LI\e(B)
1043 ("/Sht" ?\e,LI\e(B) ("/SHT" ?\e,LI\e(B) ("/T" ?\e,LI\e(B)
1044 ("~~" "\e,LJ\e(B") ("Y" ?\e,LK\e(B) ("''" "\e,LL\e(B") ("E'" ?\e,LM\e(B) ("E`" ?\e,LM\e(B)
1045 ("Yu" ?\e,LN\e(B) ("YU" ?\e,LN\e(B) ("Ju" ?\e,LN\e(B) ("JU" ?\e,LN\e(B)
1046 ("Ya" ?\e,LO\e(B) ("YA" ?\e,LO\e(B) ("Ja" ?\e,LO\e(B) ("JA" ?\e,LO\e(B) ("Q" ?\e,LO\e(B)
1047
1048 ("/e" ?\e,Lt\e(B) ("yi" ?\e,Lw\e(B) ("u'" ?\e,L~\e(B)
1049 ("/d" ?\e,Lr\e(B) ("/ch" ?\e,L{\e(B)
1050 ("/g" ?\e,Ls\e(B) ("/s" ?\e,Lu\e(B) ("/k" ?\e,L|\e(B)
1051 ("/i" ?\e,Lv\e(B) ("/j" ?\e,Lx\e(B) ("/l" ?\e,Ly\e(B) ("/n" ?\e,Lz\e(B) ("/z" ?\e,L\7f\e(B)
1052 ("/E" ?\e,L$\e(B) ("YE" ?\e,L$\e(B) ("Yi" ?\e,L'\e(B) ("YI" ?\e,L'\e(B) ("U'" ?\e,L.\e(B)
1053 ("/D" ?\e,L"\e(B) ("/Ch" ?\e,L+\e(B) ("/CH" ?\e,L+\e(B)
1054 ("/G" ?\e,L#\e(B) ("/S" ?\e,L%\e(B) ("/K" ?\e,L,\e(B)
1055 ("/I" ?\e,L&\e(B) ("/J" ?\e,L(\e(B) ("/L" ?\e,L)\e(B) ("/N" ?\e,L*\e(B) ("/Z" ?\e,L/\e(B)
1056 )
1057
1058 ;; Originally from Yudit's `Belarusian input table according to
1059 ;; STB955-94 belarusian standard' (not all) by Alexander Mikhailian
1060 ;; <mikhailian@altern.org>, subsequently amended by AM.
1061 (quail-define-package
1062 "belarusian" "Belarusian" "BE" nil
1063 "\e$,1(9(F(C(:(5(=\e(B keyboard layout registered as STB955-94 Belarusian standard.
1064 Unicode based."
1065 nil t t t t nil nil nil nil nil t)
1066
1067 ;; \e$,1(q(!\e(B 1! 2" 3N 4; 5% 6: 7? 8* 9( 0) -_ =+
1068 ;; \e$,1(9\e(B \e$,1(F\e(B \e$,1(C\e(B \e$,1(:\e(B \e$,1(5\e(B \e$,1(=\e(B \e$,1(3\e(B \e$,1(H\e(B \e$,1(.\e(B \e$,1(7\e(B \e$,1(E\e(B '
1069 ;; \e$,1(D\e(B \e$,1(K\e(B \e$,1(2\e(B \e$,1(0\e(B \e$,1(?\e(B \e$,1(@\e(B \e$,1(>\e(B \e$,1(;\e(B \e$,1(4\e(B \e$,1(6\e(B \e$,1(M\e(B
1070 ;; \e$,1(O\e(B \e$,1(G\e(B \e$,1(A\e(B \e$,1(<\e(B \e$,1(&\e(B \e$,1(B\e(B \e$,1(L\e(B \e$,1(1\e(B \e$,1(N\e(B .,
1071
1072 (quail-define-rules
1073 ("~" ?\e$,1(!\e(B)
1074 ("@" ?\")
1075 ("#" ?\e$,1uV\e(B)
1076 ("$" ?\;)
1077 ("%" ?%)
1078 ("^" ?:)
1079 ("&" ??)
1080 ("Q" ?\e$,1(9\e(B)
1081 ("W" ?\e$,1(F\e(B)
1082 ("E" ?\e$,1(C\e(B)
1083 ("R" ?\e$,1(:\e(B)
1084 ("T" ?\e$,1(5\e(B)
1085 ("Y" ?\e$,1(=\e(B)
1086 ("U" ?\e$,1(3\e(B)
1087 ("I" ?\e$,1(H\e(B)
1088 ("O" ?\e$,1(.\e(B)
1089 ("P" ?\e$,1(7\e(B)
1090 ("{" ?\e$,1(E\e(B)
1091 ("}" ?')
1092 ("A" ?\e$,1(D\e(B)
1093 ("S" ?\e$,1(K\e(B)
1094 ("D" ?\e$,1(2\e(B)
1095 ("F" ?\e$,1(0\e(B)
1096 ("G" ?\e$,1(?\e(B)
1097 ("H" ?\e$,1(@\e(B)
1098 ("J" ?\e$,1(>\e(B)
1099 ("K" ?\e$,1(;\e(B)
1100 ("L" ?\e$,1(4\e(B)
1101 (":" ?\e$,1(6\e(B)
1102 ("\"" ?\e$,1(M\e(B)
1103 ("|" ?|)
1104 ("Z" ?\e$,1(O\e(B)
1105 ("X" ?\e$,1(G\e(B)
1106 ("C" ?\e$,1(A\e(B)
1107 ("V" ?\e$,1(<\e(B)
1108 ("B" ?\e$,1(&\e(B)
1109 ("N" ?\e$,1(B\e(B)
1110 ("M" ?\e$,1(L\e(B)
1111 ("<" ?\e$,1(1\e(B)
1112 (">" ?\e$,1(N\e(B)
1113 ("?" ?,)
1114
1115 ("`" ?\e$,1(q\e(B)
1116 ("q" ?\e$,1(Y\e(B)
1117 ("w" ?\e$,1(f\e(B)
1118 ("e" ?\e$,1(c\e(B)
1119 ("r" ?\e$,1(Z\e(B)
1120 ("t" ?\e$,1(U\e(B)
1121 ("y" ?\e$,1(]\e(B)
1122 ("u" ?\e$,1(S\e(B)
1123 ("i" ?\e$,1(h\e(B)
1124 ("o" ?\e$,1(~\e(B)
1125 ("p" ?\e$,1(W\e(B)
1126 ("[" ?\e$,1(e\e(B)
1127 ("]" ?')
1128 ("a" ?\e$,1(d\e(B)
1129 ("s" ?\e$,1(k\e(B)
1130 ("d" ?\e$,1(R\e(B)
1131 ("f" ?\e$,1(P\e(B)
1132 ("g" ?\e$,1(_\e(B)
1133 ("h" ?\e$,1(`\e(B)
1134 ("j" ?\e$,1(^\e(B)
1135 ("k" ?\e$,1([\e(B)
1136 ("l" ?\e$,1(T\e(B)
1137 (";" ?\e$,1(V\e(B)
1138 ("'" ?\e$,1(m\e(B)
1139 ("z" ?\e$,1(o\e(B)
1140 ("x" ?\e$,1(g\e(B)
1141 ("c" ?\e$,1(a\e(B)
1142 ("v" ?\e$,1(\\e(B)
1143 ("b" ?\e$,1(v\e(B)
1144 ("n" ?\e$,1(b\e(B)
1145 ("m" ?\e$,1(l\e(B)
1146 ("," ?\e$,1(Q\e(B)
1147 ("." ?\e$,1(n\e(B)
1148 ("/" ?.))
1149
1150 ;; From `Bulgarian-PHO.kmap for Yudit', Alexander Shopov
1151 ;; <al_shopov@web.bg>.
1152
1153 ;; Extra commentary and the indicator from an independent
1154 ;; (cyrillic-iso8859-5) implementation by Ognyan Kulev
1155 ;; <ogi@fmi.uni-sofia.bg> and name changes from Anton Zinoviev
1156 ;; <anton@lml.bas.bg>.
1157 (quail-define-package
1158 "bulgarian-phonetic" "Bulgarian" "\e$,1(6(1(D\e(B"
1159 nil
1160 "Bulgarian Phonetic keyboard layout, producing Unicode.
1161
1162 The layout is similar to `cyrillic-translit', but all Bulgarian
1163 characters are typed with a single key.
1164
1165 Use /& for \e,A'\e(B (Cyrillic paragraph) and /# for \e$,1uV\e(B."
1166 nil t t t t nil nil nil nil nil t)
1167
1168 ;; \e$,1(O\e(B \e$,1(2\e(B \e$,1(5\e(B \e$,1(@\e(B \e$,1(B\e(B \e$,1(J\e(B \e$,1(C\e(B \e$,1(8\e(B \e$,1(>\e(B \e$,1(?\e(B \e$,1(H\e(B \e$,1(I\e(B
1169 ;; \e$,1(0\e(B \e$,1(A\e(B \e$,1(4\e(B \e$,1(D\e(B \e$,1(3\e(B \e$,1(E\e(B \e$,1(9\e(B \e$,1(:\e(B \e$,1(;\e(B \e$,1(G\e(B
1170 ;; \e$,1(N\e(B \e$,1(7\e(B \e$,1(L\e(B \e$,1(F\e(B \e$,1(6\e(B \e$,1(1\e(B \e$,1(=\e(B \e$,1(<\e(B
1171
1172 (quail-define-rules
1173 ("/&" ?\e,A'\e(B)
1174 ("/#" ?\e$,1uV\e(B)
1175 ("A" ?\e$,1(0\e(B)
1176 ("B" ?\e$,1(1\e(B)
1177 ("W" ?\e$,1(2\e(B)
1178 ("G" ?\e$,1(3\e(B)
1179 ("D" ?\e$,1(4\e(B)
1180 ("E" ?\e$,1(5\e(B)
1181 ("V" ?\e$,1(6\e(B)
1182 ("Z" ?\e$,1(7\e(B)
1183 ("I" ?\e$,1(8\e(B)
1184 ("J" ?\e$,1(9\e(B)
1185 ("K" ?\e$,1(:\e(B)
1186 ("L" ?\e$,1(;\e(B)
1187 ("M" ?\e$,1(<\e(B)
1188 ("N" ?\e$,1(=\e(B)
1189 ("O" ?\e$,1(>\e(B)
1190 ("P" ?\e$,1(?\e(B)
1191 ("R" ?\e$,1(@\e(B)
1192 ("S" ?\e$,1(A\e(B)
1193 ("T" ?\e$,1(B\e(B)
1194 ("U" ?\e$,1(C\e(B)
1195 ("F" ?\e$,1(D\e(B)
1196 ("H" ?\e$,1(E\e(B)
1197 ("C" ?\e$,1(F\e(B)
1198 ("~" ?\e$,1(G\e(B)
1199 ("{" ?\e$,1(H\e(B)
1200 ("}" ?\e$,1(I\e(B)
1201 ("Y" ?\e$,1(J\e(B)
1202 ("X" ?\e$,1(L\e(B)
1203 ("|" ?\e$,1(N\e(B)
1204 ("Q" ?\e$,1(O\e(B)
1205 ("a" ?\e$,1(P\e(B)
1206 ("b" ?\e$,1(Q\e(B)
1207 ("w" ?\e$,1(R\e(B)
1208 ("g" ?\e$,1(S\e(B)
1209 ("d" ?\e$,1(T\e(B)
1210 ("e" ?\e$,1(U\e(B)
1211 ("v" ?\e$,1(V\e(B)
1212 ("z" ?\e$,1(W\e(B)
1213 ("i" ?\e$,1(X\e(B)
1214 ("j" ?\e$,1(Y\e(B)
1215 ("k" ?\e$,1(Z\e(B)
1216 ("l" ?\e$,1([\e(B)
1217 ("m" ?\e$,1(\\e(B)
1218 ("n" ?\e$,1(]\e(B)
1219 ("o" ?\e$,1(^\e(B)
1220 ("p" ?\e$,1(_\e(B)
1221 ("r" ?\e$,1(`\e(B)
1222 ("s" ?\e$,1(a\e(B)
1223 ("t" ?\e$,1(b\e(B)
1224 ("u" ?\e$,1(c\e(B)
1225 ("f" ?\e$,1(d\e(B)
1226 ("h" ?\e$,1(e\e(B)
1227 ("c" ?\e$,1(f\e(B)
1228 ("`" ?\e$,1(g\e(B)
1229 ("[" ?\e$,1(h\e(B)
1230 ("]" ?\e$,1(i\e(B)
1231 ("y" ?\e$,1(j\e(B)
1232 ("x" ?\e$,1(l\e(B)
1233 ("\\" ?\e$,1(n\e(B)
1234 ("|" ?\e$,1(N\e(B)
1235 ("q" ?\e$,1(o\e(B))
1236
1237 ;; Based on an implementation by Ognyan Kulev <ogi@fmi.uni-sofia.bg>.
1238 ;; This follows XKB bg.
1239
1240 (quail-define-package
1241 "bulgarian-bds" "Bulgarian" "\e$,1(1(4(A\e(B" nil
1242 "Bulgarian standard keyboard layout (BDS)
1243
1244 This keyboard layout is standard for Bulgarian typewriters."
1245 nil t t t t nil nil nil nil nil t)
1246
1247 ;; 1! 2? 3+ 4" 5% 6= 7: 8/ 9_ 0\e$,1uV\e(B -I .V
1248 ;; ,\e$,1(k\e(B \e$,1(C\e(B \e$,1(5\e(B \e$,1(8\e(B \e$,1(H\e(B \e$,1(I\e(B \e$,1(:\e(B \e$,1(A\e(B \e$,1(4\e(B \e$,1(7\e(B \e$,1(F\e(B ;\e,A'\e(B
1249 ;; \e$,1(l\e(B \e$,1(O\e(B \e$,1(0\e(B \e$,1(>\e(B \e$,1(6\e(B \e$,1(3\e(B \e$,1(B\e(B \e$,1(=\e(B \e$,1(2\e(B \e$,1(<\e(B \e$,1(G\e(B ()
1250 ;; \e$,1(N\e(B \e$,1(9\e(B \e$,1(J\e(B \e$,1(M\e(B \e$,1(D\e(B \e$,1(E\e(B \e$,1(?\e(B \e$,1(@\e(B \e$,1(;\e(B \e$,1(1\e(B
1251
1252 (quail-define-rules
1253
1254 ("1" ?1) ("!" ?!)
1255 ("2" ?2)
1256 ("@" ??)
1257 ("3" ?3)
1258 ("#" ?+)
1259 ("4" ?4)
1260 ("$" ?\")
1261 ("5" ?5) ("%" ?%)
1262 ("6" ?6)
1263 ("^" ?=)
1264 ("7" ?7)
1265 ("&" ?:)
1266 ("8" ?8)
1267 ("*" ?/)
1268 ("9" ?9)
1269 ("(" ?_)
1270 ("0" ?0)
1271 (")" ?\e$,1uV\e(B)
1272 ("-" ?-)
1273 ("_" ?I)
1274 ("=" ?.) ("+" ?V)
1275
1276 ("q" ?,) ("Q" ?\e$,1(k\e(B)
1277 ("w" ?\e$,1(c\e(B) ("W" ?\e$,1(C\e(B)
1278 ("e" ?\e$,1(U\e(B) ("E" ?\e$,1(5\e(B)
1279 ("r" ?\e$,1(X\e(B) ("R" ?\e$,1(8\e(B)
1280 ("t" ?\e$,1(h\e(B) ("T" ?\e$,1(H\e(B)
1281 ("y" ?\e$,1(i\e(B) ("Y" ?\e$,1(I\e(B)
1282 ("u" ?\e$,1(Z\e(B) ("U" ?\e$,1(:\e(B)
1283 ("i" ?\e$,1(a\e(B) ("I" ?\e$,1(A\e(B)
1284 ("o" ?\e$,1(T\e(B) ("O" ?\e$,1(4\e(B)
1285 ("p" ?\e$,1(W\e(B) ("P" ?\e$,1(7\e(B)
1286 ("[" ?\e$,1(f\e(B) ("{" ?\e$,1(F\e(B)
1287 ("]" ?\;)
1288 ("}" ?\e,A'\e(B) ;; not in XKB's bg
1289
1290 ("a" ?\e$,1(l\e(B) ("A" ?\e$,1(L\e(B)
1291 ("s" ?\e$,1(o\e(B) ("S" ?\e$,1(O\e(B)
1292 ("d" ?\e$,1(P\e(B) ("D" ?\e$,1(0\e(B)
1293 ("f" ?\e$,1(^\e(B) ("F" ?\e$,1(>\e(B)
1294 ("g" ?\e$,1(V\e(B) ("G" ?\e$,1(6\e(B)
1295 ("h" ?\e$,1(S\e(B) ("H" ?\e$,1(3\e(B)
1296 ("j" ?\e$,1(b\e(B) ("J" ?\e$,1(B\e(B)
1297 ("k" ?\e$,1(]\e(B) ("K" ?\e$,1(=\e(B)
1298 ("l" ?\e$,1(R\e(B) ("L" ?\e$,1(2\e(B)
1299 (";" ?\e$,1(\\e(B) (":" ?\e$,1(<\e(B)
1300 ("'" ?\e$,1(g\e(B) ("\"" ?\e$,1(G\e(B)
1301 ("`" ?\() ("~" ?\))
1302
1303 ("z" ?\e$,1(n\e(B) ("Z" ?\e$,1(N\e(B)
1304 ("x" ?\e$,1(Y\e(B) ("X" ?\e$,1(9\e(B)
1305 ("c" ?\e$,1(j\e(B) ("C" ?\e$,1(J\e(B)
1306 ("v" ?\e$,1(m\e(B) ("V" ?\e$,1(M\e(B)
1307 ("b" ?\e$,1(d\e(B) ("B" ?\e$,1(D\e(B)
1308 ("n" ?\e$,1(e\e(B) ("N" ?\e$,1(E\e(B)
1309 ("m" ?\e$,1(_\e(B) ("M" ?\e$,1(?\e(B)
1310 ("," ?\e$,1(`\e(B) ("<" ?\e$,1(@\e(B)
1311 ("." ?\e$,1([\e(B) (">" ?\e$,1(;\e(B)
1312 ("/" ?\e$,1(Q\e(B) ("?" ?\e$,1(1\e(B)
1313 ("\\" ?') ("|" ?\e$,1(K\e(B))
1314
1315 ;; Local Variables:
1316 ;; coding: iso-2022-7bit
1317 ;; End:
1318
1319 ;;; cyrillic.el ends here