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