]> code.delx.au - gnu-emacs/blob - lisp/leim/quail/cyrillic.el
464431d36e8409bbc58ad6f2437dcbdcf323b415
[gnu-emacs] / lisp / leim / quail / cyrillic.el
1 ;;; cyrillic.el --- Quail package for inputting Cyrillic characters
2
3 ;; Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
4 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
5 ;; 2006, 2007, 2008, 2009, 2010, 2011
6 ;; National Institute of Advanced Industrial Science and Technology (AIST)
7 ;; Registration Number H14PRO021
8
9 ;; Author: TAKAHASHI Naoto <ntakahas@m17n.org>
10 ;; Keywords: multilingual, input method, Cyrillic, i18n
11
12 ;; This file is part of GNU Emacs.
13
14 ;; GNU Emacs is free software: you can redistribute it and/or modify
15 ;; it under the terms of the GNU General Public License as published by
16 ;; the Free Software Foundation, either version 3 of the License, or
17 ;; (at your option) any later version.
18
19 ;; GNU Emacs is distributed in the hope that it will be useful,
20 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
21 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 ;; GNU General Public License for more details.
23
24 ;; You should have received a copy of the GNU General Public License
25 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
26
27 ;;; Commentary:
28
29 ;; These methods use a mixture of 8859-5 and Unicode. Quail, used
30 ;; with ucs-tables provides support 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 superseded 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 conveniently 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" "ЖЙ" nil
51 "ЙЦУКЕН 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 != ;\ |+
55 ;; Й Ц У К Е Н Г Ш Щ З Х Ъ )(
56 ;; Ф Ы В А П Р О Л Д Ж Э
57 ;; Я Ч С М И Т Ь Б Ю Ё
58
59 (quail-define-rules
60 ("1" ?№)
61 ("2" ?-)
62 ("3" ?/)
63 ("4" ?\")
64 ("5" ?:)
65 ("6" ?,)
66 ("7" ?.)
67 ("8" ?_)
68 ("9" ??)
69 ("0" ?%)
70 ("-" ?!)
71 ("=" ?\;)
72 ("`" ?|)
73 ("q" ?й)
74 ("w" ?ц)
75 ("e" ?у)
76 ("r" ?к)
77 ("t" ?е)
78 ("y" ?н)
79 ("u" ?г)
80 ("i" ?ш)
81 ("o" ?щ)
82 ("p" ?з)
83 ("[" ?х)
84 ("]" ?ъ)
85 ("a" ?ф)
86 ("s" ?ы)
87 ("d" ?в)
88 ("f" ?а)
89 ("g" ?п)
90 ("h" ?р)
91 ("j" ?о)
92 ("k" ?л)
93 ("l" ?д)
94 (";" ?ж)
95 ("'" ?э)
96 ("\\" ?\))
97 ("z" ?я)
98 ("x" ?ч)
99 ("c" ?с)
100 ("v" ?м)
101 ("b" ?и)
102 ("n" ?т)
103 ("m" ?ь)
104 ("," ?б)
105 ("." ?ю)
106 ("/" ?ё)
107
108 ("!" ?1)
109 ("@" ?2)
110 ("#" ?3)
111 ("$" ?4)
112 ("%" ?5)
113 ("^" ?6)
114 ("&" ?7)
115 ("*" ?8)
116 ("(" ?9)
117 (")" ?0)
118 ("_" ?=)
119 ("+" ?\\)
120 ("~" ?+)
121 ("Q" ?Й)
122 ("W" ?Ц)
123 ("E" ?У)
124 ("R" ?К)
125 ("T" ?Е)
126 ("Y" ?Н)
127 ("U" ?Г)
128 ("I" ?Ш)
129 ("O" ?Щ)
130 ("P" ?З)
131 ("{" ?Х)
132 ("}" ?Ъ)
133 ("A" ?Ф)
134 ("S" ?Ы)
135 ("D" ?В)
136 ("F" ?А)
137 ("G" ?П)
138 ("H" ?Р)
139 ("J" ?О)
140 ("K" ?Л)
141 ("L" ?Д)
142 (":" ?Ж)
143 ("\"" ?Э)
144 ("|" ?\()
145 ("Z" ?Я)
146 ("X" ?Ч)
147 ("C" ?С)
148 ("V" ?М)
149 ("B" ?И)
150 ("N" ?Т)
151 ("M" ?Ь)
152 ("<" ?Б)
153 (">" ?Ю)
154 ("?" ?Ё)
155 )
156
157 ;; Maintain the obsolete name for now.
158 (push (cons "cyrillic-jcuken"
159 (cdr (assoc "russian-typewriter" quail-package-alist)))
160 quail-package-alist)
161
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" "ЖЙ" nil
168 "ЙЦУКЕН Russian typewriter layout (ISO 8859-5 encoding)."))
169
170 ;; See comment above. This is the variant `winkeys' from `ru' in XKB.
171 (quail-define-package
172 "russian-computer" "Russian" "RU" nil
173 "ЙЦУКЕН Russian computer layout"
174 nil t t t t nil nil nil nil nil t)
175
176 ;; 1! 2" 3№ 4; 5% 6: 7? 8* 9( 0) -_ =+ \/ ёЁ
177 ;; Й Ц У К Е Н Г Ш Щ З Х Ъ
178 ;; Ф Ы В А П Р О Л Д Ж Э
179 ;; Я Ч С М И Т Ь Б Ю .,
180
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 ("|" ?/)
195 ("`" ?ё)
196 ("q" ?й)
197 ("w" ?ц)
198 ("e" ?у)
199 ("r" ?к)
200 ("t" ?е)
201 ("y" ?н)
202 ("u" ?г)
203 ("i" ?ш)
204 ("o" ?щ)
205 ("p" ?з)
206 ("[" ?х)
207 ("]" ?ъ)
208 ("a" ?ф)
209 ("s" ?ы)
210 ("d" ?в)
211 ("f" ?а)
212 ("g" ?п)
213 ("h" ?р)
214 ("j" ?о)
215 ("k" ?л)
216 ("l" ?д)
217 (";" ?ж)
218 ("'" ?э)
219 ("\\" ?\\)
220 ("z" ?я)
221 ("x" ?ч)
222 ("c" ?с)
223 ("v" ?м)
224 ("b" ?и)
225 ("n" ?т)
226 ("m" ?ь)
227 ("," ?б)
228 ("." ?ю)
229 ("/" ?.)
230 ("!" ?!)
231 ("@" ?\")
232 ("#" ?№)
233 ("$" ?\;)
234 ("%" ?%)
235 ("^" ?:)
236 ("&" ??)
237 ("*" ?*)
238 ("(" ?()
239 (")" ?))
240 ("_" ?_)
241 ("+" ?+)
242 ("~" ?Ё)
243 ("Q" ?Й)
244 ("W" ?Ц)
245 ("E" ?У)
246 ("R" ?К)
247 ("T" ?Е)
248 ("Y" ?Н)
249 ("U" ?Г)
250 ("I" ?Ш)
251 ("O" ?Щ)
252 ("P" ?З)
253 ("{" ?Х)
254 ("}" ?Ъ)
255 ("A" ?Ф)
256 ("S" ?Ы)
257 ("D" ?В)
258 ("F" ?А)
259 ("G" ?П)
260 ("H" ?Р)
261 ("J" ?О)
262 ("K" ?Л)
263 ("L" ?Д)
264 (":" ?Ж)
265 ("\"" ?Э)
266 ("|" ?|)
267 ("Z" ?Я)
268 ("X" ?Ч)
269 ("C" ?С)
270 ("V" ?М)
271 ("B" ?И)
272 ("N" ?Т)
273 ("M" ?Ь)
274 ("<" ?Б)
275 (">" ?Ю)
276 ("?" ?,))
277
278 ;; Mikhailian couldn't check the next two.
279
280 ;; This seems to have the same layout for letters as mk in XKB, but at
281 ;; least the top row is different.
282 (quail-define-package
283 "cyrillic-macedonian" "Cyrillic" "ЖM" nil
284 "ЉЊЕРТЗ-ЃЌ keyboard layout based on JUS.I.K1.004"
285 nil t t t t nil nil nil nil nil t)
286
287 ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
288 ;; Љ Њ Е Р Т З У И О П Ш Ѓ
289 ;; А С Д Ф Г Х Ј К Л Ч Ќ Ж
290 ;; Ѕ Џ Ц В Б Н М ,; .: -_
291
292 (quail-define-rules
293 ("1" ?1)
294 ("2" ?2)
295 ("3" ?3)
296 ("4" ?4)
297 ("5" ?5)
298 ("6" ?6)
299 ("7" ?7)
300 ("8" ?8)
301 ("9" ?9)
302 ("0" ?0)
303 ("-" ?/)
304 ("=" ?+)
305 ("`" ?<)
306 ("q" ?љ)
307 ("w" ?њ)
308 ("e" ?е)
309 ("r" ?р)
310 ("t" ?т)
311 ("y" ?з)
312 ("u" ?у)
313 ("i" ?и)
314 ("o" ?о)
315 ("p" ?п)
316 ("[" ?ш)
317 ("]" ?ѓ)
318 ("a" ?а)
319 ("s" ?с)
320 ("d" ?д)
321 ("f" ?ф)
322 ("g" ?г)
323 ("h" ?х)
324 ("j" ?ј)
325 ("k" ?к)
326 ("l" ?л)
327 (";" ?ч)
328 ("'" ?ќ)
329 ("\\" ?ж)
330 ("z" ?ѕ)
331 ("x" ?џ)
332 ("c" ?ц)
333 ("v" ?в)
334 ("b" ?б)
335 ("n" ?н)
336 ("m" ?м)
337 ("," ?,)
338 ("." ?.)
339 ("/" ?-)
340
341 ("!" ?!)
342 ("@" ?\")
343 ("#" ?#)
344 ("$" ?$)
345 ("%" ?%)
346 ("^" ?&)
347 ("&" ?')
348 ("*" ?\()
349 ("(" ?\))
350 (")" ?=)
351 ("_" ??)
352 ("+" ?*)
353 ("~" ?>)
354 ("Q" ?Љ)
355 ("W" ?Њ)
356 ("E" ?Е)
357 ("R" ?Р)
358 ("T" ?Т)
359 ("Y" ?З)
360 ("U" ?У)
361 ("I" ?И)
362 ("O" ?О)
363 ("P" ?П)
364 ("{" ?Ш)
365 ("}" ?Ѓ)
366 ("A" ?А)
367 ("S" ?С)
368 ("D" ?Д)
369 ("F" ?Ф)
370 ("G" ?Г)
371 ("H" ?Х)
372 ("J" ?Ј)
373 ("K" ?К)
374 ("L" ?Л)
375 (":" ?Ч)
376 ("\"" ?Ќ)
377 ("|" ?Ж)
378 ("Z" ?Ѕ)
379 ("X" ?Џ)
380 ("C" ?Ц)
381 ("V" ?В)
382 ("B" ?Б)
383 ("N" ?Н)
384 ("M" ?М)
385 ("<" ?\;)
386 (">" ?:)
387 ("?" ?_))
388
389 ;;
390
391 (quail-define-package
392 "cyrillic-serbian" "Cyrillic" "ЖS" nil
393 "ЉЊЕРТЗ-ЂЋ keyboard layout based on JUS.I.K1.005"
394 nil t t t t nil nil nil nil nil t)
395
396 ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
397 ;; Љ Њ Е Р Т З У И О П Ш Ђ
398 ;; А С Д Ф Г Х Ј К Л Ч Ћ Ж
399 ;; Ѕ Џ Ц В Б Н М ,; .: -_
400
401 (quail-define-rules
402 ("1" ?1)
403 ("2" ?2)
404 ("3" ?3)
405 ("4" ?4)
406 ("5" ?5)
407 ("6" ?6)
408 ("7" ?7)
409 ("8" ?8)
410 ("9" ?9)
411 ("0" ?0)
412 ("-" ?/)
413 ("=" ?+)
414 ("`" ?<)
415 ("q" ?љ)
416 ("w" ?њ)
417 ("e" ?е)
418 ("r" ?р)
419 ("t" ?т)
420 ("y" ?з)
421 ("u" ?у)
422 ("i" ?и)
423 ("o" ?о)
424 ("p" ?п)
425 ("[" ?ш)
426 ("]" ?ђ)
427 ("a" ?а)
428 ("s" ?с)
429 ("d" ?д)
430 ("f" ?ф)
431 ("g" ?г)
432 ("h" ?х)
433 ("j" ?ј)
434 ("k" ?к)
435 ("l" ?л)
436 (";" ?ч)
437 ("'" ?ћ)
438 ("\\" ?ж)
439 ("z" ?ѕ)
440 ("x" ?џ)
441 ("c" ?ц)
442 ("v" ?в)
443 ("b" ?б)
444 ("n" ?н)
445 ("m" ?м)
446 ("," ?,)
447 ("." ?.)
448 ("/" ?-)
449
450 ("!" ?!)
451 ("@" ?\")
452 ("#" ?#)
453 ("$" ?$)
454 ("%" ?%)
455 ("^" ?&)
456 ("&" ?')
457 ("*" ?\()
458 ("(" ?\))
459 (")" ?=)
460 ("_" ??)
461 ("+" ?*)
462 ("~" ?>)
463 ("Q" ?Љ)
464 ("W" ?Њ)
465 ("E" ?Е)
466 ("R" ?Р)
467 ("T" ?Т)
468 ("Y" ?З)
469 ("U" ?У)
470 ("I" ?И)
471 ("O" ?О)
472 ("P" ?П)
473 ("{" ?Ш)
474 ("}" ?Ђ)
475 ("A" ?А)
476 ("S" ?С)
477 ("D" ?Д)
478 ("F" ?Ф)
479 ("G" ?Г)
480 ("H" ?Х)
481 ("J" ?Ј)
482 ("K" ?К)
483 ("L" ?Л)
484 (":" ?Ч)
485 ("\"" ?Ћ)
486 ("|" ?Ж)
487 ("Z" ?Ѕ)
488 ("X" ?Џ)
489 ("C" ?Ц)
490 ("V" ?В)
491 ("B" ?Б)
492 ("N" ?Н)
493 ("M" ?М)
494 ("<" ?\;)
495 (">" ?:)
496 ("?" ?_))
497
498 ;;
499
500 ;; Alexander Mikhailian comments:
501 ;; Having worked for several years as a Belarusian linguist, I still
502 ;; can not find the origin of this layout which BTW does include
503 ;; several characters that are not present in Belarusian and does not
504 ;; include a few ones that do exist in Belarusian. Besides, the typo
505 ;; in the name of this layout speaks for itself since Belarusian has
506 ;; an outdated version of spelling which is "Byelorussian" and not
507 ;; "beylorussian". I suggest that you just remove this layout.
508
509 ;; [`derived from JUS.I.K1' according to an old Mule note -- fx]
510
511 ;; (quail-define-package
512 ;; "cyrillic-beylorussian" "Belarussian" "ЖB" nil
513 ;; "ЉЊЕРТЗ-ІЎ BEYLORUSSIAN (ISO 8859-5 encoding)"
514 ;; nil t t t t nil nil nil nil nil t)
515
516 ;; ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
517 ;; ;; Љ Њ Е Р Т З У И О П Ш І
518 ;; ;; А С Д Ф Г Х Ј К Л Ч Ў Ж
519 ;; ;; Ѕ Џ Ц В Б Н М ,; .: -_
520
521 ;; (quail-define-rules
522 ;; ("-" ?/)
523 ;; ("=" ?+)
524 ;; ("`" ?<)
525 ;; ("q" ?љ)
526 ;; ("w" ?њ)
527 ;; ("e" ?е)
528 ;; ("r" ?р)
529 ;; ("t" ?т)
530 ;; ("y" ?з)
531 ;; ("u" ?у)
532 ;; ("i" ?и)
533 ;; ("o" ?о)
534 ;; ("p" ?п)
535 ;; ("[" ?ш)
536 ;; ("]" ?і)
537 ;; ("a" ?а)
538 ;; ("s" ?с)
539 ;; ("d" ?д)
540 ;; ("f" ?ф)
541 ;; ("g" ?г)
542 ;; ("h" ?х)
543 ;; ("j" ?ј)
544 ;; ("k" ?к)
545 ;; ("l" ?л)
546 ;; (";" ?ч)
547 ;; ("'" ?ў)
548 ;; ("\\" ?ж)
549 ;; ("z" ?ѕ)
550 ;; ("x" ?џ)
551 ;; ("c" ?ц)
552 ;; ("v" ?в)
553 ;; ("b" ?б)
554 ;; ("n" ?н)
555 ;; ("m" ?м)
556 ;; ("/" ?-)
557
558 ;; ("@" ?\")
559 ;; ("^" ?&)
560 ;; ("&" ?')
561 ;; ("*" ?\()
562 ;; ("(" ?\))
563 ;; (")" ?=)
564 ;; ("_" ??)
565 ;; ("+" ?*)
566 ;; ("~" ?>)
567 ;; ("Q" ?Љ)
568 ;; ("W" ?Њ)
569 ;; ("E" ?Е)
570 ;; ("R" ?Р)
571 ;; ("T" ?Т)
572 ;; ("Y" ?З)
573 ;; ("U" ?У)
574 ;; ("I" ?И)
575 ;; ("O" ?О)
576 ;; ("P" ?П)
577 ;; ("{" ?Ш)
578 ;; ("}" ?І)
579 ;; ("A" ?А)
580 ;; ("S" ?С)
581 ;; ("D" ?Д)
582 ;; ("F" ?Ф)
583 ;; ("G" ?Г)
584 ;; ("H" ?Х)
585 ;; ("J" ?Ј)
586 ;; ("K" ?К)
587 ;; ("L" ?Л)
588 ;; (":" ?Ч)
589 ;; ("\"" ?Ў)
590 ;; ("|" ?Ж)
591 ;; ("Z" ?Ѕ)
592 ;; ("X" ?Џ)
593 ;; ("C" ?Ц)
594 ;; ("V" ?В)
595 ;; ("B" ?Б)
596 ;; ("N" ?Н)
597 ;; ("M" ?М)
598 ;; ("<" ?\;)
599 ;; (">" ?:)
600 ;; ("?" ?_))
601
602 ;;
603
604 ;; Alexander Mikhailian reports the opinion of fellow Ukrainian
605 ;; linguist Bogdan Babych <babych@altern.org>:
606 ;; He had seen this layout on some oldish systems but that the vast
607 ;; majority of the population uses a modified version of the M$ Windows
608 ;; layout. In fact, Microsoft shipped for a while a layout that was lacking
609 ;; two characters, precisely the "GHE_WITH_UPTURN" and the apostrophe. The
610 ;; latest versions of Windows software do have the "GHE_WITH_UPTURN" in the
611 ;; ukrainian keyboard layout but the apostrophe is still not there, whereas
612 ;; there is one letter, "Cyrillic_YO", not used in ukrainian. Ukrainians
613 ;; normally replace the "Cyrillic_YO" by the apostrophe sign and live
614 ;; happily with this little change. [See "ukrainian-computer" below.]
615
616 ;; Fixme: add GHE_WITH_UPTURN.
617 (quail-define-package
618 "cyrillic-ukrainian" "Ukrainian" "ЖU" nil
619 "ЄЇЕРТЗ-ІЎ UKRAINIAN
620
621 Sorry, but 'ghe with upturn' is not included in ISO 8859-5."
622 nil t t t t nil nil nil nil nil t)
623
624 ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
625 ;; Є Ї Е Р Т З У И О П Ш І
626 ;; А С Д Ф Г Х Ј К Л Ч Ў Ж
627 ;; Ѕ Џ Ц В Б Н М ,; .: -_
628
629 (quail-define-rules
630 ("1" ?1)
631 ("2" ?2)
632 ("3" ?3)
633 ("4" ?4)
634 ("5" ?5)
635 ("6" ?6)
636 ("7" ?7)
637 ("8" ?8)
638 ("9" ?9)
639 ("0" ?0)
640 ("-" ?/)
641 ("=" ?+)
642 ("`" ?<)
643 ("q" ?є)
644 ("w" ?ї)
645 ("e" ?е)
646 ("r" ?р)
647 ("t" ?т)
648 ("y" ?з)
649 ("u" ?у)
650 ("i" ?и)
651 ("o" ?о)
652 ("p" ?п)
653 ("[" ?ш)
654 ("]" ?і)
655 ("a" ?а)
656 ("s" ?с)
657 ("d" ?д)
658 ("f" ?ф)
659 ("g" ?г)
660 ("h" ?х)
661 ("j" ?ј)
662 ("k" ?к)
663 ("l" ?л)
664 (";" ?ч)
665 ("'" ?ў)
666 ("\\" ?ж)
667 ("z" ?ѕ)
668 ("x" ?џ)
669 ("c" ?ц)
670 ("v" ?в)
671 ("b" ?б)
672 ("n" ?н)
673 ("m" ?м)
674 ("," ?,)
675 ("." ?.)
676 ("/" ?-)
677
678 ("!" ?!)
679 ("@" ?\")
680 ("#" ?#)
681 ("$" ?$)
682 ("%" ?%)
683 ("^" ?&)
684 ("&" ?')
685 ("*" ?\()
686 ("(" ?\))
687 (")" ?=)
688 ("_" ??)
689 ("+" ?*)
690 ("~" ?>)
691 ("Q" ?Є)
692 ("W" ?Ї)
693 ("E" ?Е)
694 ("R" ?Р)
695 ("T" ?Т)
696 ("Y" ?З)
697 ("U" ?У)
698 ("I" ?И)
699 ("O" ?О)
700 ("P" ?П)
701 ("{" ?Ш)
702 ("}" ?І)
703 ("A" ?А)
704 ("S" ?С)
705 ("D" ?Д)
706 ("F" ?Ф)
707 ("G" ?Г)
708 ("H" ?Х)
709 ("J" ?Ј)
710 ("K" ?К)
711 ("L" ?Л)
712 (":" ?Ч)
713 ("\"" ?Ў)
714 ("|" ?Ж)
715 ("Z" ?Ѕ)
716 ("X" ?Џ)
717 ("C" ?Ц)
718 ("V" ?В)
719 ("B" ?Б)
720 ("N" ?Н)
721 ("M" ?М)
722 ("<" ?\;)
723 (">" ?:)
724 ("?" ?_))
725
726
727 (quail-define-package
728 "ukrainian-computer" "Ukrainian" "UK" nil
729 "ЙЦУКЕН Ukrainian (Unicode-based for use with KOI8-U encoding)."
730 nil t t t t nil nil nil nil nil t)
731
732 ;; ' 1! 2" 3№ 4; 5% 6: 7? 8* 9( 0) -_ =+
733 ;; Й Ц У К Е Н Г Ш Щ З Х Ї
734 ;; Ф І В А П Р О Л Д Ж Є Ґ
735 ;; Я Ч С М И Т Ь Б Ю .,
736
737 (quail-define-rules
738 ("1" ?1)
739 ("2" ?2)
740 ("3" ?3)
741 ("4" ?4)
742 ("5" ?5)
743 ("6" ?6)
744 ("7" ?7)
745 ("8" ?8)
746 ("9" ?9)
747 ("0" ?0)
748 ("-" ?-)
749 ("=" ?=)
750 ("`" ?')
751 ("q" ?й)
752 ("w" ?ц)
753 ("e" ?у)
754 ("r" ?к)
755 ("t" ?е)
756 ("y" ?н)
757 ("u" ?г)
758 ("i" ?ш)
759 ("o" ?щ)
760 ("p" ?з)
761 ("[" ?х)
762 ("]" ?ї)
763 ("a" ?ф)
764 ("s" ?і)
765 ("d" ?в)
766 ("f" ?а)
767 ("g" ?п)
768 ("h" ?р)
769 ("j" ?о)
770 ("k" ?л)
771 ("l" ?д)
772 (";" ?ж)
773 ("'" ?є)
774 ("z" ?я)
775 ("x" ?ч)
776 ("c" ?с)
777 ("v" ?м)
778 ("b" ?и)
779 ("n" ?т)
780 ("m" ?ь)
781 ("," ?б)
782 ("." ?ю)
783 ("/" ?.)
784 ("!" ?!)
785 ("@" ?\")
786 ("#" ?№)
787 ("$" ?\;)
788 ("%" ?%)
789 ("^" ?:)
790 ("&" ??)
791 ("*" ?*)
792 ("(" ?()
793 (")" ?))
794 ("_" ?_)
795 ("+" ?+)
796 ("~" ?')
797 ("Q" ?Й)
798 ("W" ?Ц)
799 ("E" ?У)
800 ("R" ?К)
801 ("T" ?Е)
802 ("Y" ?Н)
803 ("U" ?Г)
804 ("I" ?Ш)
805 ("O" ?Щ)
806 ("P" ?З)
807 ("{" ?Х)
808 ("}" ?Ї)
809 ("A" ?Ф)
810 ("S" ?І)
811 ("D" ?В)
812 ("F" ?А)
813 ("G" ?П)
814 ("H" ?Р)
815 ("J" ?О)
816 ("K" ?Л)
817 ("L" ?Д)
818 (":" ?Ж)
819 ("\"" ?Є)
820 ("Z" ?Я)
821 ("X" ?Ч)
822 ("C" ?С)
823 ("V" ?М)
824 ("B" ?И)
825 ("N" ?Т)
826 ("M" ?Ь)
827 ("<" ?Б)
828 (">" ?Ю)
829 ("?" ?,)
830 ("\\" ?ґ)
831 ("|" ?Ґ))
832 ;;
833
834 ;; Alexander Mikhailian says this is of limited use. It has been
835 ;; popular among emigrants or foreigners who have to type in Cyrillic
836 ;; (mostly Russian) from time to time.
837 (quail-define-package
838 "cyrillic-yawerty" "Cyrillic" "ЖЯ" nil
839 "ЯВЕРТЫ Roman transcription
840
841 This layout is based on Roman transcription by phonemic resemblance.
842 When preceded by a '/', the second and the third rows (number key row) change
843 as follows.
844
845 keytop | Q W E R T Y U I O P A S D
846 --------+---------------------------------------
847 input | Ђ Ѓ Є Ѕ І Ї Ј Љ Њ Ћ Ќ Ў Џ"
848 nil t t t t nil nil nil nil nil t)
849
850 ;; 1! 2ё 3ъ 4Ё 5% 6^ 7& 8* 9( 0) -_ Ч Ю
851 ;; Я В Е Р Т Ы У И О П Ш Щ
852 ;; А С Д Ф Г Х Й К Л ;: '" Э
853 ;; З Ь Ц Ж Б Н М ,< .> /?
854
855 ;; 1! 2ё 3ъ 4Ё 5% 6^ 7& 8* 9( 0) -_ Ч Ю
856 ;; Ђ Ѓ Є Ѕ І Ї Ј Љ Њ Ћ Ш Щ
857 ;; Ќ Ў Џ Ф Г Х Й К Л ;: '" Э
858 ;; З Ь Ц Ж Б Н М ,< .> /?
859
860 (quail-define-rules
861 ("1" ?1)
862 ("2" ?2)
863 ("3" ?3)
864 ("4" ?4)
865 ("5" ?5)
866 ("6" ?6)
867 ("7" ?7)
868 ("8" ?8)
869 ("9" ?9)
870 ("0" ?0)
871 ("-" ?-)
872 ("=" ?ч)
873 ("`" ?ю)
874 ("q" ?я)
875 ("w" ?в)
876 ("e" ?е)
877 ("r" ?р)
878 ("t" ?т)
879 ("y" ?ы)
880 ("u" ?у)
881 ("i" ?и)
882 ("o" ?о)
883 ("p" ?п)
884 ("[" ?ш)
885 ("]" ?щ)
886 ("a" ?а)
887 ("s" ?с)
888 ("d" ?д)
889 ("f" ?ф)
890 ("g" ?г)
891 ("h" ?х)
892 ("j" ?й)
893 ("k" ?к)
894 ("l" ?л)
895 (";" ?\;)
896 ("'" ?')
897 ("\\" ?э)
898 ("z" ?з)
899 ("x" ?ь)
900 ("c" ?ц)
901 ("v" ?ж)
902 ("b" ?б)
903 ("n" ?н)
904 ("m" ?м)
905 ("," ?,)
906 ("." ?.)
907 ("/" ?/)
908
909 ("!" ?!)
910 ("@" ?ё)
911 ("#" ?ъ)
912 ("$" ?Ё)
913 ("%" ?%)
914 ("^" ?^)
915 ("&" ?&)
916 ("*" ?*)
917 ("(" ?\()
918 (")" ?\))
919 ("_" ?_)
920 ("+" ?Ч)
921 ("~" ?Ю)
922 ("Q" ?Я)
923 ("W" ?В)
924 ("E" ?Е)
925 ("R" ?Р)
926 ("T" ?Т)
927 ("Y" ?Ы)
928 ("U" ?У)
929 ("I" ?И)
930 ("O" ?О)
931 ("P" ?П)
932 ("{" ?Ш)
933 ("}" ?Щ)
934 ("A" ?А)
935 ("S" ?С)
936 ("D" ?Д)
937 ("F" ?Ф)
938 ("G" ?Г)
939 ("H" ?Х)
940 ("J" ?Й)
941 ("K" ?К)
942 ("L" ?Л)
943 (":" ?:)
944 ("\"" ?\")
945 ("|" ?Э)
946 ("Z" ?З)
947 ("X" ?Ь)
948 ("C" ?Ц)
949 ("V" ?Ж)
950 ("B" ?Б)
951 ("N" ?Н)
952 ("M" ?М)
953 ("<" ?<)
954 (">" ?>)
955 ("?" ??)
956
957 ("/q" ?ђ)
958 ("/w" ?ѓ)
959 ("/e" ?є)
960 ("/r" ?ѕ)
961 ("/t" ?і)
962 ("/y" ?ї)
963 ("/u" ?ј)
964 ("/i" ?љ)
965 ("/o" ?њ)
966 ("/p" ?ћ)
967 ("/a" ?ќ)
968 ("/s" ?ў)
969 ("/d" ?џ)
970
971 ("/Q" ?Ђ)
972 ("/W" ?Ѓ)
973 ("/E" ?Є)
974 ("/R" ?Ѕ)
975 ("/T" ?І)
976 ("/Y" ?Ї)
977 ("/U" ?Ј)
978 ("/I" ?Љ)
979 ("/O" ?Њ)
980 ("/P" ?Ћ)
981 ("/A" ?Ќ)
982 ("/S" ?Ў)
983 ("/D" ?Џ))
984
985 ;; This was provided by Valery Alexeev <valery@domovoy.math.uga.edu>.
986
987 ;; Ognyan Kulev <ogi@fmi.uni-sofia.bg> wrote:
988
989 ;; I would suggest future `cyrillic-translit' to be with the
990 ;; modification of `cyrillic-translit-bulgarian' applied and the
991 ;; latter to disappear. It could be used by people who write
992 ;; bulgarian e-mails with latin letters for kick start (phonetic input
993 ;; method is not so obvious as translit input method but each letter
994 ;; is one keypress and a *lot* of people know it).
995
996 ;; Anton Zinoviev <anton@lml.bas.bg> wrote:
997 ;; I would say that the main idea for cyrillic-translit is to be
998 ;; language-independent and universal. It should be able to generate all
999 ;; Cyrillic symbols.
1000 (quail-define-package
1001 "cyrillic-translit" "Cyrillic" "Жt" t
1002 "Intuitively transliterated keyboard layout.
1003 Most convenient for entering Russian, but all Cyrillic characters
1004 are included. Should handle most cases. However:
1005 for ц (TSE) use \"c\", never \"ts\"
1006 щ (SHCHA = Bulgarian SHT) = \"shch\", \"sj\", \"/sht\" or \"/t\",
1007 э (REVERSE ROUNDED E) = \"e\\\"
1008 х (KHA) when after с (S) = \"x\" or \"kh\"
1009 ъ (HARD SIGN) = \"~\", Ъ (CAPITAL HARD SIGN) = \"~~\",
1010 ь (SOFT SIGN) = \"'\", Ь (CAPITAL SOFT SIGN) = \"''\",
1011 я (YA) = \"ya\", \"ja\" or \"q\".
1012
1013 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
1014 u f h=kh=x c ch sh shch=sj=/s=/sht ~ y ' e\\ yu=ju ya=ja=q
1015
1016 Also included are Ukrainian є (YE) = \"/e\", ї (YI) = \"yi\",
1017 ґ (GHE WITH UPTURN) = \"g'\",
1018 Belarusian ў (SHORT U) = \"u~\",
1019 Serbo-Croatian ђ (DJE) = \"/d\", ћ (CHJE)= \"/ch\",
1020 Macedonian ѓ (GJE) = \"/g\", ѕ (DZE) = \"/s\", ќ (KJE) = \"/k\",
1021 cyrillic і (I DECIMAL) = \"/i\", ј (JE) = \"/j\",
1022 љ (LJE) = \"/l\", њ (NJE) = \"/n\" and џ (DZE) =\"/z\"."
1023 nil t t t t nil nil nil nil nil t)
1024
1025 (quail-define-rules
1026 ("a" ?а) ("b" ?б) ("v" ?в) ("w" ?в) ("g" ?г) ("d" ?д)
1027 ("e" ?е) ("je" ?е)
1028 ("yo" ?ё) ("jo" ?ё)
1029 ("zh" ?ж) ("z" ?з) ("i" ?и)
1030 ("j" ?й) ("j'" ?й) ("j`" ?й) ("k" ?к) ("l" ?л)
1031 ("m" ?м) ("n" ?н) ("o" ?о) ("p" ?п) ("r" ?р) ("s" ?с) ("t" ?т) ("u" ?у)
1032 ("f" ?ф) ("x" ?х) ("h" ?х) ("kh" ?х)
1033 ("c" ?ц) ("ch" ?ч)
1034 ("sh" ?ш)
1035 ("shch" ?щ) ("sj" ?щ)
1036 ("/sht" ?щ) ("/t" ?щ)
1037 ("~" ?ъ) ("y" ?ы) ("'" ?ь) ("`" ?ь)
1038 ("e\\" ?э) ("e'" ?э) ("e`" ?э) ("@" ?э)
1039 ("yu" ?ю) ("ju" ?ю)
1040 ("ya" ?я) ("ja" ?я) ("q" ?я)
1041
1042 ("A" ?А) ("B" ?Б) ("V" ?В) ("W" ?В) ("G" ?Г) ("D" ?Д)
1043 ("E" ?Е) ("Je" ?Е) ("JE" ?Е)
1044 ("Yo" ?Ё) ("YO" ?Ё) ("Jo" ?Ё) ("JO" ?Ё)
1045 ("Zh" ?Ж) ("ZH" ?Ж) ("Z" ?З) ("I" ?И)
1046 ("J" ?Й) ("J'" ?Й) ("J`" ?Й) ("K" ?К) ("L" ?Л)
1047 ("M" ?М) ("N" ?Н) ("O" ?О) ("P" ?П) ("R" ?Р) ("S" ?С) ("T" ?Т) ("U" ?У)
1048 ("F" ?Ф) ("X" ?Х) ("H" ?Х) ("Kh" ?Х) ("KH" ?Х)
1049 ("C" ?Ц) ("Ch" ?Ч) ("CH" ?Ч)
1050 ("Sh" ?Ш) ("SH" ?Ш)
1051 ("Shch" ?Щ) ("SHCH" ?Щ) ("Sj" ?Щ) ("SJ" ?Щ)
1052 ("/Sht" ?Щ) ("/SHT" ?Щ) ("/T" ?Щ)
1053 ("~~" ?Ъ) ("Y" ?Ы) ("''" ?Ь)
1054 ("E\\" ?Э) ("E'" ?Э) ("E`" ?Э) ("@@" ?Э)
1055 ("Yu" ?Ю) ("YU" ?Ю) ("Ju" ?Ю) ("JU" ?Ю)
1056 ("Ya" ?Я) ("YA" ?Я) ("Ja" ?Я) ("JA" ?Я) ("Q" ?Я)
1057
1058 ("/e" ?є) ("yi" ?ї) ("u'" ?ў) ("u~" ?ў)
1059 ("g'" ?ґ)
1060 ("/d" ?ђ) ("/ch" ?ћ)
1061 ("/g" ?ѓ) ("/s" ?ѕ) ("/k" ?ќ)
1062 ("/i" ?і) ("/j" ?ј) ("/l" ?љ) ("/n" ?њ) ("/z" ?џ)
1063 ("/E" ?Є) ("YE" ?Є) ("Yi" ?Ї) ("YI" ?Ї) ("U'" ?Ў) ("U~" ?Ў)
1064 ("G'" ?Ґ)
1065 ("/D" ?Ђ) ("/Ch" ?Ћ) ("/CH" ?Ћ)
1066 ("/G" ?Ѓ) ("/S" ?Ѕ) ("/K" ?Ќ)
1067 ("/I" ?І) ("/J" ?Ј) ("/L" ?Љ) ("/N" ?Њ) ("/Z" ?Џ)
1068
1069 ;; Combining accents as a separate character
1070 ("//'" ?́) ("//`" ?̀)
1071
1072 ;; In the following two rules the accent is not a separate character
1073 ("i`" ?ѝ) ("I`" ?Ѝ)
1074
1075 ("/-" ?–) ;; EN DASH
1076 ("/--" ?—) ;; EM DASH
1077 ("/*" ?•) ;; BULLET
1078 ("/." ?․) ;; ONE DOT LEADER
1079 ("/.." ?‥) ;; TWO DOT LEADER
1080 ("/..." ?…) ;; HORIZONTAL ELLIPSIS
1081 ("/,," ?„) ;; DOUBLE LOW-9 QUOTATION MARK
1082 ("/," ?‚) ;; SINGLE LOW-9 QUOTATION MARK
1083 ("/''" ?”) ;; RIGHT DOUBLE QUOTATION MARK
1084 ("/'" ?’) ;; RIGHT SINGLE QUOTATION MARK
1085 ("/``" ?“) ;; LEFT DOUBLE QUOTATION MARK
1086 ("/`" ?‘) ;; LEFT SINGLE QUOTATION MARK
1087 ("/<<" ?«) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
1088 ("/>>" ?») ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
1089
1090 ("/&" ?§)
1091 ("/ab" ?§) ; _аб_зац
1092 ("/pa" ?§) ; _pa_ragraph
1093 ("/#" ?№)
1094 ("/no" ?№) ; _но_мер
1095
1096 ("/c" ?©)
1097 ("/tm" ?™)
1098 ("/reg" ?®)
1099 ("/eu" ?€)
1100 ("/ce" ?¢)
1101
1102 ;; fractions
1103 ("/78" ?⅞)
1104 ("/58" ?⅝)
1105 ("/38" ?⅜)
1106 ("/18" ?⅛)
1107 ("/56" ?⅚)
1108 ("/16" ?⅙)
1109 ("/45" ?⅘)
1110 ("/35" ?⅗)
1111 ("/25" ?⅖)
1112 ("/15" ?⅕)
1113 ("/23" ?⅔)
1114 ("/13" ?⅓)
1115 ("/34" ?¾)
1116 ("/12" ?½)
1117 ("/14" ?¼)
1118
1119 ;; Roman numerals, commonly used for months and section/subsection numbers
1120 ("/RI" ?Ⅰ)
1121 ("/RII" ?Ⅱ)
1122 ("/RIII" ?Ⅲ)
1123 ("/RIV" ?Ⅳ)
1124 ("/RV" ?Ⅴ)
1125 ("/RVI" ?Ⅵ)
1126 ("/RVII" ?Ⅶ)
1127 ("/RVIII" ?Ⅷ)
1128 ("/RIX" ?Ⅸ)
1129 ("/RX" ?Ⅹ)
1130 ("/RXI" ?Ⅺ)
1131 ("/RXII" ?Ⅻ)
1132
1133 ("/ri" ?ⅰ)
1134 ("/rii" ?ⅱ)
1135 ("/riii" ?ⅲ)
1136 ("/riv" ?ⅳ)
1137 ("/rv" ?ⅴ)
1138 ("/rvi" ?ⅵ)
1139 ("/rvii" ?ⅶ)
1140 ("/rviii" ?ⅷ)
1141 ("/rix" ?ⅸ)
1142 ("/rx" ?ⅹ)
1143 ("/rxi" ?ⅺ)
1144 ("/rxii" ?ⅻ)
1145 )
1146
1147 ;; Originally from Yudit's `Belarusian input table according to
1148 ;; STB955-94 belarusian standard' (not all) by Alexander Mikhailian
1149 ;; <mikhailian@altern.org>, subsequently amended by AM.
1150 (quail-define-package
1151 "belarusian" "Belarusian" "BE" nil
1152 "ЙЦУКЕН keyboard layout registered as STB955-94 Belarusian standard.
1153 Unicode based."
1154 nil t t t t nil nil nil nil nil t)
1155
1156 ;; ёЁ 1! 2" 3N 4; 5% 6: 7? 8* 9( 0) -_ =+
1157 ;; Й Ц У К Е Н Г Ш Ў З Х '
1158 ;; Ф Ы В А П Р О Л Д Ж Э
1159 ;; Я Ч С М І Т Ь Б Ю .,
1160
1161 (quail-define-rules
1162 ("~" ?Ё)
1163 ("@" ?\")
1164 ("#" ?№)
1165 ("$" ?\;)
1166 ("%" ?%)
1167 ("^" ?:)
1168 ("&" ??)
1169 ("Q" ?Й)
1170 ("W" ?Ц)
1171 ("E" ?У)
1172 ("R" ?К)
1173 ("T" ?Е)
1174 ("Y" ?Н)
1175 ("U" ?Г)
1176 ("I" ?Ш)
1177 ("O" ?Ў)
1178 ("P" ?З)
1179 ("{" ?Х)
1180 ("}" ?')
1181 ("A" ?Ф)
1182 ("S" ?Ы)
1183 ("D" ?В)
1184 ("F" ?А)
1185 ("G" ?П)
1186 ("H" ?Р)
1187 ("J" ?О)
1188 ("K" ?Л)
1189 ("L" ?Д)
1190 (":" ?Ж)
1191 ("\"" ?Э)
1192 ("|" ?|)
1193 ("Z" ?Я)
1194 ("X" ?Ч)
1195 ("C" ?С)
1196 ("V" ?М)
1197 ("B" ?І)
1198 ("N" ?Т)
1199 ("M" ?Ь)
1200 ("<" ?Б)
1201 (">" ?Ю)
1202 ("?" ?,)
1203
1204 ("`" ?ё)
1205 ("q" ?й)
1206 ("w" ?ц)
1207 ("e" ?у)
1208 ("r" ?к)
1209 ("t" ?е)
1210 ("y" ?н)
1211 ("u" ?г)
1212 ("i" ?ш)
1213 ("o" ?ў)
1214 ("p" ?з)
1215 ("[" ?х)
1216 ("]" ?')
1217 ("a" ?ф)
1218 ("s" ?ы)
1219 ("d" ?в)
1220 ("f" ?а)
1221 ("g" ?п)
1222 ("h" ?р)
1223 ("j" ?о)
1224 ("k" ?л)
1225 ("l" ?д)
1226 (";" ?ж)
1227 ("'" ?э)
1228 ("z" ?я)
1229 ("x" ?ч)
1230 ("c" ?с)
1231 ("v" ?м)
1232 ("b" ?і)
1233 ("n" ?т)
1234 ("m" ?ь)
1235 ("," ?б)
1236 ("." ?ю)
1237 ("/" ?.))
1238
1239 (quail-define-package
1240 "bulgarian-alt-phonetic" "Bulgarian" "БНФ"
1241 nil
1242 "Bulgarian alternative Phonetic keyboard layout, producing Unicode.
1243
1244 This phonetic layout replaces all the Latin letters with Bulgarian
1245 \(Cyrillic) letters based on similarities in their pronunciation or look.
1246
1247 Note that, since the letters 'щ', 'ь', 'ю' and 'я' are attached to the
1248 ']', '\', '`' and '[' keys respectively, Caps Lock does not affect them."
1249 nil t t t t nil nil nil nil nil t)
1250
1251 ;; Ю 1! 2@ 3№ 4$ 5% 6€ 7§ 8* 9( 0) -– =+ ьѝ
1252 ;; Ч Ш Е Р Т Ъ У И О П Я Щ
1253 ;; А С Д Ф Г Х Й К Л :; '"
1254 ;; З Ж Ц В Б Н М ,„ .“ /?
1255
1256 (quail-define-rules
1257 ("#" ?№)
1258 ("&" ?§)
1259 ("/#" ?#)
1260 ("/&" ?&)
1261 ("/<" ?<)
1262 ("/>" ?>)
1263 ("/[" ?\[)
1264 ("/\\" ?\\)
1265 ("/]" ?\])
1266 ("/^" ?^)
1267 ("/_" ?_)
1268 ("/`" ?`)
1269 ("/{" ?{)
1270 ("/|" ?|)
1271 ("/}" ?})
1272 ("/~" ?~)
1273 ("<" ?„)
1274 (">" ?“)
1275 ("A" ?А) ("a" ?а)
1276 ("B" ?Б) ("b" ?б)
1277 ("C" ?Ц) ("c" ?ц)
1278 ("D" ?Д) ("d" ?д)
1279 ("E" ?Е) ("e" ?е)
1280 ("F" ?Ф) ("f" ?ф)
1281 ("G" ?Г) ("g" ?г)
1282 ("H" ?Х) ("h" ?х)
1283 ("I" ?И) ("i" ?и)
1284 ("J" ?Й) ("j" ?й)
1285 ("K" ?К) ("k" ?к)
1286 ("L" ?Л) ("l" ?л)
1287 ("M" ?М) ("m" ?м)
1288 ("N" ?Н) ("n" ?н)
1289 ("O" ?О) ("o" ?о)
1290 ("P" ?П) ("p" ?п)
1291 ("Q" ?Ч) ("q" ?ч)
1292 ("R" ?Р) ("r" ?р)
1293 ("S" ?С) ("s" ?с)
1294 ("T" ?Т) ("t" ?т)
1295 ("U" ?У) ("u" ?у)
1296 ("V" ?В) ("v" ?в)
1297 ("W" ?Ш) ("w" ?ш)
1298 ("X" ?Ж) ("x" ?ж)
1299 ("Y" ?Ъ) ("y" ?ъ)
1300 ("Z" ?З) ("z" ?з)
1301 ("[" ?я)
1302 ("\\" ?ь)
1303 ("]" ?щ)
1304 ("^" ?€)
1305 ("_" ?–)
1306 ("`" ?ю)
1307 ("{" ?Я)
1308 ("|" ?ѝ)
1309 ("}" ?Щ)
1310 ("~" ?Ю))
1311
1312 ;; From `Bulgarian-PHO.kmap for Yudit', Alexander Shopov
1313 ;; <al_shopov@web.bg>.
1314
1315 ;; Extra commentary and the indicator from an independent
1316 ;; (cyrillic-iso8859-5) implementation by Ognyan Kulev
1317 ;; <ogi@fmi.uni-sofia.bg> and name changes from Anton Zinoviev
1318 ;; <anton@lml.bas.bg>.
1319 (quail-define-package
1320 "bulgarian-phonetic" "Bulgarian" "ЖБФ"
1321 nil
1322 "Bulgarian Phonetic keyboard layout, producing Unicode.
1323
1324 The layout is similar to `cyrillic-translit', but all Bulgarian
1325 characters are typed with a single key.
1326
1327 Use /& for § (Cyrillic paragraph) and /# for №.
1328
1329 The letters Ч, Ш, Щ and Ю are not affected by Caps Lock."
1330 nil t t t t nil nil nil nil nil t)
1331
1332 ;; Ч
1333 ;; Я В Е Р Т Ъ У И О П Ш Щ
1334 ;; А С Д Ф Г Х Й К Л Ю
1335 ;; З Ь Ц Ж Б Н М
1336
1337 (quail-define-rules
1338 ("/&" ?§)
1339 ("/#" ?№)
1340 ("A" ?А)
1341 ("B" ?Б)
1342 ("W" ?В)
1343 ("G" ?Г)
1344 ("D" ?Д)
1345 ("E" ?Е)
1346 ("V" ?Ж)
1347 ("Z" ?З)
1348 ("I" ?И)
1349 ("J" ?Й)
1350 ("K" ?К)
1351 ("L" ?Л)
1352 ("M" ?М)
1353 ("N" ?Н)
1354 ("O" ?О)
1355 ("P" ?П)
1356 ("R" ?Р)
1357 ("S" ?С)
1358 ("T" ?Т)
1359 ("U" ?У)
1360 ("F" ?Ф)
1361 ("H" ?Х)
1362 ("C" ?Ц)
1363 ("~" ?Ч)
1364 ("{" ?Ш)
1365 ("}" ?Щ)
1366 ("Y" ?Ъ)
1367 ("X" ?Ь)
1368 ("|" ?Ю)
1369 ("Q" ?Я)
1370 ("a" ?а)
1371 ("b" ?б)
1372 ("w" ?в)
1373 ("g" ?г)
1374 ("d" ?д)
1375 ("e" ?е)
1376 ("v" ?ж)
1377 ("z" ?з)
1378 ("i" ?и)
1379 ("j" ?й)
1380 ("k" ?к)
1381 ("l" ?л)
1382 ("m" ?м)
1383 ("n" ?н)
1384 ("o" ?о)
1385 ("p" ?п)
1386 ("r" ?р)
1387 ("s" ?с)
1388 ("t" ?т)
1389 ("u" ?у)
1390 ("f" ?ф)
1391 ("h" ?х)
1392 ("c" ?ц)
1393 ("`" ?ч)
1394 ("[" ?ш)
1395 ("]" ?щ)
1396 ("y" ?ъ)
1397 ("x" ?ь)
1398 ("\\" ?ю)
1399 ("q" ?я))
1400
1401 ;; Based on an implementation by Ognyan Kulev <ogi@fmi.uni-sofia.bg>.
1402 ;; This follows XKB bg.
1403
1404 (quail-define-package
1405 "bulgarian-bds" "Bulgarian" "БДС" nil
1406 "Bulgarian standard keyboard layout (BDS)
1407
1408 This keyboard layout is standard for Bulgarian typewriters.
1409
1410 The letters Ц, М, Ч, Р, Л, Б and Ы are not affected by Caps Lock.
1411
1412 In addition to original Bulgarian typewriter layout, keys \\ and |
1413 are transformed into ' and Ы respectively. Some keyboards mark these
1414 keys as being transformed into ( and ) respectively. For ( and ), use
1415 ` and ~ respectively. This input method follows XKB."
1416 nil t t t t nil nil nil nil nil t)
1417
1418 ;; () 1! 2? 3+ 4" 5% 6= 7: 8/ 9_ 0№ -I .V
1419 ;; ,ы У Е И Ш Щ К С Д З Ц ;§
1420 ;; Ь Я А О Ж Г Т Н В М Ч 'Ы
1421 ;; Ю Й Ъ Э Ф Х П Р Л Б
1422
1423 (quail-define-rules
1424
1425 ("1" ?1) ("!" ?!)
1426 ("2" ?2) ("@" ??)
1427 ("3" ?3) ("#" ?+)
1428 ("4" ?4) ("$" ?\")
1429 ("5" ?5) ("%" ?%)
1430 ("6" ?6) ("^" ?=)
1431 ("7" ?7) ("&" ?:)
1432 ("8" ?8) ("*" ?/)
1433 ("9" ?9) ("(" ?_)
1434 ("0" ?0) (")" ?№)
1435 ("-" ?-) ("_" ?I)
1436 ("=" ?.) ("+" ?V)
1437
1438 ("q" ?,) ("Q" ?ы)
1439 ("w" ?у) ("W" ?У)
1440 ("e" ?е) ("E" ?Е)
1441 ("r" ?и) ("R" ?И)
1442 ("t" ?ш) ("T" ?Ш)
1443 ("y" ?щ) ("Y" ?Щ)
1444 ("u" ?к) ("U" ?К)
1445 ("i" ?с) ("I" ?С)
1446 ("o" ?д) ("O" ?Д)
1447 ("p" ?з) ("P" ?З)
1448 ("[" ?ц) ("{" ?Ц)
1449 ("]" ?\;) ("}" ?§)
1450
1451 ("a" ?ь) ("A" ?Ь)
1452 ("s" ?я) ("S" ?Я)
1453 ("d" ?а) ("D" ?А)
1454 ("f" ?о) ("F" ?О)
1455 ("g" ?ж) ("G" ?Ж)
1456 ("h" ?г) ("H" ?Г)
1457 ("j" ?т) ("J" ?Т)
1458 ("k" ?н) ("K" ?Н)
1459 ("l" ?в) ("L" ?В)
1460 (";" ?м) (":" ?М)
1461 ("'" ?ч) ("\"" ?Ч)
1462 ("`" ?\() ("~" ?\))
1463
1464 ("z" ?ю) ("Z" ?Ю)
1465 ("x" ?й) ("X" ?Й)
1466 ("c" ?ъ) ("C" ?Ъ)
1467 ("v" ?э) ("V" ?Э)
1468 ("b" ?ф) ("B" ?Ф)
1469 ("n" ?х) ("N" ?Х)
1470 ("m" ?п) ("M" ?П)
1471 ("," ?р) ("<" ?Р)
1472 ("." ?л) (">" ?Л)
1473 ("/" ?б) ("?" ?Б)
1474 ("\\" ?') ("|" ?Ы))
1475
1476 ;; Local Variables:
1477 ;; coding: utf-8
1478 ;; End:
1479
1480 ;;; cyrillic.el ends here