/[emacs]/emacs/leim/quail/cyrillic.el
ViewVC logotype

Diff of /emacs/leim/quail/cyrillic.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.14 by eliz, Thu Jan 3 16:59:50 2002 UTC revision 1.14.4.1 by miles, Fri Apr 4 06:19:54 2003 UTC
# Line 2  Line 2 
2    
3  ;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.  ;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
4  ;; Licensed to the Free Software Foundation.  ;; Licensed to the Free Software Foundation.
5  ;; Copyright (C) 2001 Free Software Foundation, Inc.  ;; Copyright (C) 2001, 2002 Free Software Foundation, Inc.
6    
7  ;; Keywords: multilingual, input method, Cyrillic  ;; Author: TAKAHASHI Naoto <ntakahas@m17n.org>
8    ;; Keywords: multilingual, input method, Cyrillic, i18n
9    
10  ;; This file is part of GNU Emacs.  ;; This file is part of GNU Emacs.
11    
# Line 25  Line 26 
26    
27  ;;; Commentary:  ;;; Commentary:
28    
29    ;; These methods use a mixture of 8859-5 and Unicode.  Quail, used
30    ;; with ucs-tables provides suport for translating on the fly to
31    ;; what's appropriate for aa buffer's file coding system, so the
32    ;; encoding shouldn't matter too much provided it supports the
33    ;; necessary characters.
34    
35  ;;; Code:  ;;; Code:
36    
37  (require 'quail)  (require 'quail)
38    
39    ;; This was `cyrillic-jcuken'.  Alexander Mikhailian
40    ;; <mikhailian@altern.org> says:  "cyrillic-jcuken" is actually
41    ;; russian.  It is ok but a bit outdated.  This layout has been used
42    ;; in typewriters for ages but it has been superceeded on desktops by
43    ;; a variation of this layout, implemented in M$ Windows software.
44    ;; The Windows layout is greatly preferred because of the comma and
45    ;; period being placed more conviniently and, of course, because of
46    ;; the popularity of Windows software. This layout is a common option
47    ;; in X Windows and console layouts for GNU/Linux.  [See
48    ;; `russian-computer' below.]
49  (quail-define-package  (quail-define-package
50   "cyrillic-jcuken" "Cyrillic" ",L69(B" nil   "russian-typewriter" "Russian" ",L69(B" nil
51   ",L9FC:5=(B keyboard layout widely used in Russia (ISO 8859-5 encoding)"   ",L9FC:5=(B Russian typewriter layout (ISO 8859-5 encoding)."
52   nil t t t t nil nil nil nil nil t)   nil t t t t nil nil nil nil nil t)
53    
54  ;;  1! 2" 3' 4* 5: 6, 7. 8; 9( 0) -_ =+ ,L!(B  ;;  1! 2" 3' 4* 5: 6, 7. 8; 9( 0) -_ =+ ,L!(B
# Line 87  Line 104 
104   ("," ?,LQ(B)   ("," ?,LQ(B)
105   ("." ?,Ln(B)   ("." ?,Ln(B)
106   ("/" ?/)   ("/" ?/)
107    
108   ("!" ?!)   ("!" ?!)
109   ("@" ?\")   ("@" ?\")
110   ("#" ?')   ("#" ?')
# Line 96  Line 113 
113   ("^" ?,)   ("^" ?,)
114   ("&" ?.)   ("&" ?.)
115   ("*" ?\;)   ("*" ?\;)
116     ("(" ?\()
117     (")" ?\))
118     ("_" ?_)
119     ("+" ?+)
120     ("~" ?,L!(B)
121     ("Q" ?,L9(B)
122     ("W" ?,LF(B)
123     ("E" ?,LC(B)
124     ("R" ?,L:(B)
125     ("T" ?,L5(B)
126     ("Y" ?,L=(B)
127     ("U" ?,L3(B)
128     ("I" ?,LH(B)
129     ("O" ?,LI(B)
130     ("P" ?,L7(B)
131     ("{" ?,LE(B)
132     ("}" ?,LJ(B)
133     ("A" ?,LD(B)
134     ("S" ?,LK(B)
135     ("D" ?,L2(B)
136     ("F" ?,L0(B)
137     ("G" ?,L?(B)
138     ("H" ?,L@(B)
139     ("J" ?,L>(B)
140     ("K" ?,L;(B)
141     ("L" ?,L4(B)
142     (":" ?,L6(B)
143     ("\"" ?,LM(B)
144     ("|" ?|)
145     ("Z" ?,LO(B)
146     ("X" ?,LG(B)
147     ("C" ?,LA(B)
148     ("V" ?,L<(B)
149     ("B" ?,L8(B)
150     ("N" ?,LB(B)
151     ("M" ?,LL(B)
152     ("<" ?,L1(B)
153     (">" ?,LN(B)
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" ",L69(B" nil
168         ",L9FC:5=(B 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     ",L9FC:5=(B Russian computer layout"
174     nil t t t t nil nil nil nil nil t)
175    
176    ;;  1! 2" 3,Lp(B 4; 5% 6: 7? 8* 9( 0) -_ =+ ,Lq!(B
177    ;;   ,L9(B  ,LF(B  ,LC(B  ,L:(B  ,L5(B  ,L=(B  ,L3(B  ,LH(B  ,LI(B  ,L7(B  ,LE(B  ,Lj(B
178    ;;    ,LD(B  ,LK(B  ,L2(B  ,L0(B  ,L?(B  ,L@(B  ,L>(B  ,L;(B  ,L4(B ,L6(B  ,LM(B
179    ;;     ,LO(B  ,LG(B  ,LA(B  ,L<(B  ,L8(B  ,LB(B  ,LL(B  ,L1(B  ,LN(B  .,
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     ("`" ?,Lq(B)
195     ("q" ?,LY(B)
196     ("w" ?,Lf(B)
197     ("e" ?,Lc(B)
198     ("r" ?,LZ(B)
199     ("t" ?,LU(B)
200     ("y" ?,L](B)
201     ("u" ?,LS(B)
202     ("i" ?,Lh(B)
203     ("o" ?,Li(B)
204     ("p" ?,LW(B)
205     ("[" ?,Le(B)
206     ("]" ?,Lj(B)
207     ("a" ?,Ld(B)
208     ("s" ?,Lk(B)
209     ("d" ?,LR(B)
210     ("f" ?,LP(B)
211     ("g" ?,L_(B)
212     ("h" ?,L`(B)
213     ("j" ?,L^(B)
214     ("k" ?,L[(B)
215     ("l" ?,LT(B)
216     (";" ?,LV(B)
217     ("'" ?,Lm(B)
218     ("\\" ?\\)
219     ("z" ?,Lo(B)
220     ("x" ?,Lg(B)
221     ("c" ?,La(B)
222     ("v" ?,L\(B)
223     ("b" ?,LX(B)
224     ("n" ?,Lb(B)
225     ("m" ?,Ll(B)
226     ("," ?,LQ(B)
227     ("." ?,Ln(B)
228     ("/" ?.)
229     ("!" ?!)
230     ("@" ?\")
231     ("#" ?,Lp(B)
232     ("$" ?\;)
233     ("%" ?%)
234     ("^" ?:)
235     ("&" ??)
236     ("*" ?*)
237   ("(" ?()   ("(" ?()
238    (")" ?))   (")" ?))
239   ("_" ?_)   ("_" ?_)
240   ("+" ?+)   ("+" ?+)
241   ("~" ?,L!(B)   ("~" ?,L!(B)
# Line 134  Line 272 
272   ("M" ?,LL(B)   ("M" ?,LL(B)
273   ("<" ?,L1(B)   ("<" ?,L1(B)
274   (">" ?,LN(B)   (">" ?,LN(B)
275   ("?" ??))   ("?" ?,))
276    
277  ;;  ;; Mikhailian couldn't check the next two.
278    
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  (quail-define-package
282   "cyrillic-macedonian" "Cyrillic" ",L6(BM" nil   "cyrillic-macedonian" "Cyrillic" ",L6(BM" nil
283   ",L)*5@B7(B-,L#,(B keyboard layout based on JUS.I.K1.004 (ISO 8859-5 encoding)"   ",L)*5@B7(B-,L#,(B keyboard layout based on JUS.I.K1.004 (ISO 8859-5 encoding)"
# Line 196  Line 336 
336   ("," ?,)   ("," ?,)
337   ("." ?.)   ("." ?.)
338   ("/" ?-)   ("/" ?-)
339    
340   ("!" ?!)   ("!" ?!)
341   ("@" ?\")   ("@" ?\")
342   ("#" ?#)   ("#" ?#)
# Line 305  Line 445 
445   ("," ?,)   ("," ?,)
446   ("." ?.)   ("." ?.)
447   ("/" ?-)   ("/" ?-)
448    
449   ("!" ?!)   ("!" ?!)
450   ("@" ?\")   ("@" ?\")
451   ("#" ?#)   ("#" ?#)
# Line 356  Line 496 
496    
497  ;;  ;;
498    
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.
507    
508    ;; [`derived from JUS.I.K1' according to an old Mule note -- fx]
509    
510    ;; (quail-define-package
511    ;;  "cyrillic-beylorussian" "Belarussian" ",L6(BB" nil
512    ;;  ",L)*5@B7(B-,L&.(B BEYLORUSSIAN (ISO 8859-5 encoding)"
513    ;;  nil t t t t nil nil nil nil nil t)
514    
515    ;; ;;  1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
516    ;; ;;   ,L)(B  ,L*(B  ,L5(B  ,L@(B  ,LB(B  ,L7(B  ,LC(B  ,L8(B  ,L>(B  ,L?(B  ,LH(B  ,L&(B
517    ;; ;;    ,L0(B  ,LA(B  ,L4(B  ,LD(B  ,L3(B  ,LE(B  ,L((B  ,L:(B  ,L;(B  ,LG(B  ,L.(B  ,L6(B
518    ;; ;;     ,L%(B  ,L/(B  ,LF(B  ,L2(B  ,L1(B  ,L=(B  ,L<(B  ,; .: -_
519    
520    ;; (quail-define-rules
521    ;;  ("-" ?/)
522    ;;  ("=" ?+)
523    ;;  ("`" ?<)
524    ;;  ("q" ?,Ly(B)
525    ;;  ("w" ?,Lz(B)
526    ;;  ("e" ?,LU(B)
527    ;;  ("r" ?,L`(B)
528    ;;  ("t" ?,Lb(B)
529    ;;  ("y" ?,LW(B)
530    ;;  ("u" ?,Lc(B)
531    ;;  ("i" ?,LX(B)
532    ;;  ("o" ?,L^(B)
533    ;;  ("p" ?,L_(B)
534    ;;  ("[" ?,Lh(B)
535    ;;  ("]" ?,Lv(B)
536    ;;  ("a" ?,LP(B)
537    ;;  ("s" ?,La(B)
538    ;;  ("d" ?,LT(B)
539    ;;  ("f" ?,Ld(B)
540    ;;  ("g" ?,LS(B)
541    ;;  ("h" ?,Le(B)
542    ;;  ("j" ?,Lx(B)
543    ;;  ("k" ?,LZ(B)
544    ;;  ("l" ?,L[(B)
545    ;;  (";" ?,Lg(B)
546    ;;  ("'" ?,L~(B)
547    ;;  ("\\" ?,LV(B)
548    ;;  ("z" ?,Lu(B)
549    ;;  ("x" ?,L(B)
550    ;;  ("c" ?,Lf(B)
551    ;;  ("v" ?,LR(B)
552    ;;  ("b" ?,LQ(B)
553    ;;  ("n" ?,L](B)
554    ;;  ("m" ?,L\(B)
555    ;;  ("/" ?-)
556    
557    ;;  ("@" ?\")
558    ;;  ("^" ?&)
559    ;;  ("&" ?')
560    ;;  ("*" ?\()
561    ;;  ("(" ?\))
562    ;;  (")" ?=)
563    ;;  ("_" ??)
564    ;;  ("+" ?*)
565    ;;  ("~" ?>)
566    ;;  ("Q" ?,L)(B)
567    ;;  ("W" ?,L*(B)
568    ;;  ("E" ?,L5(B)
569    ;;  ("R" ?,L@(B)
570    ;;  ("T" ?,LB(B)
571    ;;  ("Y" ?,L7(B)
572    ;;  ("U" ?,LC(B)
573    ;;  ("I" ?,L8(B)
574    ;;  ("O" ?,L>(B)
575    ;;  ("P" ?,L?(B)
576    ;;  ("{" ?,LH(B)
577    ;;  ("}" ?,L&(B)
578    ;;  ("A" ?,L0(B)
579    ;;  ("S" ?,LA(B)
580    ;;  ("D" ?,L4(B)
581    ;;  ("F" ?,LD(B)
582    ;;  ("G" ?,L3(B)
583    ;;  ("H" ?,LE(B)
584    ;;  ("J" ?,L((B)
585    ;;  ("K" ?,L:(B)
586    ;;  ("L" ?,L;(B)
587    ;;  (":" ?,LG(B)
588    ;;  ("\"" ?,L.(B)
589    ;;  ("|" ?,L6(B)
590    ;;  ("Z" ?,L%(B)
591    ;;  ("X" ?,L/(B)
592    ;;  ("C" ?,LF(B)
593    ;;  ("V" ?,L2(B)
594    ;;  ("B" ?,L1(B)
595    ;;  ("N" ?,L=(B)
596    ;;  ("M" ?,L<(B)
597    ;;  ("<" ?\;)
598    ;;  (">" ?:)
599    ;;  ("?" ?_))
600    
601    ;;
602    
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.]
614    
615    ;; Fixme: add GHE_WITH_UPTURN.
616  (quail-define-package  (quail-define-package
617   "cyrillic-beylorussian" "Belarussian" ",L6(BB" nil   "cyrillic-ukrainian" "Ukrainian" ",L6(BU" nil
618   ",L)*5@B7(B-,L&.(B BEYLORUSSIAN (ISO 8859-5 encoding)"   ",L$'5@B7(B-,L&.(B UKRAINIAN (ISO 8859-5 encoding)
619    
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)   nil t t t t nil nil nil nil nil t)
622    
623  ;;  1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>  ;;  1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
624  ;;   ,L)(B  ,L*(B  ,L5(B  ,L@(B  ,LB(B  ,L7(B  ,LC(B  ,L8(B  ,L>(B  ,L?(B  ,LH(B  ,L&(B  ;;   ,L$(B  ,L'(B  ,L5(B  ,L@(B  ,LB(B  ,L7(B  ,LC(B  ,L8(B  ,L>(B  ,L?(B  ,LH(B  ,L&(B
625  ;;    ,L0(B  ,LA(B  ,L4(B  ,LD(B  ,L3(B  ,LE(B  ,L((B  ,L:(B  ,L;(B  ,LG(B  ,L.(B  ,L6(B  ;;    ,L0(B  ,LA(B  ,L4(B  ,LD(B  ,L3(B  ,LE(B  ,L((B  ,L:(B  ,L;(B  ,LG(B  ,L.(B  ,L6(B
626  ;;     ,L%(B  ,L/(B  ,LF(B  ,L2(B  ,L1(B  ,L=(B  ,L<(B  ,; .: -_  ;;     ,L%(B  ,L/(B  ,LF(B  ,L2(B  ,L1(B  ,L=(B  ,L<(B  ,; .: -_
627    
# Line 380  Line 639 
639   ("-" ?/)   ("-" ?/)
640   ("=" ?+)   ("=" ?+)
641   ("`" ?<)   ("`" ?<)
642   ("q" ?,Ly(B)   ("q" ?,Lt(B)
643   ("w" ?,Lz(B)   ("w" ?,Lw(B)
644   ("e" ?,LU(B)   ("e" ?,LU(B)
645   ("r" ?,L`(B)   ("r" ?,L`(B)
646   ("t" ?,Lb(B)   ("t" ?,Lb(B)
# Line 414  Line 673 
673   ("," ?,)   ("," ?,)
674   ("." ?.)   ("." ?.)
675   ("/" ?-)   ("/" ?-)
676    
677   ("!" ?!)   ("!" ?!)
678   ("@" ?\")   ("@" ?\")
679   ("#" ?#)   ("#" ?#)
# Line 428  Line 687 
687   ("_" ??)   ("_" ??)
688   ("+" ?*)   ("+" ?*)
689   ("~" ?>)   ("~" ?>)
690   ("Q" ?,L)(B)   ("Q" ?,L$(B)
691   ("W" ?,L*(B)   ("W" ?,L'(B)
692   ("E" ?,L5(B)   ("E" ?,L5(B)
693   ("R" ?,L@(B)   ("R" ?,L@(B)
694   ("T" ?,LB(B)   ("T" ?,LB(B)
# Line 463  Line 722 
722   (">" ?:)   (">" ?:)
723   ("?" ?_))   ("?" ?_))
724    
 ;;  
   
 (quail-define-package  
  "cyrillic-ukrainian" "Ukrainian" ",L6(BU" nil  
  ",L$'5@B7(B-,L&.(B UKRAINIAN (ISO 8859-5 encoding)  
725    
726  Sorry, but 'ghe with upturn' is not included in ISO 8859-5"  (quail-define-package
727     "ukrainian-computer" "Ukrainian" "UK" nil
728     "$,1(9(F(C(:(5(=(B Ukrainian (Unicode-based for use with KOI8-U encoding)."
729   nil t t t t nil nil nil nil nil t)   nil t t t t nil nil nil nil nil t)
730    
731  ;;  1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>  ;;  ' 1! 2" 3$,1uV(B 4; 5% 6: 7? 8* 9( 0) -_ =+
732  ;;   ,L$(B  ,L'(B  ,L5(B  ,L@(B  ,LB(B  ,L7(B  ,LC(B  ,L8(B  ,L>(B  ,L?(B  ,LH(B  ,L&(B  ;;   $,1(9(B  $,1(F(B  $,1(C(B  $,1(:(B  $,1(5(B  $,1(=(B  $,1(3(B  $,1(H(B  $,1(I(B  $,1(7(B  $,1(E(B  $,1('(B
733  ;;    ,L0(B  ,LA(B  ,L4(B  ,LD(B  ,L3(B  ,LE(B  ,L((B  ,L:(B  ,L;(B  ,LG(B  ,L.(B  ,L6(B  ;;    $,1(D(B  $,1(&(B  $,1(2(B  $,1(0(B  $,1(?(B  $,1(@(B  $,1(>(B  $,1(;(B  $,1(4(B  $,1(6(B  $,1($(B  $,1)P(B
734  ;;     ,L%(B  ,L/(B  ,LF(B  ,L2(B  ,L1(B  ,L=(B  ,L<(B  ,; .: -_  ;;      $,1(O(B  $,1(G(B  $,1(A(B  $,1(<(B  $,1(8(B  $,1(B(B  $,1(L(B  $,1(1(B  $,1(N(B  .,
735    
736  (quail-define-rules  (quail-define-rules
737   ("1" ?1)   ("1" ?1)
# Line 488  Sorry, but 'ghe with upturn' is not incl Line 744  Sorry, but 'ghe with upturn' is not incl
744   ("8" ?8)   ("8" ?8)
745   ("9" ?9)   ("9" ?9)
746   ("0" ?0)   ("0" ?0)
747   ("-" ?/)   ("-" ?-)
748   ("=" ?+)   ("=" ?=)
749   ("`" ?<)   ("`" ?')
750   ("q" ?,Lt(B)   ("q" ?$,1(Y(B)
751   ("w" ?,Lw(B)   ("w" ?$,1(f(B)
752   ("e" ?,LU(B)   ("e" ?$,1(c(B)
753   ("r" ?,L`(B)   ("r" ?$,1(Z(B)
754   ("t" ?,Lb(B)   ("t" ?$,1(U(B)
755   ("y" ?,LW(B)   ("y" ?$,1(](B)
756   ("u" ?,Lc(B)   ("u" ?$,1(S(B)
757   ("i" ?,LX(B)   ("i" ?$,1(h(B)
758   ("o" ?,L^(B)   ("o" ?$,1(i(B)
759   ("p" ?,L_(B)   ("p" ?$,1(W(B)
760   ("[" ?,Lh(B)   ("[" ?$,1(e(B)
761   ("]" ?,Lv(B)   ("]" ?$,1(w(B)
762   ("a" ?,LP(B)   ("a" ?$,1(d(B)
763   ("s" ?,La(B)   ("s" ?$,1(v(B)
764   ("d" ?,LT(B)   ("d" ?$,1(R(B)
765   ("f" ?,Ld(B)   ("f" ?$,1(P(B)
766   ("g" ?,LS(B)   ("g" ?$,1(_(B)
767   ("h" ?,Le(B)   ("h" ?$,1(`(B)
768   ("j" ?,Lx(B)   ("j" ?$,1(^(B)
769   ("k" ?,LZ(B)   ("k" ?$,1([(B)
770   ("l" ?,L[(B)   ("l" ?$,1(T(B)
771   (";" ?,Lg(B)   (";" ?$,1(V(B)
772   ("'" ?,L~(B)   ("'" ?$,1(t(B)
773   ("\\" ?,LV(B)   ("z" ?$,1(o(B)
774   ("z" ?,Lu(B)   ("x" ?$,1(g(B)
775   ("x" ?,L(B)   ("c" ?$,1(a(B)
776   ("c" ?,Lf(B)   ("v" ?$,1(\(B)
777   ("v" ?,LR(B)   ("b" ?$,1(X(B)
778   ("b" ?,LQ(B)   ("n" ?$,1(b(B)
779   ("n" ?,L](B)   ("m" ?$,1(l(B)
780   ("m" ?,L\(B)   ("," ?$,1(Q(B)
781   ("," ?,)   ("." ?$,1(n(B)
782   ("." ?.)   ("/" ?.)
  ("/" ?-)  
   
783   ("!" ?!)   ("!" ?!)
784   ("@" ?\")   ("@" ?\")
785   ("#" ?#)   ("#" ?$,1uV(B)
786   ("$" ?$)   ("$" ?\;)
787   ("%" ?%)   ("%" ?%)
788   ("^" ?&)   ("^" ?:)
789   ("&" ?')   ("&" ??)
790   ("*" ?\()   ("*" ?*)
791   ("(" ?\))   ("(" ?()
792   (")" ?=)   (")" ?))
793   ("_" ??)   ("_" ?_)
794   ("+" ?*)   ("+" ?+)
795   ("~" ?>)   ("~" ?')
796   ("Q" ?,L$(B)   ("Q" ?$,1(9(B)
797   ("W" ?,L'(B)   ("W" ?$,1(F(B)
798   ("E" ?,L5(B)   ("E" ?$,1(C(B)
799   ("R" ?,L@(B)   ("R" ?$,1(:(B)
800   ("T" ?,LB(B)   ("T" ?$,1(5(B)
801   ("Y" ?,L7(B)   ("Y" ?$,1(=(B)
802   ("U" ?,LC(B)   ("U" ?$,1(3(B)
803   ("I" ?,L8(B)   ("I" ?$,1(H(B)
804   ("O" ?,L>(B)   ("O" ?$,1(I(B)
805   ("P" ?,L?(B)   ("P" ?$,1(7(B)
806   ("{" ?,LH(B)   ("{" ?$,1(E(B)
807   ("}" ?,L&(B)   ("}" ?$,1('(B)
808   ("A" ?,L0(B)   ("A" ?$,1(D(B)
809   ("S" ?,LA(B)   ("S" ?$,1(&(B)
810   ("D" ?,L4(B)   ("D" ?$,1(2(B)
811   ("F" ?,LD(B)   ("F" ?$,1(0(B)
812   ("G" ?,L3(B)   ("G" ?$,1(?(B)
813   ("H" ?,LE(B)   ("H" ?$,1(@(B)
814   ("J" ?,L((B)   ("J" ?$,1(>(B)
815   ("K" ?,L:(B)   ("K" ?$,1(;(B)
816   ("L" ?,L;(B)   ("L" ?$,1(4(B)
817   (":" ?,LG(B)   (":" ?$,1(6(B)
818   ("\"" ?,L.(B)   ("\"" ?$,1($(B)
819   ("|" ?,L6(B)   ("Z" ?$,1(O(B)
820   ("Z" ?,L%(B)   ("X" ?$,1(G(B)
821   ("X" ?,L/(B)   ("C" ?$,1(A(B)
822   ("C" ?,LF(B)   ("V" ?$,1(<(B)
823   ("V" ?,L2(B)   ("B" ?$,1(8(B)
824   ("B" ?,L1(B)   ("N" ?$,1(B(B)
825   ("N" ?,L=(B)   ("M" ?$,1(L(B)
826   ("M" ?,L<(B)   ("<" ?$,1(1(B)
827   ("<" ?\;)   (">" ?$,1(N(B)
828   (">" ?:)   ("?" ?,)
829   ("?" ?_))   ("\\" ?$,1)Q(B)
830     ("|" ?$,1)P(B))
831  ;;  ;;
832    
833  (quail-define-package  ;; 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" ",L6O(B" nil   "cyrillic-yawerty" "Cyrillic" ",L6O(B" nil
838   ",LO25@BK(B Roman transcription (ISO 8859-5 encoding)   ",LO25@BK(B Roman transcription (ISO 8859-5 encoding)
839    
840  This layout is based on Roman transcription.  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  When preceded by a '/', the second and the third rows (number key row) change
842  as follows.  as follows.
843    
# Line 647  as follows. Line 904  as follows.
904   ("," ?,)   ("," ?,)
905   ("." ?.)   ("." ?.)
906   ("/" ?/)   ("/" ?/)
907    
908   ("!" ?!)   ("!" ?!)
909   ("@" ?,Lq(B)   ("@" ?,Lq(B)
910   ("#" ?,Lj(B)   ("#" ?,Lj(B)
# Line 695  as follows. Line 952  as follows.
952   ("<" ?<)   ("<" ?<)
953   (">" ?>)   (">" ?>)
954   ("?" ??)   ("?" ??)
955    
956   ("/q" ?,Lr(B)   ("/q" ?,Lr(B)
957   ("/w" ?,Ls(B)   ("/w" ?,Ls(B)
958   ("/e" ?,Lt(B)   ("/e" ?,Lt(B)
# Line 709  as follows. Line 966  as follows.
966   ("/a" ?,L|(B)   ("/a" ?,L|(B)
967   ("/s" ?,L~(B)   ("/s" ?,L~(B)
968   ("/d" ?,L(B)   ("/d" ?,L(B)
969    
970   ("/Q" ?,L"(B)   ("/Q" ?,L"(B)
971   ("/W" ?,L#(B)   ("/W" ?,L#(B)
972   ("/E" ?,L$(B)   ("/E" ?,L$(B)
# Line 726  as follows. Line 983  as follows.
983    
984  ;; This was provided by Valery Alexeev <valery@domovoy.math.uga.edu>.  ;; This was provided by Valery Alexeev <valery@domovoy.math.uga.edu>.
985    
986    ;; Ognyan Kulev <ogi@fmi.uni-sofia.bg> wrote:
987    
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).
994    
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  (quail-define-package
1000   "cyrillic-translit" "Cyrillic" ",L6(Bt" nil   "cyrillic-translit" "Cyrillic" ",L6(Bt" nil
1001   "Intuitively transliterated keyboard layout.   "Intuitively transliterated keyboard layout.
1002  Most convenient for entering Russian but all cyrillic characters are included.  Most convenient for entering Russian but all Cyrillic characters are included.
1003  Should handle most cases. However:  Should handle most cases. However:
1004    for ,Lf(B (TSE) use \"c\", never \"ts\"    for ,Lf(B (TSE) use \"c\", never \"ts\"
1005    ,Li(B (SHCHA = Bulgarian SHT) = \"shch\", \"sj\", \"/sht\" or \"/t\",    ,Li(B (SHCHA = Bulgarian SHT) = \"shch\", \"sj\", \"/sht\" or \"/t\",
# Line 742  Should handle most cases. However: Line 1012  Should handle most cases. However:
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  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  u f h=kh=x c ch sh shch=sj=/s=/sht ~ y ' e' yu=ju ya=ja=q
1014    
1015  Also included are Ukrainian ,Lt(B (YE) = \"/e\" and ,Lw(B (YI) = \"yi\",  Also included are Ukrainian ,Lt(B (YE) = \"/e\" and ,Lw(B (YI) = \"yi\",
1016  Belorussian ,L~(B (SHORT U) = \"u'\",  Belarusian ,L~(B (SHORT U) = \"u'\",
1017  Serbo-Croatian ,Lr(B (DJE) = \"/d\", ,L{(B (CHJE)= \"/ch\",  Serbo-Croatian ,Lr(B (DJE) = \"/d\", ,L{(B (CHJE)= \"/ch\",
1018  Macedonian ,Ls(B (GJE) = \"/g\", ,Lu(B (DZE) = \"/s\", ,L|(B (KJE) = \"/k\",  Macedonian ,Ls(B (GJE) = \"/g\", ,Lu(B (DZE) = \"/s\", ,L|(B (KJE) = \"/k\",
1019  cyrillic ,Lv(B (I DECIMAL) = \"/i\", ,Lx(B (JE) = \"/j\",  cyrillic ,Lv(B (I DECIMAL) = \"/i\", ,Lx(B (JE) = \"/j\",
1020  ,Ly(B (LJE) = \"/l\", ,Lz(B (NJE) = \"/n\" and ,L(B (DZE) =\"/z\"."  ,Ly(B (LJE) = \"/l\", ,Lz(B (NJE) = \"/n\" and ,L(B (DZE) =\"/z\"."
1021   nil t t t t nil nil nil nil nil t)   nil t t t t nil nil nil nil nil t)
1022    
1023  (quail-define-rules  (quail-define-rules
1024   ("a" ?,LP(B)("b" ?,LQ(B) ("v" ?,LR(B) ("w" ?,LR(B) ("g" ?,LS(B) ("d" ?,LT(B)   ("a" ?,LP(B)("b" ?,LQ(B) ("v" ?,LR(B) ("w" ?,LR(B) ("g" ?,LS(B) ("d" ?,LT(B)
1025   ("e" ?,LU(B) ("je" ?,LU(B)   ("e" ?,LU(B) ("je" ?,LU(B)
1026   ("yo" ?,Lq(B) ("jo" ?,Lq(B)   ("yo" ?,Lq(B) ("jo" ?,Lq(B)
1027   ("zh" ?,LV(B) ("z" ?,LW(B) ("i" ?,LX(B)   ("zh" ?,LV(B) ("z" ?,LW(B) ("i" ?,LX(B)
1028   ("j" ?,LY(B) ("j'" ?,LY(B) ("j`" ?,LY(B) ("k" ?,LZ(B) ("l" ?,L[(B)   ("j" ?,LY(B) ("j'" ?,LY(B) ("j`" ?,LY(B) ("k" ?,LZ(B) ("l" ?,L[(B)
1029   ("m" ?,L\(B) ("n" ?,L](B) ("o" ?,L^(B) ("p" ?,L_(B) ("r" ?,L`(B) ("s" ?,La(B) ("t" ?,Lb(B) ("u" ?,Lc(B)   ("m" ?,L\(B) ("n" ?,L](B) ("o" ?,L^(B) ("p" ?,L_(B) ("r" ?,L`(B) ("s" ?,La(B) ("t" ?,Lb(B) ("u" ?,Lc(B)
1030   ("f" ?,Ld(B) ("x" ?,Le(B) ("h" ?,Le(B) ("kh" ?,Le(B)   ("f" ?,Ld(B) ("x" ?,Le(B) ("h" ?,Le(B) ("kh" ?,Le(B)
1031   ("c" ?,Lf(B) ("ch" ?,Lg(B)   ("c" ?,Lf(B) ("ch" ?,Lg(B)
1032   ("sh" ?,Lh(B)   ("sh" ?,Lh(B)
1033   ("shch" ?,Li(B) ("sj" ?,Li(B)   ("shch" ?,Li(B) ("sj" ?,Li(B)
1034   ("/sht" ?,Li(B) ("/t" ?,Li(B)   ("/sht" ?,Li(B) ("/t" ?,Li(B)
1035   ("~" ?,Lj(B) ("y" ?,Lk(B) ("'" ?,Ll(B) ("`" ?,Ll(B)   ("~" ?,Lj(B) ("y" ?,Lk(B) ("'" ?,Ll(B) ("`" ?,Ll(B)
1036   ("e'" ?,Lm(B) ("e`" ?,Lm(B) ("@" ?,Lm(B)   ("e'" ?,Lm(B) ("e`" ?,Lm(B) ("@" ?,Lm(B)
1037   ("yu" ?,Ln(B) ("ju" ?,Ln(B)   ("yu" ?,Ln(B) ("ju" ?,Ln(B)
1038   ("ya" ?,Lo(B) ("ja" ?,Lo(B) ("q" ?,Lo(B)   ("ya" ?,Lo(B) ("ja" ?,Lo(B) ("q" ?,Lo(B)
1039    
1040   ("A" ?,L0(B) ("B" ?,L1(B) ("V" ?,L2(B) ("W" ?,L2(B) ("G" ?,L3(B) ("D" ?,L4(B)   ("A" ?,L0(B) ("B" ?,L1(B) ("V" ?,L2(B) ("W" ?,L2(B) ("G" ?,L3(B) ("D" ?,L4(B)
1041   ("E" ?,L5(B) ("Je" ?,L5(B) ("JE" ?,L5(B)   ("E" ?,L5(B) ("Je" ?,L5(B) ("JE" ?,L5(B)
1042   ("Yo" ?,L!(B) ("YO" ?,L!(B) ("Jo" ?,L!(B) ("JO" ?,L!(B)   ("Yo" ?,L!(B) ("YO" ?,L!(B) ("Jo" ?,L!(B) ("JO" ?,L!(B)
1043   ("Zh" ?,L6(B) ("ZH" ?,L6(B) ("Z" ?,L7(B) ("I" ?,L8(B)   ("Zh" ?,L6(B) ("ZH" ?,L6(B) ("Z" ?,L7(B) ("I" ?,L8(B)
1044   ("J" ?,L9(B) ("J'" ?,L9(B) ("J`" ?,L9(B) ("K" ?,L:(B) ("L" ?,L;(B)   ("J" ?,L9(B) ("J'" ?,L9(B) ("J`" ?,L9(B) ("K" ?,L:(B) ("L" ?,L;(B)
1045   ("M" ?,L<(B) ("N" ?,L=(B) ("O" ?,L>(B) ("P" ?,L?(B) ("R" ?,L@(B) ("S" ?,LA(B) ("T" ?,LB(B) ("U" ?,LC(B)   ("M" ?,L<(B) ("N" ?,L=(B) ("O" ?,L>(B) ("P" ?,L?(B) ("R" ?,L@(B) ("S" ?,LA(B) ("T" ?,LB(B) ("U" ?,LC(B)
1046   ("F" ?,LD(B) ("X" ?,LE(B) ("H" ?,LE(B) ("Kh" ?,LE(B) ("KH" ?,LE(B)   ("F" ?,LD(B) ("X" ?,LE(B) ("H" ?,LE(B) ("Kh" ?,LE(B) ("KH" ?,LE(B)
1047   ("C" ?,LF(B) ("Ch" ?,LG(B) ("CH" ?,LG(B)   ("C" ?,LF(B) ("Ch" ?,LG(B) ("CH" ?,LG(B)
1048   ("Sh" ?,LH(B) ("SH" ?,LH(B)   ("Sh" ?,LH(B) ("SH" ?,LH(B)
1049   ("Shch" ?,LI(B) ("SHCH" ?,LI(B) ("Sj" ?,LI(B) ("SJ" ?,LI(B)   ("Shch" ?,LI(B) ("SHCH" ?,LI(B) ("Sj" ?,LI(B) ("SJ" ?,LI(B)
1050   ("/Sht" ?,LI(B) ("/SHT" ?,LI(B) ("/T" ?,LI(B)   ("/Sht" ?,LI(B) ("/SHT" ?,LI(B) ("/T" ?,LI(B)
1051   ("~~" ",LJ(B") ("Y" ?,LK(B) ("''" ",LL(B") ("E'" ?,LM(B) ("E`" ?,LM(B)   ("~~" ",LJ(B") ("Y" ?,LK(B) ("''" ",LL(B") ("E'" ?,LM(B) ("E`" ?,LM(B)
1052   ("Yu" ?,LN(B) ("YU" ?,LN(B) ("Ju" ?,LN(B) ("JU" ?,LN(B)   ("Yu" ?,LN(B) ("YU" ?,LN(B) ("Ju" ?,LN(B) ("JU" ?,LN(B)
1053   ("Ya" ?,LO(B) ("YA" ?,LO(B) ("Ja" ?,LO(B) ("JA" ?,LO(B) ("Q" ?,LO(B)   ("Ya" ?,LO(B) ("YA" ?,LO(B) ("Ja" ?,LO(B) ("JA" ?,LO(B) ("Q" ?,LO(B)
1054    
1055   ("/e" ?,Lt(B) ("yi" ?,Lw(B) ("u'" ?,L~(B)   ("/e" ?,Lt(B) ("yi" ?,Lw(B) ("u'" ?,L~(B)
1056   ("/d" ?,Lr(B) ("/ch" ?,L{(B)   ("/d" ?,Lr(B) ("/ch" ?,L{(B)
1057   ("/g" ?,Ls(B) ("/s" ?,Lu(B) ("/k" ?,L|(B)   ("/g" ?,Ls(B) ("/s" ?,Lu(B) ("/k" ?,L|(B)
1058   ("/i" ?,Lv(B) ("/j" ?,Lx(B) ("/l" ?,Ly(B) ("/n" ?,Lz(B) ("/z" ?,L(B)   ("/i" ?,Lv(B) ("/j" ?,Lx(B) ("/l" ?,Ly(B) ("/n" ?,Lz(B) ("/z" ?,L(B)
1059   ("/E" ?,L$(B) ("YE" ?,L$(B) ("Yi" ?,L'(B) ("YI" ?,L'(B) ("U'" ?,L.(B)   ("/E" ?,L$(B) ("YE" ?,L$(B) ("Yi" ?,L'(B) ("YI" ?,L'(B) ("U'" ?,L.(B)
1060   ("/D" ?,L"(B) ("/Ch" ?,L+(B) ("/CH" ?,L+(B)   ("/D" ?,L"(B) ("/Ch" ?,L+(B) ("/CH" ?,L+(B)
1061   ("/G" ?,L#(B) ("/S" ?,L%(B) ("/K" ?,L,(B)   ("/G" ?,L#(B) ("/S" ?,L%(B) ("/K" ?,L,(B)
1062   ("/I" ?,L&(B) ("/J" ?,L((B) ("/L" ?,L)(B) ("/N" ?,L*(B) ("/Z" ?,L/(B)   ("/I" ?,L&(B) ("/J" ?,L((B) ("/L" ?,L)(B) ("/N" ?,L*(B) ("/Z" ?,L/(B)
1063  )  )
1064    
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  (quail-define-package
1069   "cyrillic-translit-bulgarian" "Bulgarian" ",L6(Btb" nil   "belarusian" "Belarusian" "BE" nil
1070   "Intuitively transliterated keyboard layout optimized for Bulgarian.   "$,1(9(F(C(:(5(=(B keyboard layout registered as STB955-94 Belarusian standard.
1071  The only difference with cyrillic-translit is that \"sht\" translates as  Unicode based."
 ,Li(B (SHCHA = Bulgarian SHT) insteat of ,Lhb(B (SH+T)."  
1072   nil t t t t nil nil nil nil nil t)   nil t t t t nil nil nil nil nil t)
1073    
1074  (quail-define-rules  ;; $,1(q(!(B 1! 2" 3N 4; 5% 6: 7? 8* 9( 0) -_ =+
1075   ("a" ?,LP(B)("b" ?,LQ(B) ("v" ?,LR(B) ("w" ?,LR(B) ("g" ?,LS(B) ("d" ?,LT(B)  ;;     $,1(9(B  $,1(F(B  $,1(C(B  $,1(:(B  $,1(5(B  $,1(=(B  $,1(3(B  $,1(H(B  $,1(.(B $,1(7(B  $,1(E(B  '
1076   ("e" ?,LU(B) ("je" ?,LU(B)  ;;      $,1(D(B  $,1(K(B  $,1(2(B  $,1(0(B  $,1(?(B  $,1(@(B  $,1(>(B  $,1(;(B  $,1(4(B $,1(6(B  $,1(M(B
1077   ("yo" ?,Lq(B) ("jo" ?,Lq(B)  ;;       $,1(O(B  $,1(G(B  $,1(A(B  $,1(<(B  $,1(&(B  $,1(B(B  $,1(L(B  $,1(1(B  $,1(N(B  .,
  ("zh" ?,LV(B) ("z" ?,LW(B) ("i" ?,LX(B)  
  ("j" ?,LY(B) ("j'" ?,LY(B) ("j`" ?,LY(B) ("k" ?,LZ(B) ("l" ?,L[(B)  
  ("m" ?,L\(B) ("n" ?,L](B) ("o" ?,L^(B) ("p" ?,L_(B) ("r" ?,L`(B) ("s" ?,La(B) ("t" ?,Lb(B) ("u" ?,Lc(B)  
  ("f" ?,Ld(B) ("x" ?,Le(B) ("h" ?,Le(B) ("kh" ?,Le(B)  
  ("c" ?,Lf(B) ("ch" ?,Lg(B)  
  ("sh" ?,Lh(B)  
  ("shch" ?,Li(B) ("sj" ?,Li(B)  
  ("/sht" ?,Li(B) ("/t" ?,Li(B) ("sht" ?,Li(B)  
  ("~" ?,Lj(B) ("y" ?,Lk(B) ("'" ?,Ll(B) ("`" ?,Ll(B)  
  ("e'" ?,Lm(B) ("e`" ?,Lm(B) ("@" ?,Lm(B)  
  ("yu" ?,Ln(B) ("ju" ?,Ln(B)  
  ("ya" ?,Lo(B) ("ja" ?,Lo(B) ("q" ?,Lo(B)  
   
  ("A" ?,L0(B) ("B" ?,L1(B) ("V" ?,L2(B) ("W" ?,L2(B) ("G" ?,L3(B) ("D" ?,L4(B)  
  ("E" ?,L5(B) ("Je" ?,L5(B) ("JE" ?,L5(B)  
  ("Yo" ?,L!(B) ("YO" ?,L!(B) ("Jo" ?,L!(B) ("JO" ?,L!(B)  
  ("Zh" ?,L6(B) ("ZH" ?,L6(B) ("Z" ?,L7(B) ("I" ?,L8(B)  
  ("J" ?,L9(B) ("J'" ?,L9(B) ("J`" ?,L9(B) ("K" ?,L:(B) ("L" ?,L;(B)  
  ("M" ?,L<(B) ("N" ?,L=(B) ("O" ?,L>(B) ("P" ?,L?(B) ("R" ?,L@(B) ("S" ?,LA(B) ("T" ?,LB(B) ("U" ?,LC(B)  
  ("F" ?,LD(B) ("X" ?,LE(B) ("H" ?,LE(B) ("Kh" ?,LE(B) ("KH" ?,LE(B)  
  ("C" ?,LF(B) ("Ch" ?,LG(B) ("CH" ?,LG(B)  
  ("Sh" ?,LH(B) ("SH" ?,LH(B)  
  ("Shch" ?,LI(B) ("SHCH" ?,LI(B) ("Sj" ?,LI(B) ("SJ" ?,LI(B)  
  ("/Sht" ?,LI(B) ("/SHT" ?,LI(B) ("/T" ?,LI(B) ("Sht" ?,LI(B) ("SHT" ?,LI(B)  
  ("~~" ",LJ(B") ("Y" ?,LK(B) ("''" ",LL(B") ("E'" ?,LM(B) ("E`" ?,LM(B)  
  ("Yu" ?,LN(B) ("YU" ?,LN(B) ("Ju" ?,LN(B) ("JU" ?,LN(B)  
  ("Ya" ?,LO(B) ("YA" ?,LO(B) ("Ja" ?,LO(B) ("JA" ?,LO(B) ("Q" ?,LO(B)  
   
  ("/e" ?,Lt(B) ("yi" ?,Lw(B) ("u'" ?,L~(B)  
  ("/d" ?,Lr(B) ("/ch" ?,L{(B)  
  ("/g" ?,Ls(B) ("/s" ?,Lu(B) ("/k" ?,L|(B)  
  ("/i" ?,Lv(B) ("/j" ?,Lx(B) ("/l" ?,Ly(B) ("/n" ?,Lz(B) ("/z" ?,L(B)  
  ("/E" ?,L$(B) ("YE" ?,L$(B) ("Yi" ?,L'(B) ("YI" ?,L'(B) ("U'" ?,L.(B)  
  ("/D" ?,L"(B) ("/Ch" ?,L+(B) ("/CH" ?,L+(B)  
  ("/G" ?,L#(B) ("/S" ?,L%(B) ("/K" ?,L,(B)  
  ("/I" ?,L&(B) ("/J" ?,L((B) ("/L" ?,L)(B) ("/N" ?,L*(B) ("/Z" ?,L/(B)  
 )  
   
 ;; From Yudit's `Belarusian input table according to STB955-94  
 ;; belarusian standard'.  Alexander Mikhailian <mikhailian@altern.org>  
 (quail-define-package  
  "belarusian" "Belarusian" "$,1(v(B" ; fixme  
  nil  
  "Belarusian STB955-94 input, producing Unicode"  
  nil t t t t nil nil nil nil nil t)  
1078    
1079  (quail-define-rules  (quail-define-rules
  ("<<" ?,A+(B)  
  (">>" ?,A;(B)  
  (",," ?$,1r}(B)  
  ("``" ?$,1r|(B)  
  ("C)" ?,A)(B)  
  ("x)" ?$,1s"(B)  
  (":)" ?$,2#:(B)  
  (":(" ?$,2#9(B)  
  ("C-" ?,A$(B)  
  ("E-" ?$,1tL(B)  
  ("L-" ?,A#(B)  
   
1080   ("~" ?$,1(!(B)   ("~" ?$,1(!(B)
  ("!" ?!)  
1081   ("@" ?\")   ("@" ?\")
1082   ("#" ?$,1uV(B)   ("#" ?$,1uV(B)
1083   ("$" ?\;)   ("$" ?\;)
1084   ("%" ?%)   ("%" ?%)
1085   ("^" ?:)   ("^" ?:)
1086   ("&" ??)   ("&" ??)
  ("*" ?*)  
  ("(" ?\()  
  (")" ?\))  
  ("_" ?_)  
  ("+" ?+)  
1087   ("Q" ?$,1(9(B)   ("Q" ?$,1(9(B)
1088   ("W" ?$,1(F(B)   ("W" ?$,1(F(B)
1089   ("E" ?$,1(C(B)   ("E" ?$,1(C(B)
# Line 898  The only difference with cyrillic-transl Line 1107  The only difference with cyrillic-transl
1107   ("L" ?$,1(4(B)   ("L" ?$,1(4(B)
1108   (":" ?$,1(6(B)   (":" ?$,1(6(B)
1109   ("\"" ?$,1(M(B)   ("\"" ?$,1(M(B)
1110   ("|" ?/)   ("|" ?|)
1111   ("Z" ?$,1(O(B)   ("Z" ?$,1(O(B)
1112   ("X" ?$,1(G(B)   ("X" ?$,1(G(B)
1113   ("C" ?$,1(A(B)   ("C" ?$,1(A(B)
# Line 911  The only difference with cyrillic-transl Line 1120  The only difference with cyrillic-transl
1120   ("?" ?,)   ("?" ?,)
1121    
1122   ("`" ?$,1(q(B)   ("`" ?$,1(q(B)
  ("1" ?1)  
  ("2" ?2)  
  ("3" ?3)  
  ("4" ?4)  
  ("5" ?5)  
  ("6" ?6)  
  ("7" ?7)  
  ("8" ?8)  
  ("9" ?9)  
  ("0" ?0)  
  ("-" ?-)  
  ("=" ?=)  
1123   ("q" ?$,1(Y(B)   ("q" ?$,1(Y(B)
1124   ("w" ?$,1(f(B)   ("w" ?$,1(f(B)
1125   ("e" ?$,1(c(B)   ("e" ?$,1(c(B)
# Line 946  The only difference with cyrillic-transl Line 1143  The only difference with cyrillic-transl
1143   ("l" ?$,1(T(B)   ("l" ?$,1(T(B)
1144   (";" ?$,1(V(B)   (";" ?$,1(V(B)
1145   ("'" ?$,1(m(B)   ("'" ?$,1(m(B)
  ("\\" ?\\)  
1146   ("z" ?$,1(o(B)   ("z" ?$,1(o(B)
1147   ("x" ?$,1(g(B)   ("x" ?$,1(g(B)
1148   ("c" ?$,1(a(B)   ("c" ?$,1(a(B)
# Line 956  The only difference with cyrillic-transl Line 1152  The only difference with cyrillic-transl
1152   ("m" ?$,1(l(B)   ("m" ?$,1(l(B)
1153   ("," ?$,1(Q(B)   ("," ?$,1(Q(B)
1154   ("." ?$,1(n(B)   ("." ?$,1(n(B)
1155   ("/" ?.)   ("/" ?.))
   
  ("D-" ?$,1("(B)  
  ("G'" ?$,1(#(B)  
  ("E>" ?$,1($(B)  
  ("Z>" ?$,1(%(B)  
  ("I/ " ?$,1(8(B)  
  ("I:" ?$,1('(B)  
  ("J<" ?$,1(((B)  
  ("L>" ?$,1()(B)  
  ("N>" ?$,1(*(B)  
  ("C'" ?$,1(+(B)  
  ("K'" ?$,1(,(B)  
  ("D>" ?$,1(/(B)  
   
  ("d-" ?$,1(r(B)  
  ("g'" ?$,1(s(B)  
  ("e>" ?$,1(t(B)  
  ("z>" ?$,1(u(B)  
  ("i/ " ?$,1(X(B)  
  ("i:" ?$,1(w(B)  
  ("j<" ?$,1(x(B)  
  ("l>" ?$,1(y(B)  
  ("c'" ?$,1({(B)  
  ("k'" ?$,1(|(B)  
  ("d>" ?$,1((B)  
   
  ("G`" ?$,1)P(B)  
  ("g`" ?$,1)Q(B)  
  ("E<" ?$,1)"(B)  
  ("e<" ?$,1)#(B)  
  ("A<" ?$,1)*(B)  
  ("a<" ?$,1)+(B)  
  ("F`" ?$,1)2(B)  
  ("f`" ?$,1)3(B)  
  ("Y`" ?$,1)4(B)  
  ("y`" ?$,1)5(B))  
1156    
1157  ;; From `Bulgarian-PHO.kmap for Yudit', Alexander Shopov  ;; From `Bulgarian-PHO.kmap for Yudit', Alexander Shopov
1158  ;; <al_shopov@web.bg>.  ;; <al_shopov@web.bg>.
1159    
1160  ;; Extra commentary and the indicator from an independent  ;; Extra commentary and the indicator from an independent
1161  ;; (cyrillic-iso8859-5) implementation by Ognyan Kulev  ;; (cyrillic-iso8859-5) implementation by Ognyan Kulev
1162  ;; <ogi@fmi.uni-sofia.bg>.  ;; <ogi@fmi.uni-sofia.bg> and name changes from Anton Zinoviev
1163    ;; <anton@lml.bas.bg>.
1164  (quail-define-package  (quail-define-package
1165   "bulgarian-pho" "Bulgarian" "$,1(6(1(D(B"   "bulgarian-phonetic" "Bulgarian" "$,1(6(1(D(B"
1166   nil   nil
1167   "Bulgarian Phonetic keyboard layout, producing Unicode   "Bulgarian Phonetic keyboard layout, producing Unicode.
1168    
1169  The layout is similar to `cyrillic-translit', but all Bulgarian  The layout is similar to `cyrillic-translit', but all Bulgarian
1170  characters are typed with a single key."  characters are typed with a single key.
1171    
1172    Use /& for ,A'(B (Cyrillic paragraph) and /# for $,1uV(B."
1173   nil t t t t nil nil nil nil nil t)   nil t t t t nil nil nil nil nil t)
1174    
1175  ;;   $,1(O(B  $,1(2(B  $,1(5(B  $,1(@(B  $,1(B(B  $,1(J(B  $,1(C(B  $,1(8(B  $,1(>(B  $,1(?(B  $,1(H(B  $,1(I(B  ;;   $,1(O(B  $,1(2(B  $,1(5(B  $,1(@(B  $,1(B(B  $,1(J(B  $,1(C(B  $,1(8(B  $,1(>(B  $,1(?(B  $,1(H(B  $,1(I(B
# Line 1014  characters are typed with a single key." Line 1177  characters are typed with a single key."
1177  ;;  $,1(N(B  $,1(7(B  $,1(L(B  $,1(F(B  $,1(6(B  $,1(1(B  $,1(=(B  $,1(<(B  ;;  $,1(N(B  $,1(7(B  $,1(L(B  $,1(F(B  $,1(6(B  $,1(1(B  $,1(=(B  $,1(<(B
1178    
1179  (quail-define-rules  (quail-define-rules
1180     ("/&" ?,A'(B)
1181     ("/#" ?$,1uV(B)
1182   ("A" ?$,1(0(B)   ("A" ?$,1(0(B)
1183   ("B" ?$,1(1(B)   ("B" ?$,1(1(B)
1184   ("W" ?$,1(2(B)   ("W" ?$,1(2(B)
# Line 1073  characters are typed with a single key." Line 1238  characters are typed with a single key."
1238   ("y" ?$,1(j(B)   ("y" ?$,1(j(B)
1239   ("x" ?$,1(l(B)   ("x" ?$,1(l(B)
1240   ("\\" ?$,1(n(B)   ("\\" ?$,1(n(B)
1241     ("|" ?$,1(N(B)
1242   ("q" ?$,1(o(B))   ("q" ?$,1(o(B))
1243    
1244    ;; Based on an implementation by Ognyan Kulev <ogi@fmi.uni-sofia.bg>.
1245    ;; This follows XKB bg.
1246    
1247    (quail-define-package
1248     "bulgarian-bds" "Bulgarian" "$,1(1(4(A(B" nil
1249     "Bulgarian standard keyboard layout (BDS)
1250    
1251    This keyboard layout is standard for Bulgarian typewriters."
1252     nil t t t t nil nil nil nil nil t)
1253    
1254    ;;  1! 2? 3+ 4" 5% 6= 7: 8/ 9_ 0$,1uV(B -I .V
1255    ;;   ,$,1(k(B $,1(C(B  $,1(5(B  $,1(8(B  $,1(H(B  $,1(I(B  $,1(:(B  $,1(A(B  $,1(4(B  $,1(7(B  $,1(F(B  ;,A'(B
1256    ;;    $,1(l(B  $,1(O(B  $,1(0(B  $,1(>(B  $,1(6(B  $,1(3(B  $,1(B(B  $,1(=(B  $,1(2(B  $,1(<(B  $,1(G(B  ()
1257    ;;     $,1(N(B  $,1(9(B  $,1(J(B  $,1(M(B  $,1(D(B  $,1(E(B  $,1(?(B  $,1(@(B  $,1(;(B  $,1(1(B
1258    
1259    (quail-define-rules
1260    
1261     ("1" ?1) ("!" ?!)
1262     ("2" ?2)
1263     ("@" ??)
1264     ("3" ?3)
1265     ("#" ?+)
1266     ("4" ?4)
1267     ("$" ?\")
1268     ("5" ?5) ("%" ?%)
1269     ("6" ?6)
1270     ("^" ?=)
1271     ("7" ?7)
1272     ("&" ?:)
1273     ("8" ?8)
1274     ("*" ?/)
1275     ("9" ?9)
1276     ("(" ?_)
1277     ("0" ?0)
1278     (")" ?$,1uV(B)
1279     ("-" ?-)
1280     ("_" ?I)
1281     ("=" ?.) ("+" ?V)
1282    
1283     ("q" ?,) ("Q" ?$,1(k(B)
1284     ("w" ?$,1(c(B) ("W" ?$,1(C(B)
1285     ("e" ?$,1(U(B) ("E" ?$,1(5(B)
1286     ("r" ?$,1(X(B) ("R" ?$,1(8(B)
1287     ("t" ?$,1(h(B) ("T" ?$,1(H(B)
1288     ("y" ?$,1(i(B) ("Y" ?$,1(I(B)
1289     ("u" ?$,1(Z(B) ("U" ?$,1(:(B)
1290     ("i" ?$,1(a(B) ("I" ?$,1(A(B)
1291     ("o" ?$,1(T(B) ("O" ?$,1(4(B)
1292     ("p" ?$,1(W(B) ("P" ?$,1(7(B)
1293     ("[" ?$,1(f(B) ("{" ?$,1(F(B)
1294     ("]" ?\;)
1295     ("}" ?,A'(B) ;; not in XKB's bg
1296    
1297     ("a" ?$,1(l(B) ("A" ?$,1(L(B)
1298     ("s" ?$,1(o(B) ("S" ?$,1(O(B)
1299     ("d" ?$,1(P(B) ("D" ?$,1(0(B)
1300     ("f" ?$,1(^(B) ("F" ?$,1(>(B)
1301     ("g" ?$,1(V(B) ("G" ?$,1(6(B)
1302     ("h" ?$,1(S(B) ("H" ?$,1(3(B)
1303     ("j" ?$,1(b(B) ("J" ?$,1(B(B)
1304     ("k" ?$,1(](B) ("K" ?$,1(=(B)
1305     ("l" ?$,1(R(B) ("L" ?$,1(2(B)
1306     (";" ?$,1(\(B) (":" ?$,1(<(B)
1307     ("'" ?$,1(g(B) ("\"" ?$,1(G(B)
1308     ("`" ?\() ("~" ?\))
1309    
1310     ("z" ?$,1(n(B) ("Z" ?$,1(N(B)
1311     ("x" ?$,1(Y(B) ("X" ?$,1(9(B)
1312     ("c" ?$,1(j(B) ("C" ?$,1(J(B)
1313     ("v" ?$,1(m(B) ("V" ?$,1(M(B)
1314     ("b" ?$,1(d(B) ("B" ?$,1(D(B)
1315     ("n" ?$,1(e(B) ("N" ?$,1(E(B)
1316     ("m" ?$,1(_(B) ("M" ?$,1(?(B)
1317     ("," ?$,1(`(B) ("<" ?$,1(@(B)
1318     ("." ?$,1([(B) (">" ?$,1(;(B)
1319     ("/" ?$,1(Q(B) ("?" ?$,1(1(B)
1320     ("\\" ?') ("|" ?$,1(K(B))
1321    
1322  ;; Local Variables:  ;; Local Variables:
1323  ;; coding: iso-2022-7bit  ;; coding: iso-2022-7bit
1324  ;; End:  ;; End:

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.14.4.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26