1 ;;; cyrillic.el --- Quail package for inputting Cyrillic characters
3 ;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
4 ;; Free Software Foundation, Inc.
5 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
6 ;; 2006, 2007, 2008, 2009
7 ;; National Institute of Advanced Industrial Science and Technology (AIST)
8 ;; Registration Number H14PRO021
10 ;; Author: TAKAHASHI Naoto <ntakahas@m17n.org>
11 ;; Keywords: multilingual, input method, Cyrillic, i18n
13 ;; This file is part of GNU Emacs.
15 ;; GNU Emacs is free software: you can redistribute it and/or modify
16 ;; it under the terms of the GNU General Public License as published by
17 ;; the Free Software Foundation, either version 3 of the License, or
18 ;; (at your option) any later version.
20 ;; GNU Emacs is distributed in the hope that it will be useful,
21 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
22 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 ;; GNU General Public License for more details.
25 ;; You should have received a copy of the GNU General Public License
26 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
30 ;; These methods use a mixture of 8859-5 and Unicode. Quail, used
31 ;; with ucs-tables provides suport for translating on the fly to
32 ;; what's appropriate for aa buffer's file coding system, so the
33 ;; encoding shouldn't matter too much provided it supports the
34 ;; necessary characters.
40 ;; This was `cyrillic-jcuken'. Alexander Mikhailian
41 ;; <mikhailian@altern.org> says: "cyrillic-jcuken" is actually
42 ;; russian. It is ok but a bit outdated. This layout has been used
43 ;; in typewriters for ages but it has been superceeded on desktops by
44 ;; a variation of this layout, implemented in M$ Windows software.
45 ;; The Windows layout is greatly preferred because of the comma and
46 ;; period being placed more conviniently and, of course, because of
47 ;; the popularity of Windows software. This layout is a common option
48 ;; in X Windows and console layouts for GNU/Linux. [See
49 ;; `russian-computer' below.]
51 "russian-typewriter" "Russian" "\e,L69\e(B" nil
52 "\e,L9FC:5=\e(B Russian typewriter layout (ISO 8859-5 encoding)."
53 nil t t t t nil nil nil nil nil t
)
55 ;; 1! 2" 3' 4* 5: 6, 7. 8; 9( 0) -_ =+ \e,L!\e(B
56 ;; \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
57 ;; \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
58 ;; \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 /?
158 ;; Maintain the obsolete name for now.
159 (push (cons "cyrillic-jcuken"
160 (cdr (assoc "russian-typewriter" quail-package-alist
)))
163 ;; This needs to be seen by quail-update-leim-list-file, but cannot be
164 ;; commented out because quail-update-leim-list-file ignores
165 ;; commented-out lines.
167 (quail-define-package
168 "cyrillic-jcuken" "Russian" "\e,L69\e(B" nil
169 "\e,L9FC:5=\e(B Russian typewriter layout (ISO 8859-5 encoding)."))
171 ;; See comment above. This is the variant `winkeys' from `ru' in XKB.
172 (quail-define-package
173 "russian-computer" "Russian" "RU" nil
174 "\e,L9FC:5=\e(B Russian computer layout"
175 nil t t t t nil nil nil nil nil t
)
177 ;; 1! 2" 3\e,Lp\e(B 4; 5% 6: 7? 8* 9( 0) -_ =+ \/ \e,Lq!\e(B
178 ;; \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
179 ;; \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
180 ;; \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 .,
279 ;; Mikhailian couldn't check the next two.
281 ;; This seems to have the same layout for letters as mk in XKB, but at
282 ;; least the top row is different.
283 (quail-define-package
284 "cyrillic-macedonian" "Cyrillic" "\e,L6\e(BM" nil
285 "\e,L)*5@B7\e(B-\e,L#,\e(B keyboard layout based on JUS.I.K1.004"
286 nil t t t t nil nil nil nil nil t
)
288 ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
289 ;; \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
290 ;; \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
291 ;; \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 ,; .: -_
392 (quail-define-package
393 "cyrillic-serbian" "Cyrillic" "\e,L6\e(BS" nil
394 "\e,L)*5@B7\e(B-\e,L"+\e(B keyboard layout based on JUS.I.K1.005
"
395 nil t t t t nil nil nil nil nil t)
397 ;; 1! 2" 3# 4$
5%
6& 7' 8( 9) 0= /?
+* <>
398 ;; \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
399 ;; \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
400 ;; \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 ,; .: -_
501 ;; Alexander Mikhailian comments:
502 ;; Having worked for several years as a Belarusian linguist, I still
503 ;; can not find the origin of this layout which BTW does include
504 ;; several characters that are not present in Belarusian and does not
505 ;; include a few ones that do exist in Belarusian. Besides, the typo
506 ;; in the name of this layout speaks for itself since Belarusian has
507 ;; an outdated version of spelling which is "Byelorussian
" and not
508 ;; "beylorussian
". I suggest that you just remove this layout.
510 ;; [`derived from JUS.I.K1' according to an old Mule note -- fx]
512 ;; (quail-define-package
513 ;; "cyrillic-beylorussian
" "Belarussian
" "\e,L6
\e(BB" nil
514 ;; "\e,L
)*5@B7
\e(B-\e,L
&.
\e(B BEYLORUSSIAN
(ISO 8859-
5 encoding
)"
515 ;; nil t t t t nil nil nil nil nil t)
517 ;; ;; 1! 2" 3# 4$
5%
6& 7' 8( 9) 0= /?
+* <>
518 ;; ;; \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
519 ;; ;; \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
520 ;; ;; \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 ,; .: -_
522 ;; (quail-define-rules
551 ;; ("x" ?\e,L\x7f\e(B)
605 ;; Alexander Mikhailian reports the opinion of fellow Ukrainian
606 ;; linguist Bogdan Babych <babych@altern.org>:
607 ;; He had seen this layout on some oldish systems but that the vast
608 ;; majority of the population uses a modified version of the M$ Windows
609 ;; layout. In fact, Microsoft shipped for a while a layout that was lacking
610 ;; two characters, precisely the "GHE_WITH_UPTURN" and the apostrophe. The
611 ;; latest versions of Windows software do have the "GHE_WITH_UPTURN" in the
612 ;; ukrainian keyborad layout but the apostrophe is still not there, whereas
613 ;; there is one letter, "Cyrillic_YO", not used in ukrainian. Ukrainians
614 ;; normally replace the "Cyrillic_YO" by the apostrophe sign and live
615 ;; happily with this little change. [See "ukrainian-computer" below.]
617 ;; Fixme: add GHE_WITH_UPTURN.
618 (quail-define-package
619 "cyrillic-ukrainian" "Ukrainian" "\e,L6\e(BU" nil
620 "\e,L$'5@B7\e(B-\e,L&.\e(B UKRAINIAN
622 Sorry, but 'ghe with upturn' is not included in ISO 8859-5."
623 nil t t t t nil nil nil nil nil t
)
625 ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
626 ;; \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
627 ;; \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
628 ;; \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 ,; .: -_
728 (quail-define-package
729 "ukrainian-computer" "Ukrainian" "UK" nil
730 "\e$,1(9(F(C(:(5(=\e(B Ukrainian (Unicode-based for use with KOI8-U encoding)."
731 nil t t t t nil nil nil nil nil t
)
733 ;; ' 1! 2" 3\e$,1uV\e(B 4; 5% 6: 7? 8* 9( 0) -_ =+
734 ;; \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
735 ;; \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
736 ;; \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 .,
835 ;; Alexander Mikhailian says this is of limited use. It has been
836 ;; popular among emigrants or foreigners who have to type in Cyrillic
837 ;; (mostly Russian) from time to time.
838 (quail-define-package
839 "cyrillic-yawerty" "Cyrillic" "\e,L6O\e(B" nil
840 "\e,LO25@BK\e(B Roman transcription
842 This layout is based on Roman transcription by phonemic resemblance.
843 When preceded by a '/', the second and the third rows (number key row) change
846 keytop | Q W E R T Y U I O P A S D
847 --------+---------------------------------------
848 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"
849 nil t t t t nil nil nil nil nil t)
851 ;; 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
852 ;; \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
853 ;; \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
854 ;; \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 ,< .> /?
856 ;; 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
857 ;; \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
858 ;; \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
859 ;; \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 ,< .> /?
986 ;; This was provided by Valery Alexeev <valery@domovoy.math.uga.edu>.
988 ;; Ognyan Kulev <ogi@fmi.uni-sofia.bg> wrote:
990 ;; I would suggest future `cyrillic-translit' to be with the
991 ;; modification of `cyrillic-translit-bulgarian' applied and the
992 ;; latter to disappear. It could be used by people who write
993 ;; bulgarian e-mails with latin letters for kick start (phonetic input
994 ;; method is not so obvious as translit input method but each letter
995 ;; is one keypress and a *lot* of people know it).
997 ;; Anton Zinoviev <anton@lml.bas.bg> wrote:
998 ;; I would say that the main idea for cyrillic-translit is to be
999 ;; language-independent and universal. It should be able to generate all
1000 ;; Cyrillic symbols.
1001 (quail-define-package
1002 "cyrillic-translit
" "Cyrillic
" "\e,L6
\e(Bt" t
1003 "Intuitively transliterated keyboard layout.
1004 Most convenient for entering Russian
, but all Cyrillic characters
1005 are included. Should handle most cases. However
:
1006 for
\e,Lf
\e(B (TSE) use
\"c
\", never
\"ts
\"
1007 \e,Li
\e(B (SHCHA = Bulgarian SHT
) = \"shch
\", \"sj
\", \"/sht
\" or
\"/t
\",
1008 \e,Lm
\e(B (REVERSE ROUNDED E
) = \"e
\\\"
1009 \e,Le
\e(B (KHA) when after
\e,La
\e(B (S) = \"x
\" or
\"kh
\"
1010 \e,Lj
\e(B (HARD SIGN
) = \"~
\", \e,LJ
\e(B (CAPITAL HARD SIGN
) = \"~~
\",
1011 \e,Ll
\e(B (SOFT SIGN
) = \"'\", \e,LL
\e(B (CAPITAL SOFT SIGN
) = \"''\",
1012 \e,Lo
\e(B (YA) = \"ya
\", \"ja
\" or
\"q
\".
1014 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
1015 u f h
=kh
=x c ch sh shch
=sj
=/s
=/sht ~ y
' e
\\ yu
=ju ya
=ja
=q
1017 Also included are Ukrainian
\e,Lt
\e(B (YE) = \"/e
\", \e,Lw
\e(B (YI) = \"yi
\",
1018 \e$
,1)Q
\e(B (GHE WITH UPTURN
) = \"g
'\",
1019 Belarusian
\e,L~
\e(B (SHORT U
) = \"u~
\",
1020 Serbo-Croatian
\e,Lr
\e(B (DJE) = \"/d
\", \e,L
{\e(B (CHJE)= \"/ch
\",
1021 Macedonian
\e,Ls
\e(B (GJE) = \"/g
\", \e,Lu
\e(B (DZE) = \"/s
\", \e,L|
\e(B (KJE) = \"/k
\",
1022 cyrillic
\e,Lv
\e(B (I DECIMAL
) = \"/i
\", \e,Lx
\e(B (JE) = \"/j
\",
1023 \e,Ly
\e(B (LJE) = \"/l
\", \e,Lz
\e(B (NJE) = \"/n
\" and
\e,L
\x7f\e(B (DZE) =\"/z
\".
"
1024 nil t t t t nil nil nil nil nil t)
1027 ("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)
1028 ("e
" ?\e,LU\e(B) ("je
" ?\e,LU\e(B)
1029 ("yo
" ?\e,Lq\e(B) ("jo
" ?\e,Lq\e(B)
1030 ("zh
" ?\e,LV\e(B) ("z
" ?\e,LW\e(B) ("i
" ?\e,LX\e(B)
1031 ("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)
1032 ("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)
1033 ("f
" ?\e,Ld\e(B) ("x
" ?\e,Le\e(B) ("h
" ?\e,Le\e(B) ("kh
" ?\e,Le\e(B)
1034 ("c
" ?\e,Lf\e(B) ("ch
" ?\e,Lg\e(B)
1036 ("shch
" ?\e,Li\e(B) ("sj
" ?\e,Li\e(B)
1037 ("/sht
" ?\e,Li\e(B) ("/t
" ?\e,Li\e(B)
1038 ("~
" ?\e,Lj\e(B) ("y
" ?\e,Lk\e(B) ("'" ?\e,Ll\e(B) ("`" ?\e,Ll\e(B)
1039 ("e
\\" ?\e,Lm\e(B) ("e
'" ?\e,Lm\e(B) ("e
`" ?\e,Lm\e(B) ("@" ?\e,Lm\e(B)
1040 ("yu
" ?\e,Ln\e(B) ("ju
" ?\e,Ln\e(B)
1041 ("ya
" ?\e,Lo\e(B) ("ja
" ?\e,Lo\e(B) ("q
" ?\e,Lo\e(B)
1043 ("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)
1044 ("E
" ?\e,L5\e(B) ("Je
" ?\e,L5\e(B) ("JE
" ?\e,L5\e(B)
1045 ("Yo
" ?\e,L!\e(B) ("YO
" ?\e,L!\e(B) ("Jo
" ?\e,L!\e(B) ("JO
" ?\e,L!\e(B)
1046 ("Zh
" ?\e,L6\e(B) ("ZH
" ?\e,L6\e(B) ("Z
" ?\e,L7\e(B) ("I
" ?\e,L8\e(B)
1047 ("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)
1048 ("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)
1049 ("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)
1050 ("C
" ?\e,LF\e(B) ("Ch
" ?\e,LG\e(B) ("CH
" ?\e,LG\e(B)
1051 ("Sh
" ?\e,LH\e(B) ("SH
" ?\e,LH\e(B)
1052 ("Shch
" ?\e,LI\e(B) ("SHCH
" ?\e,LI\e(B) ("Sj
" ?\e,LI\e(B) ("SJ
" ?\e,LI\e(B)
1053 ("/Sht
" ?\e,LI\e(B) ("/SHT
" ?\e,LI\e(B) ("/T
" ?\e,LI\e(B)
1054 ("~~
" ?\e,LJ\e(B) ("Y
" ?\e,LK\e(B) ("''" ?\e,LL\e(B)
1055 ("E
\\" ?\e,LM\e(B) ("E
'" ?\e,LM\e(B) ("E
`" ?\e,LM\e(B) ("@@" ?\e,LM\e(B)
1056 ("Yu
" ?\e,LN\e(B) ("YU
" ?\e,LN\e(B) ("Ju
" ?\e,LN\e(B) ("JU
" ?\e,LN\e(B)
1057 ("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)
1059 ("/e
" ?\e,Lt\e(B) ("yi
" ?\e,Lw\e(B) ("u
'" ?\e,L~\e(B) ("u~
" ?\e,L~\e(B)
1061 ("/d
" ?\e,Lr\e(B) ("/ch
" ?\e,L{\e(B)
1062 ("/g
" ?\e,Ls\e(B) ("/s
" ?\e,Lu\e(B) ("/k
" ?\e,L|\e(B)
1063 ("/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)
1064 ("/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) ("U~
" ?\e,L.\e(B)
1066 ("/D
" ?\e,L"\e(B) ("/Ch" ?
\e,L
+\e(B) ("/CH" ?
\e,L
+\e(B)
1067 ("/G" ?
\e,L
#\e(B) ("/S" ?
\e,L%
\e(B) ("/K" ?
\e,L
,\e(B)
1068 ("/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)
1070 ;; Combining accents as a separate character
1071 ("//'" ?
\e$
(O+Z
\e(B) ("//`" ?
\e$
(O+\
\e(B)
1073 ;; In the following two rules the accent is not a separate character
1074 ("i`" ?
\e$
,1(}\e(B) ("I`" ?
\e$
,1(-\e(B)
1076 ("/-" ?
\e$
(G!9\e(B) ;; EN DASH
1077 ("/--" ?
\e$
(G!7\e(B) ;; EM DASH
1078 ("/*" ?
\e$
(O#@\e(B) ;; BULLET
1079 ("/." ?
\e$
,1s$
\e(B) ;; ONE DOT LEADER
1080 ("/.." ?
\e$
(G!-
\e(B) ;; TWO DOT LEADER
1081 ("/..." ?
\e$A
!-
\e(B) ;; HORIZONTAL ELLIPSIS
1082 ("/,," ?
\e,Y%
\e(B) ;; DOUBLE LOW-9 QUOTATION MARK
1083 ("/," ?
\e$
,1rz
\e(B) ;; SINGLE LOW-9 QUOTATION MARK
1084 ("/''" ?
\e,Y
!\e(B) ;; RIGHT DOUBLE QUOTATION MARK
1085 ("/'" ?
\e,F
"\e(B) ;; RIGHT SINGLE QUOTATION MARK
1086 ("/``" ?\e,Y4\e(B) ;; LEFT DOUBLE QUOTATION MARK
1087 ("/`" ?\e,F!\e(B) ;; LEFT SINGLE QUOTATION MARK
1088 ("/<<" ?\e,A+\e(B) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
1089 ("/>>" ?\e,A;\e(B) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
1092 ("/ab
" ?\e,A'\e(B) ; _\e,LPQ\e(B_\e,LWPf\e(B
1093 ("/pa
" ?\e,A'\e(B) ; _pa_ragraph
1095 ("/no
" ?\e,Lp\e(B) ; _\e,L]^\e(B_\e,L\U`\e(B
1098 ("/tm
" ?\e$(D"o
\e(B)
1104 ("/78" ?\e$(C(~\e(B)
1105 ("/58" ?\e$(C(}\e(B)
1106 ("/38" ?\e$(C(|\e(B)
1107 ("/18" ?\e$(C({\e(B)
1108 ("/56" ?\e$,1v:\e(B)
1109 ("/16" ?\e$,1v9\e(B)
1110 ("/45" ?\e$,1v8\e(B)
1111 ("/35" ?\e$,1v7\e(B)
1112 ("/25" ?\e$,1v6\e(B)
1113 ("/15" ?\e$(O'z\e(B)
1114 ("/23" ?\e$(O'y\e(B)
1115 ("/13" ?\e$(O'x\e(B)
1120 ;; Roman numerals, commonly used for months and section/subsection numbers
1122 ("/RII" ?
\e$A
"r\e(B)
1123 ("/RIII
" ?\e$A"s
\e(B)
1124 ("/RIV" ?
\e$A
"t\e(B)
1126 ("/RVI" ?
\e$A
"v\e(B)
1127 ("/RVII
" ?\e$A"w
\e(B)
1128 ("/RVIII" ?
\e$A
"x\e(B)
1129 ("/RIX
" ?\e$A"y
\e(B)
1131 ("/RXI
" ?\e$A"{\e(B)
1132 ("/RXII" ?
\e$A
"|\e(B)
1134 ("/ri
" ?\e$(G&5\e(B)
1135 ("/rii
" ?\e$(G&6\e(B)
1136 ("/riii
" ?\e$(G&7\e(B)
1137 ("/riv
" ?\e$(G&8\e(B)
1138 ("/rv
" ?\e$(G&9\e(B)
1139 ("/rvi
" ?\e$(G&:\e(B)
1140 ("/rvii
" ?\e$(G&;\e(B)
1141 ("/rviii
" ?\e$(G&<\e(B)
1142 ("/rix
" ?\e$(G&=\e(B)
1143 ("/rx
" ?\e$(G&>\e(B)
1144 ("/rxi
" ?\e$(O,?\e(B)
1145 ("/rxii
" ?\e$(O,@\e(B)
1148 ;; Originally from Yudit's `Belarusian input table according to
1149 ;; STB955-94 belarusian standard' (not all) by Alexander Mikhailian
1150 ;; <mikhailian@altern.org>, subsequently amended by AM.
1151 (quail-define-package
1152 "belarusian
" "Belarusian
" "BE
" nil
1153 "\e$
,1(9(F(C(:(5(=\e(B keyboard layout registered as STB955-94 Belarusian standard.
1155 nil t t t t nil nil nil nil nil t)
1157 ;; \e$,1(q(!\e(B 1! 2" 3N
4; 5% 6: 7? 8* 9( 0) -_ =+
1158 ;; \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 '
1159 ;; \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
1160 ;; \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 .,
1240 ;; From `Bulgarian-PHO.kmap for Yudit', Alexander Shopov
1241 ;; <al_shopov@web.bg>.
1243 ;; Extra commentary and the indicator from an independent
1244 ;; (cyrillic-iso8859-5) implementation by Ognyan Kulev
1245 ;; <ogi@fmi.uni-sofia.bg> and name changes from Anton Zinoviev
1246 ;; <anton@lml.bas.bg>.
1247 (quail-define-package
1248 "bulgarian-phonetic" "Bulgarian" "\e$,1(6(1(D\e(B"
1250 "Bulgarian Phonetic keyboard layout, producing Unicode.
1252 The layout is similar to `cyrillic-translit', but all Bulgarian
1253 characters are typed with a single key.
1255 Use /& for \e,A'\e(B (Cyrillic paragraph) and /# for \e$,1uV\e(B.
1257 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."
1258 nil t t t t nil nil nil nil nil t
)
1261 ;; \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
1262 ;; \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
1263 ;; \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
1329 ;; Based on an implementation by Ognyan Kulev <ogi@fmi.uni-sofia.bg>.
1330 ;; This follows XKB bg.
1332 (quail-define-package
1333 "bulgarian-bds" "Bulgarian" "\e$,1(1(4(A\e(B" nil
1334 "Bulgarian standard keyboard layout (BDS)
1336 This keyboard layout is standard for Bulgarian typewriters.
1338 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.
1340 In addition to original Bulgarian typewriter layout, keys \\ and |
1341 are transformed into ' and \e$,1(K\e(B respectively. Some keyboards mark these
1342 keys as being transformed into ( and ) respectively. For ( and ), use
1343 ` and ~ respectively. This input method follows XKB."
1344 nil t t t t nil nil nil nil nil t
)
1346 ;; () 1! 2? 3+ 4" 5% 6= 7: 8/ 9_ 0\e$,1uV\e(B -I .V
1347 ;; ,\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
1348 ;; \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
1349 ;; \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
1362 ("0" ?
0) (")" ?
\e$
,1uV
\e(B)
1366 ("q" ?
,) ("Q" ?
\e$
,1(k\e(B)
1367 ("w" ?
\e$
,1(c\e(B) ("W" ?
\e$
,1(C\e(B)
1368 ("e" ?
\e$
,1(U\e(B) ("E" ?
\e$
,1(5\e(B)
1369 ("r" ?
\e$
,1(X\e(B) ("R" ?
\e$
,1(8\e(B)
1370 ("t" ?
\e$
,1(h\e(B) ("T" ?
\e$
,1(H\e(B)
1371 ("y" ?
\e$
,1(i\e(B) ("Y" ?
\e$
,1(I\e(B)
1372 ("u" ?
\e$
,1(Z\e(B) ("U" ?
\e$
,1(:\e(B)
1373 ("i" ?
\e$
,1(a\e(B) ("I" ?
\e$
,1(A\e(B)
1374 ("o" ?
\e$
,1(T\e(B) ("O" ?
\e$
,1(4\e(B)
1375 ("p" ?
\e$
,1(W\e(B) ("P" ?
\e$
,1(7\e(B)
1376 ("[" ?
\e$
,1(f\e(B) ("{" ?
\e$
,1(F\e(B)
1377 ("]" ?\
;) ("}" ?\e,A'\e(B)
1379 ("a" ?
\e$
,1(l\e(B) ("A" ?
\e$
,1(L\e(B)
1380 ("s" ?
\e$
,1(o\e(B) ("S" ?
\e$
,1(O\e(B)
1381 ("d" ?
\e$
,1(P\e(B) ("D" ?
\e$
,1(0\e(B)
1382 ("f" ?
\e$
,1(^
\e(B) ("F" ?
\e$
,1(>\e(B)
1383 ("g" ?
\e$
,1(V\e(B) ("G" ?
\e$
,1(6\e(B)
1384 ("h" ?
\e$
,1(S\e(B) ("H" ?
\e$
,1(3\e(B)
1385 ("j" ?
\e$
,1(b\e(B) ("J" ?
\e$
,1(B\e(B)
1386 ("k" ?
\e$
,1(]\e(B) ("K" ?
\e$
,1(=\e(B)
1387 ("l" ?
\e$
,1(R\e(B) ("L" ?
\e$
,1(2\e(B)
1388 (";" ?
\e$
,1(\
\e(B) (":" ?
\e$
,1(<\e(B)
1389 ("'" ?
\e$
,1(g\e(B) ("\"" ?
\e$
,1(G\e(B)
1392 ("z" ?
\e$
,1(n\e(B) ("Z" ?
\e$
,1(N\e(B)
1393 ("x" ?
\e$
,1(Y\e(B) ("X" ?
\e$
,1(9\e(B)
1394 ("c" ?
\e$
,1(j\e(B) ("C" ?
\e$
,1(J\e(B)
1395 ("v" ?
\e$
,1(m\e(B) ("V" ?
\e$
,1(M\e(B)
1396 ("b" ?
\e$
,1(d\e(B) ("B" ?
\e$
,1(D\e(B)
1397 ("n" ?
\e$
,1(e\e(B) ("N" ?
\e$
,1(E\e(B)
1398 ("m" ?
\e$
,1(_\e(B) ("M" ?
\e$
,1(?
\e(B)
1399 ("," ?
\e$
,1(`\e(B) ("<" ?
\e$
,1(@\e(B)
1400 ("." ?
\e$
,1([\e(B) (">" ?
\e$
,1(;\e(B)
1401 ("/" ?
\e$
,1(Q\e(B) ("?" ?
\e$
,1(1\e(B)
1402 ("\\" ?
') ("|" ?
\e$
,1(K\e(B))
1405 ;; coding: iso-2022-7bit
1408 ;; arch-tag: e6d34b16-8710-4181-a17e-819a1df0334f
1409 ;;; cyrillic.el ends here