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)
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.
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.
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.]
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 /?
157 ;; Maintain the obsolete name for now.
158 (push (cons "cyrillic-jcuken"
159 (cdr (assoc "russian-typewriter" 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.
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 .,
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 ,; .: -_
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 ,; .: -_
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
549 ;; ("x" ?
\e,L
\7f\e(B)
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 ,; .: -_
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 .,
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
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 ,< .> /?
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
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
\7f\e(B (DZE) =\"/z\"."
1021 nil t t t t nil nil nil nil nil t)
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)
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
\7f\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.
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 .,
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)
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
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
1279 ("0" ?0) (")" ?
\e$,1uV
\e(B)
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)
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))
1322 ;; coding: iso-2022-7bit
1325 ;;; arch-tag: e6d34b16-8710-4181-a17e-819a1df0334f
1326 ;;; cyrillic.el ends here