[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/leim/quail/cyrillic.el [emacs-unicode-2]
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] Changes to emacs/leim/quail/cyrillic.el [emacs-unicode-2] |
Date: |
Mon, 08 Sep 2003 08:45:41 -0400 |
Index: emacs/leim/quail/cyrillic.el
diff -c /dev/null emacs/leim/quail/cyrillic.el:1.18.4.1
*** /dev/null Mon Sep 8 08:45:41 2003
--- emacs/leim/quail/cyrillic.el Mon Sep 8 08:45:39 2003
***************
*** 0 ****
--- 1,1326 ----
+ ;;; cyrillic.el --- Quail package for inputting Cyrillic characters
+
+ ;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
+ ;; Licensed to the Free Software Foundation.
+ ;; Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+
+ ;; Author: TAKAHASHI Naoto <address@hidden>
+ ;; Keywords: multilingual, input method, Cyrillic, i18n
+
+ ;; This file is part of GNU Emacs.
+
+ ;; GNU Emacs is free software; you can redistribute it and/or modify
+ ;; it under the terms of the GNU General Public License as published by
+ ;; the Free Software Foundation; either version 2, or (at your option)
+ ;; any later version.
+
+ ;; GNU Emacs is distributed in the hope that it will be useful,
+ ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ ;; GNU General Public License for more details.
+
+ ;; You should have received a copy of the GNU General Public License
+ ;; along with GNU Emacs; see the file COPYING. If not, write to the
+ ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ ;; Boston, MA 02111-1307, USA.
+
+ ;;; Commentary:
+
+ ;; These methods use a mixture of 8859-5 and Unicode. Quail, used
+ ;; with ucs-tables provides suport for translating on the fly to
+ ;; what's appropriate for aa buffer's file coding system, so the
+ ;; encoding shouldn't matter too much provided it supports the
+ ;; necessary characters.
+
+ ;;; Code:
+
+ (require 'quail)
+
+ ;; This was `cyrillic-jcuken'. Alexander Mikhailian
+ ;; <address@hidden> says: "cyrillic-jcuken" is actually
+ ;; russian. It is ok but a bit outdated. This layout has been used
+ ;; in typewriters for ages but it has been superceeded on desktops by
+ ;; a variation of this layout, implemented in M$ Windows software.
+ ;; The Windows layout is greatly preferred because of the comma and
+ ;; period being placed more conviniently and, of course, because of
+ ;; the popularity of Windows software. This layout is a common option
+ ;; in X Windows and console layouts for GNU/Linux. [See
+ ;; `russian-computer' below.]
+ (quail-define-package
+ "russian-typewriter" "Russian" ",L69(B" nil
+ ",L9FC:5=(B Russian typewriter layout (ISO 8859-5 encoding)."
+ nil t t t t nil nil nil nil nil t)
+
+ ;; 1! 2" 3' 4* 5: 6, 7. 8; 9( 0) -_ =+ ,L!(B
+ ;; ,L9(B ,LF(B ,LC(B ,L:(B ,L5(B ,L=(B ,L3(B ,LH(B
,LI(B ,L7(B ,LE(B ,Lj(B
+ ;; ,LD(B ,LK(B ,L2(B ,L0(B ,L?(B ,address@hidden(B
,L>(B ,L;(B ,L4(B ,L6(B ,LM(B
+ ;; ,LO(B ,LG(B ,LA(B ,L<(B ,L8(B ,LB(B ,LL(B ,L1(B
,LN(B /?
+
+ (quail-define-rules
+ ("1" ?1)
+ ("2" ?2)
+ ("3" ?3)
+ ("4" ?4)
+ ("5" ?5)
+ ("6" ?6)
+ ("7" ?7)
+ ("8" ?8)
+ ("9" ?9)
+ ("0" ?0)
+ ("-" ?-)
+ ("=" ?=)
+ ("`" ?,Lq(B)
+ ("q" ?,LY(B)
+ ("w" ?,Lf(B)
+ ("e" ?,Lc(B)
+ ("r" ?,LZ(B)
+ ("t" ?,LU(B)
+ ("y" ?,L](B)
+ ("u" ?,LS(B)
+ ("i" ?,Lh(B)
+ ("o" ?,Li(B)
+ ("p" ?,LW(B)
+ ("[" ?,Le(B)
+ ("]" ?,Lj(B)
+ ("a" ?,Ld(B)
+ ("s" ?,Lk(B)
+ ("d" ?,LR(B)
+ ("f" ?,LP(B)
+ ("g" ?,L_(B)
+ ("h" ?,L`(B)
+ ("j" ?,L^(B)
+ ("k" ?,L[(B)
+ ("l" ?,LT(B)
+ (";" ?,LV(B)
+ ("'" ?,Lm(B)
+ ("\\" ?\\)
+ ("z" ?,Lo(B)
+ ("x" ?,Lg(B)
+ ("c" ?,La(B)
+ ("v" ?,L\(B)
+ ("b" ?,LX(B)
+ ("n" ?,Lb(B)
+ ("m" ?,Ll(B)
+ ("," ?,LQ(B)
+ ("." ?,Ln(B)
+ ("/" ?/)
+
+ ("!" ?!)
+ ("@" ?\")
+ ("#" ?')
+ ("$" ?*)
+ ("%" ?:)
+ ("^" ?,)
+ ("&" ?.)
+ ("*" ?\;)
+ ("(" ?\()
+ (")" ?\))
+ ("_" ?_)
+ ("+" ?+)
+ ("~" ?,L!(B)
+ ("Q" ?,L9(B)
+ ("W" ?,LF(B)
+ ("E" ?,LC(B)
+ ("R" ?,L:(B)
+ ("T" ?,L5(B)
+ ("Y" ?,L=(B)
+ ("U" ?,L3(B)
+ ("I" ?,LH(B)
+ ("O" ?,LI(B)
+ ("P" ?,L7(B)
+ ("{" ?,LE(B)
+ ("}" ?,LJ(B)
+ ("A" ?,LD(B)
+ ("S" ?,LK(B)
+ ("D" ?,L2(B)
+ ("F" ?,L0(B)
+ ("G" ?,L?(B)
+ ("H" ?,address@hidden(B)
+ ("J" ?,L>(B)
+ ("K" ?,L;(B)
+ ("L" ?,L4(B)
+ (":" ?,L6(B)
+ ("\"" ?,LM(B)
+ ("|" ?|)
+ ("Z" ?,LO(B)
+ ("X" ?,LG(B)
+ ("C" ?,LA(B)
+ ("V" ?,L<(B)
+ ("B" ?,L8(B)
+ ("N" ?,LB(B)
+ ("M" ?,LL(B)
+ ("<" ?,L1(B)
+ (">" ?,LN(B)
+ ("?" ??)
+ )
+
+ ;; Maintain the obsolete name for now.
+ (push (cons "cyrillic-jcuken"
+ (cdr (assoc "russian-typewriter" quail-package-alist)))
+ quail-package-alist)
+
+ ;; This needs to be seen by quail-update-leim-list-file, but cannot be
+ ;; commented out because quail-update-leim-list-file ignores
+ ;; commented-out lines.
+ (if nil
+ (quail-define-package
+ "cyrillic-jcuken" "Russian" ",L69(B" nil
+ ",L9FC:5=(B Russian typewriter layout (ISO 8859-5 encoding)."))
+
+ ;; See comment above. This is the variant `winkeys' from `ru' in XKB.
+ (quail-define-package
+ "russian-computer" "Russian" "RU" nil
+ ",L9FC:5=(B Russian computer layout"
+ nil t t t t nil nil nil nil nil t)
+
+ ;; 1! 2" 3,Lp(B 4; 5% 6: 7? 8* 9( 0) -_ =+ ,Lq!(B
+ ;; ,L9(B ,LF(B ,LC(B ,L:(B ,L5(B ,L=(B ,L3(B ,LH(B
,LI(B ,L7(B ,LE(B ,Lj(B
+ ;; ,LD(B ,LK(B ,L2(B ,L0(B ,L?(B ,address@hidden(B
,L>(B ,L;(B ,L4(B ,L6(B ,LM(B
+ ;; ,LO(B ,LG(B ,LA(B ,L<(B ,L8(B ,LB(B ,LL(B ,L1(B
,LN(B .,
+
+ (quail-define-rules
+ ("1" ?1)
+ ("2" ?2)
+ ("3" ?3)
+ ("4" ?4)
+ ("5" ?5)
+ ("6" ?6)
+ ("7" ?7)
+ ("8" ?8)
+ ("9" ?9)
+ ("0" ?0)
+ ("-" ?-)
+ ("=" ?=)
+ ("`" ?,Lq(B)
+ ("q" ?,LY(B)
+ ("w" ?,Lf(B)
+ ("e" ?,Lc(B)
+ ("r" ?,LZ(B)
+ ("t" ?,LU(B)
+ ("y" ?,L](B)
+ ("u" ?,LS(B)
+ ("i" ?,Lh(B)
+ ("o" ?,Li(B)
+ ("p" ?,LW(B)
+ ("[" ?,Le(B)
+ ("]" ?,Lj(B)
+ ("a" ?,Ld(B)
+ ("s" ?,Lk(B)
+ ("d" ?,LR(B)
+ ("f" ?,LP(B)
+ ("g" ?,L_(B)
+ ("h" ?,L`(B)
+ ("j" ?,L^(B)
+ ("k" ?,L[(B)
+ ("l" ?,LT(B)
+ (";" ?,LV(B)
+ ("'" ?,Lm(B)
+ ("\\" ?\\)
+ ("z" ?,Lo(B)
+ ("x" ?,Lg(B)
+ ("c" ?,La(B)
+ ("v" ?,L\(B)
+ ("b" ?,LX(B)
+ ("n" ?,Lb(B)
+ ("m" ?,Ll(B)
+ ("," ?,LQ(B)
+ ("." ?,Ln(B)
+ ("/" ?.)
+ ("!" ?!)
+ ("@" ?\")
+ ("#" ?,Lp(B)
+ ("$" ?\;)
+ ("%" ?%)
+ ("^" ?:)
+ ("&" ??)
+ ("*" ?*)
+ ("(" ?()
+ (")" ?))
+ ("_" ?_)
+ ("+" ?+)
+ ("~" ?,L!(B)
+ ("Q" ?,L9(B)
+ ("W" ?,LF(B)
+ ("E" ?,LC(B)
+ ("R" ?,L:(B)
+ ("T" ?,L5(B)
+ ("Y" ?,L=(B)
+ ("U" ?,L3(B)
+ ("I" ?,LH(B)
+ ("O" ?,LI(B)
+ ("P" ?,L7(B)
+ ("{" ?,LE(B)
+ ("}" ?,LJ(B)
+ ("A" ?,LD(B)
+ ("S" ?,LK(B)
+ ("D" ?,L2(B)
+ ("F" ?,L0(B)
+ ("G" ?,L?(B)
+ ("H" ?,address@hidden(B)
+ ("J" ?,L>(B)
+ ("K" ?,L;(B)
+ ("L" ?,L4(B)
+ (":" ?,L6(B)
+ ("\"" ?,LM(B)
+ ("|" ?|)
+ ("Z" ?,LO(B)
+ ("X" ?,LG(B)
+ ("C" ?,LA(B)
+ ("V" ?,L<(B)
+ ("B" ?,L8(B)
+ ("N" ?,LB(B)
+ ("M" ?,LL(B)
+ ("<" ?,L1(B)
+ (">" ?,LN(B)
+ ("?" ?,))
+
+ ;; Mikhailian couldn't check the next two.
+
+ ;; This seems to have the same layout for letters as mk in XKB, but at
+ ;; least the top row is different.
+ (quail-define-package
+ "cyrillic-macedonian" "Cyrillic" ",L6(BM" nil
+ ",L)address@hidden(B-,L#,(B keyboard layout based on JUS.I.K1.004"
+ nil t t t t nil nil nil nil nil t)
+
+ ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
+ ;; ,L)(B ,L*(B ,L5(B ,address@hidden(B ,LB(B ,L7(B ,LC(B
,L8(B ,L>(B ,L?(B ,LH(B ,L#(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
+ ;; ,L%(B ,L/(B ,LF(B ,L2(B ,L1(B ,L=(B ,L<(B ,; .: -_
+
+ (quail-define-rules
+ ("1" ?1)
+ ("2" ?2)
+ ("3" ?3)
+ ("4" ?4)
+ ("5" ?5)
+ ("6" ?6)
+ ("7" ?7)
+ ("8" ?8)
+ ("9" ?9)
+ ("0" ?0)
+ ("-" ?/)
+ ("=" ?+)
+ ("`" ?<)
+ ("q" ?,Ly(B)
+ ("w" ?,Lz(B)
+ ("e" ?,LU(B)
+ ("r" ?,L`(B)
+ ("t" ?,Lb(B)
+ ("y" ?,LW(B)
+ ("u" ?,Lc(B)
+ ("i" ?,LX(B)
+ ("o" ?,L^(B)
+ ("p" ?,L_(B)
+ ("[" ?,Lh(B)
+ ("]" ?,Ls(B)
+ ("a" ?,LP(B)
+ ("s" ?,La(B)
+ ("d" ?,LT(B)
+ ("f" ?,Ld(B)
+ ("g" ?,LS(B)
+ ("h" ?,Le(B)
+ ("j" ?,Lx(B)
+ ("k" ?,LZ(B)
+ ("l" ?,L[(B)
+ (";" ?,Lg(B)
+ ("'" ?,L|(B)
+ ("\\" ?,LV(B)
+ ("z" ?,Lu(B)
+ ("x" ?,L(B)
+ ("c" ?,Lf(B)
+ ("v" ?,LR(B)
+ ("b" ?,LQ(B)
+ ("n" ?,L](B)
+ ("m" ?,L\(B)
+ ("," ?,)
+ ("." ?.)
+ ("/" ?-)
+
+ ("!" ?!)
+ ("@" ?\")
+ ("#" ?#)
+ ("$" ?$)
+ ("%" ?%)
+ ("^" ?&)
+ ("&" ?')
+ ("*" ?\()
+ ("(" ?\))
+ (")" ?=)
+ ("_" ??)
+ ("+" ?*)
+ ("~" ?>)
+ ("Q" ?,L)(B)
+ ("W" ?,L*(B)
+ ("E" ?,L5(B)
+ ("R" ?,address@hidden(B)
+ ("T" ?,LB(B)
+ ("Y" ?,L7(B)
+ ("U" ?,LC(B)
+ ("I" ?,L8(B)
+ ("O" ?,L>(B)
+ ("P" ?,L?(B)
+ ("{" ?,LH(B)
+ ("}" ?,L#(B)
+ ("A" ?,L0(B)
+ ("S" ?,LA(B)
+ ("D" ?,L4(B)
+ ("F" ?,LD(B)
+ ("G" ?,L3(B)
+ ("H" ?,LE(B)
+ ("J" ?,L((B)
+ ("K" ?,L:(B)
+ ("L" ?,L;(B)
+ (":" ?,LG(B)
+ ("\"" ?,L,(B)
+ ("|" ?,L6(B)
+ ("Z" ?,L%(B)
+ ("X" ?,L/(B)
+ ("C" ?,LF(B)
+ ("V" ?,L2(B)
+ ("B" ?,L1(B)
+ ("N" ?,L=(B)
+ ("M" ?,L<(B)
+ ("<" ?\;)
+ (">" ?:)
+ ("?" ?_))
+
+ ;;
+
+ (quail-define-package
+ "cyrillic-serbian" "Cyrillic" ",L6(BS" nil
+ ",L)address@hidden(B-,L"+(B keyboard layout based on JUS.I.K1.005"
+ nil t t t t nil nil nil nil nil t)
+
+ ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
+ ;; ,L)(B ,L*(B ,L5(B ,address@hidden(B ,LB(B ,L7(B ,LC(B
,L8(B ,L>(B ,L?(B ,LH(B ,L"(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
+ ;; ,L%(B ,L/(B ,LF(B ,L2(B ,L1(B ,L=(B ,L<(B ,; .: -_
+
+ (quail-define-rules
+ ("1" ?1)
+ ("2" ?2)
+ ("3" ?3)
+ ("4" ?4)
+ ("5" ?5)
+ ("6" ?6)
+ ("7" ?7)
+ ("8" ?8)
+ ("9" ?9)
+ ("0" ?0)
+ ("-" ?/)
+ ("=" ?+)
+ ("`" ?<)
+ ("q" ?,Ly(B)
+ ("w" ?,Lz(B)
+ ("e" ?,LU(B)
+ ("r" ?,L`(B)
+ ("t" ?,Lb(B)
+ ("y" ?,LW(B)
+ ("u" ?,Lc(B)
+ ("i" ?,LX(B)
+ ("o" ?,L^(B)
+ ("p" ?,L_(B)
+ ("[" ?,Lh(B)
+ ("]" ?,Lr(B)
+ ("a" ?,LP(B)
+ ("s" ?,La(B)
+ ("d" ?,LT(B)
+ ("f" ?,Ld(B)
+ ("g" ?,LS(B)
+ ("h" ?,Le(B)
+ ("j" ?,Lx(B)
+ ("k" ?,LZ(B)
+ ("l" ?,L[(B)
+ (";" ?,Lg(B)
+ ("'" ?,L{(B)
+ ("\\" ?,LV(B)
+ ("z" ?,Lu(B)
+ ("x" ?,L(B)
+ ("c" ?,Lf(B)
+ ("v" ?,LR(B)
+ ("b" ?,LQ(B)
+ ("n" ?,L](B)
+ ("m" ?,L\(B)
+ ("," ?,)
+ ("." ?.)
+ ("/" ?-)
+
+ ("!" ?!)
+ ("@" ?\")
+ ("#" ?#)
+ ("$" ?$)
+ ("%" ?%)
+ ("^" ?&)
+ ("&" ?')
+ ("*" ?\()
+ ("(" ?\))
+ (")" ?=)
+ ("_" ??)
+ ("+" ?*)
+ ("~" ?>)
+ ("Q" ?,L)(B)
+ ("W" ?,L*(B)
+ ("E" ?,L5(B)
+ ("R" ?,address@hidden(B)
+ ("T" ?,LB(B)
+ ("Y" ?,L7(B)
+ ("U" ?,LC(B)
+ ("I" ?,L8(B)
+ ("O" ?,L>(B)
+ ("P" ?,L?(B)
+ ("{" ?,LH(B)
+ ("}" ?,L"(B)
+ ("A" ?,L0(B)
+ ("S" ?,LA(B)
+ ("D" ?,L4(B)
+ ("F" ?,LD(B)
+ ("G" ?,L3(B)
+ ("H" ?,LE(B)
+ ("J" ?,L((B)
+ ("K" ?,L:(B)
+ ("L" ?,L;(B)
+ (":" ?,LG(B)
+ ("\"" ?,L+(B)
+ ("|" ?,L6(B)
+ ("Z" ?,L%(B)
+ ("X" ?,L/(B)
+ ("C" ?,LF(B)
+ ("V" ?,L2(B)
+ ("B" ?,L1(B)
+ ("N" ?,L=(B)
+ ("M" ?,L<(B)
+ ("<" ?\;)
+ (">" ?:)
+ ("?" ?_))
+
+ ;;
+
+ ;; Alexander Mikhailian comments:
+ ;; Having worked for several years as a Belarusian linguist, I still
+ ;; can not find the origin of this layout which BTW does include
+ ;; several characters that are not present in Belarusian and does not
+ ;; include a few ones that do exist in Belarusian. Besides, the typo
+ ;; in the name of this layout speaks for itself since Belarusian has
+ ;; an outdated version of spelling which is "Byelorussian" and not
+ ;; "beylorussian". I suggest that you just remove this layout.
+
+ ;; [`derived from JUS.I.K1' according to an old Mule note -- fx]
+
+ ;; (quail-define-package
+ ;; "cyrillic-beylorussian" "Belarussian" ",L6(BB" nil
+ ;; ",L)address@hidden(B-,L&.(B BEYLORUSSIAN (ISO 8859-5 encoding)"
+ ;; nil t t t t nil nil nil nil nil t)
+
+ ;; ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
+ ;; ;; ,L)(B ,L*(B ,L5(B ,address@hidden(B ,LB(B ,L7(B
,LC(B ,L8(B ,L>(B ,L?(B ,LH(B ,L&(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
+ ;; ;; ,L%(B ,L/(B ,LF(B ,L2(B ,L1(B ,L=(B ,L<(B ,;
.: -_
+
+ ;; (quail-define-rules
+ ;; ("-" ?/)
+ ;; ("=" ?+)
+ ;; ("`" ?<)
+ ;; ("q" ?,Ly(B)
+ ;; ("w" ?,Lz(B)
+ ;; ("e" ?,LU(B)
+ ;; ("r" ?,L`(B)
+ ;; ("t" ?,Lb(B)
+ ;; ("y" ?,LW(B)
+ ;; ("u" ?,Lc(B)
+ ;; ("i" ?,LX(B)
+ ;; ("o" ?,L^(B)
+ ;; ("p" ?,L_(B)
+ ;; ("[" ?,Lh(B)
+ ;; ("]" ?,Lv(B)
+ ;; ("a" ?,LP(B)
+ ;; ("s" ?,La(B)
+ ;; ("d" ?,LT(B)
+ ;; ("f" ?,Ld(B)
+ ;; ("g" ?,LS(B)
+ ;; ("h" ?,Le(B)
+ ;; ("j" ?,Lx(B)
+ ;; ("k" ?,LZ(B)
+ ;; ("l" ?,L[(B)
+ ;; (";" ?,Lg(B)
+ ;; ("'" ?,L~(B)
+ ;; ("\\" ?,LV(B)
+ ;; ("z" ?,Lu(B)
+ ;; ("x" ?,L(B)
+ ;; ("c" ?,Lf(B)
+ ;; ("v" ?,LR(B)
+ ;; ("b" ?,LQ(B)
+ ;; ("n" ?,L](B)
+ ;; ("m" ?,L\(B)
+ ;; ("/" ?-)
+
+ ;; ("@" ?\")
+ ;; ("^" ?&)
+ ;; ("&" ?')
+ ;; ("*" ?\()
+ ;; ("(" ?\))
+ ;; (")" ?=)
+ ;; ("_" ??)
+ ;; ("+" ?*)
+ ;; ("~" ?>)
+ ;; ("Q" ?,L)(B)
+ ;; ("W" ?,L*(B)
+ ;; ("E" ?,L5(B)
+ ;; ("R" ?,address@hidden(B)
+ ;; ("T" ?,LB(B)
+ ;; ("Y" ?,L7(B)
+ ;; ("U" ?,LC(B)
+ ;; ("I" ?,L8(B)
+ ;; ("O" ?,L>(B)
+ ;; ("P" ?,L?(B)
+ ;; ("{" ?,LH(B)
+ ;; ("}" ?,L&(B)
+ ;; ("A" ?,L0(B)
+ ;; ("S" ?,LA(B)
+ ;; ("D" ?,L4(B)
+ ;; ("F" ?,LD(B)
+ ;; ("G" ?,L3(B)
+ ;; ("H" ?,LE(B)
+ ;; ("J" ?,L((B)
+ ;; ("K" ?,L:(B)
+ ;; ("L" ?,L;(B)
+ ;; (":" ?,LG(B)
+ ;; ("\"" ?,L.(B)
+ ;; ("|" ?,L6(B)
+ ;; ("Z" ?,L%(B)
+ ;; ("X" ?,L/(B)
+ ;; ("C" ?,LF(B)
+ ;; ("V" ?,L2(B)
+ ;; ("B" ?,L1(B)
+ ;; ("N" ?,L=(B)
+ ;; ("M" ?,L<(B)
+ ;; ("<" ?\;)
+ ;; (">" ?:)
+ ;; ("?" ?_))
+
+ ;;
+
+ ;; Alexander Mikhailian reports the opinion of fellow Ukrainian
+ ;; linguist Bogdan Babych <address@hidden>:
+ ;; He had seen this layout on some oldish systems but that the vast
+ ;; majority of the population uses a modified version of the M$ Windows
+ ;; layout. In fact, Microsoft shipped for a while a layout that was lacking
+ ;; two characters, precisely the "GHE_WITH_UPTURN" and the apostrophe. The
+ ;; latest versions of Windows software do have the "GHE_WITH_UPTURN" in the
+ ;; ukrainian keyborad layout but the apostrophe is still not there, whereas
+ ;; there is one letter, "Cyrillic_YO", not used in ukrainian. Ukrainians
+ ;; normally replace the "Cyrillic_YO" by the apostrophe sign and live
+ ;; happily with this little change. [See "ukrainian-computer" below.]
+
+ ;; Fixme: add GHE_WITH_UPTURN.
+ (quail-define-package
+ "cyrillic-ukrainian" "Ukrainian" ",L6(BU" nil
+ ",L$'address@hidden(B-,L&.(B UKRAINIAN
+
+ Sorry, but 'ghe with upturn' is not included in ISO 8859-5."
+ nil t t t t nil nil nil nil nil t)
+
+ ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
+ ;; ,L$(B ,L'(B ,L5(B ,address@hidden(B ,LB(B ,L7(B ,LC(B
,L8(B ,L>(B ,L?(B ,LH(B ,L&(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
+ ;; ,L%(B ,L/(B ,LF(B ,L2(B ,L1(B ,L=(B ,L<(B ,; .: -_
+
+ (quail-define-rules
+ ("1" ?1)
+ ("2" ?2)
+ ("3" ?3)
+ ("4" ?4)
+ ("5" ?5)
+ ("6" ?6)
+ ("7" ?7)
+ ("8" ?8)
+ ("9" ?9)
+ ("0" ?0)
+ ("-" ?/)
+ ("=" ?+)
+ ("`" ?<)
+ ("q" ?,Lt(B)
+ ("w" ?,Lw(B)
+ ("e" ?,LU(B)
+ ("r" ?,L`(B)
+ ("t" ?,Lb(B)
+ ("y" ?,LW(B)
+ ("u" ?,Lc(B)
+ ("i" ?,LX(B)
+ ("o" ?,L^(B)
+ ("p" ?,L_(B)
+ ("[" ?,Lh(B)
+ ("]" ?,Lv(B)
+ ("a" ?,LP(B)
+ ("s" ?,La(B)
+ ("d" ?,LT(B)
+ ("f" ?,Ld(B)
+ ("g" ?,LS(B)
+ ("h" ?,Le(B)
+ ("j" ?,Lx(B)
+ ("k" ?,LZ(B)
+ ("l" ?,L[(B)
+ (";" ?,Lg(B)
+ ("'" ?,L~(B)
+ ("\\" ?,LV(B)
+ ("z" ?,Lu(B)
+ ("x" ?,L(B)
+ ("c" ?,Lf(B)
+ ("v" ?,LR(B)
+ ("b" ?,LQ(B)
+ ("n" ?,L](B)
+ ("m" ?,L\(B)
+ ("," ?,)
+ ("." ?.)
+ ("/" ?-)
+
+ ("!" ?!)
+ ("@" ?\")
+ ("#" ?#)
+ ("$" ?$)
+ ("%" ?%)
+ ("^" ?&)
+ ("&" ?')
+ ("*" ?\()
+ ("(" ?\))
+ (")" ?=)
+ ("_" ??)
+ ("+" ?*)
+ ("~" ?>)
+ ("Q" ?,L$(B)
+ ("W" ?,L'(B)
+ ("E" ?,L5(B)
+ ("R" ?,address@hidden(B)
+ ("T" ?,LB(B)
+ ("Y" ?,L7(B)
+ ("U" ?,LC(B)
+ ("I" ?,L8(B)
+ ("O" ?,L>(B)
+ ("P" ?,L?(B)
+ ("{" ?,LH(B)
+ ("}" ?,L&(B)
+ ("A" ?,L0(B)
+ ("S" ?,LA(B)
+ ("D" ?,L4(B)
+ ("F" ?,LD(B)
+ ("G" ?,L3(B)
+ ("H" ?,LE(B)
+ ("J" ?,L((B)
+ ("K" ?,L:(B)
+ ("L" ?,L;(B)
+ (":" ?,LG(B)
+ ("\"" ?,L.(B)
+ ("|" ?,L6(B)
+ ("Z" ?,L%(B)
+ ("X" ?,L/(B)
+ ("C" ?,LF(B)
+ ("V" ?,L2(B)
+ ("B" ?,L1(B)
+ ("N" ?,L=(B)
+ ("M" ?,L<(B)
+ ("<" ?\;)
+ (">" ?:)
+ ("?" ?_))
+
+
+ (quail-define-package
+ "ukrainian-computer" "Ukrainian" "UK" nil
+ "$,1(9(F(C(:(5(=(B Ukrainian (Unicode-based for use with KOI8-U encoding)."
+ nil t t t t nil nil nil nil nil t)
+
+ ;; ' 1! 2" 3$,1uV(B 4; 5% 6: 7? 8* 9( 0) -_ =+
+ ;; $,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
+ ;; $,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
+ ;; $,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 .,
+
+ (quail-define-rules
+ ("1" ?1)
+ ("2" ?2)
+ ("3" ?3)
+ ("4" ?4)
+ ("5" ?5)
+ ("6" ?6)
+ ("7" ?7)
+ ("8" ?8)
+ ("9" ?9)
+ ("0" ?0)
+ ("-" ?-)
+ ("=" ?=)
+ ("`" ?')
+ ("q" ?$,1(Y(B)
+ ("w" ?$,1(f(B)
+ ("e" ?$,1(c(B)
+ ("r" ?$,1(Z(B)
+ ("t" ?$,1(U(B)
+ ("y" ?$,1(](B)
+ ("u" ?$,1(S(B)
+ ("i" ?$,1(h(B)
+ ("o" ?$,1(i(B)
+ ("p" ?$,1(W(B)
+ ("[" ?$,1(e(B)
+ ("]" ?$,1(w(B)
+ ("a" ?$,1(d(B)
+ ("s" ?$,1(v(B)
+ ("d" ?$,1(R(B)
+ ("f" ?$,1(P(B)
+ ("g" ?$,1(_(B)
+ ("h" ?$,1(`(B)
+ ("j" ?$,1(^(B)
+ ("k" ?$,1([(B)
+ ("l" ?$,1(T(B)
+ (";" ?$,1(V(B)
+ ("'" ?$,1(t(B)
+ ("z" ?$,1(o(B)
+ ("x" ?$,1(g(B)
+ ("c" ?$,1(a(B)
+ ("v" ?$,1(\(B)
+ ("b" ?$,1(X(B)
+ ("n" ?$,1(b(B)
+ ("m" ?$,1(l(B)
+ ("," ?$,1(Q(B)
+ ("." ?$,1(n(B)
+ ("/" ?.)
+ ("!" ?!)
+ ("@" ?\")
+ ("#" ?$,1uV(B)
+ ("$" ?\;)
+ ("%" ?%)
+ ("^" ?:)
+ ("&" ??)
+ ("*" ?*)
+ ("(" ?()
+ (")" ?))
+ ("_" ?_)
+ ("+" ?+)
+ ("~" ?')
+ ("Q" ?$,1(9(B)
+ ("W" ?$,1(F(B)
+ ("E" ?$,1(C(B)
+ ("R" ?$,1(:(B)
+ ("T" ?$,1(5(B)
+ ("Y" ?$,1(=(B)
+ ("U" ?$,1(3(B)
+ ("I" ?$,1(H(B)
+ ("O" ?$,1(I(B)
+ ("P" ?$,1(7(B)
+ ("{" ?$,1(E(B)
+ ("}" ?$,1('(B)
+ ("A" ?$,1(D(B)
+ ("S" ?$,1(&(B)
+ ("D" ?$,1(2(B)
+ ("F" ?$,1(0(B)
+ ("G" ?$,1(?(B)
+ ("H" ?$,1(@(B)
+ ("J" ?$,1(>(B)
+ ("K" ?$,1(;(B)
+ ("L" ?$,1(4(B)
+ (":" ?$,1(6(B)
+ ("\"" ?$,1($(B)
+ ("Z" ?$,1(O(B)
+ ("X" ?$,1(G(B)
+ ("C" ?$,1(A(B)
+ ("V" ?$,1(<(B)
+ ("B" ?$,1(8(B)
+ ("N" ?$,1(B(B)
+ ("M" ?$,1(L(B)
+ ("<" ?$,1(1(B)
+ (">" ?$,1(N(B)
+ ("?" ?,)
+ ("\\" ?$,1)Q(B)
+ ("|" ?$,1)P(B))
+ ;;
+
+ ;; Alexander Mikhailian says this is of limited use. It has been
+ ;; popular among emigrants or foreigners who have to type in Cyrillic
+ ;; (mostly Russian) from time to time.
+ (quail-define-package
+ "cyrillic-yawerty" "Cyrillic" ",L6O(B" nil
+ ",address@hidden(B Roman transcription
+
+ This layout is based on Roman transcription by phonemic resemblance.
+ When preceded by a '/', the second and the third rows (number key row) change
+ as follows.
+
+ keytop | Q W E R T Y U I O P A S D
+ --------+---------------------------------------
+ input | ,L"(B ,L#(B ,L$(B ,L%(B ,L&(B ,L'(B ,L((B
,L)(B ,L*(B ,L+(B ,L,(B ,L.(B ,L/(B"
+ nil t t t t nil nil nil nil nil t)
+
+ ;; 1! 2,Lq(B 3,Lj(B 4,L!(B 5% 6^ 7& 8* 9( 0) -_ ,LG(B ,LN(B
+ ;; ,LO(B ,L2(B ,L5(B ,address@hidden(B ,LB(B ,LK(B ,LC(B
,L8(B ,L>(B ,L?(B ,LH(B ,LI(B
+ ;; ,L0(B ,LA(B ,L4(B ,LD(B ,L3(B ,LE(B ,L9(B ,L:(B
,L;(B ;: '" ,LM(B
+ ;; ,L7(B ,LL(B ,LF(B ,L6(B ,L1(B ,L=(B ,L<(B ,< .> /?
+
+ ;; 1! 2,Lq(B 3,Lj(B 4,L!(B 5% 6^ 7& 8* 9( 0) -_ ,LG(B ,LN(B
+ ;; ,L"(B ,L#(B ,L$(B ,L%(B ,L&(B ,L'(B ,L((B ,L)(B
,L*(B ,L+(B ,LH(B ,LI(B
+ ;; ,L,(B ,L.(B ,L/(B ,LD(B ,L3(B ,LE(B ,L9(B ,L:(B
,L;(B ;: '" ,LM(B
+ ;; ,L7(B ,LL(B ,LF(B ,L6(B ,L1(B ,L=(B ,L<(B ,< .> /?
+
+ (quail-define-rules
+ ("1" ?1)
+ ("2" ?2)
+ ("3" ?3)
+ ("4" ?4)
+ ("5" ?5)
+ ("6" ?6)
+ ("7" ?7)
+ ("8" ?8)
+ ("9" ?9)
+ ("0" ?0)
+ ("-" ?-)
+ ("=" ?,Lg(B)
+ ("`" ?,Ln(B)
+ ("q" ?,Lo(B)
+ ("w" ?,LR(B)
+ ("e" ?,LU(B)
+ ("r" ?,L`(B)
+ ("t" ?,Lb(B)
+ ("y" ?,Lk(B)
+ ("u" ?,Lc(B)
+ ("i" ?,LX(B)
+ ("o" ?,L^(B)
+ ("p" ?,L_(B)
+ ("[" ?,Lh(B)
+ ("]" ?,Li(B)
+ ("a" ?,LP(B)
+ ("s" ?,La(B)
+ ("d" ?,LT(B)
+ ("f" ?,Ld(B)
+ ("g" ?,LS(B)
+ ("h" ?,Le(B)
+ ("j" ?,LY(B)
+ ("k" ?,LZ(B)
+ ("l" ?,L[(B)
+ (";" ?\;)
+ ("'" ?')
+ ("\\" ?,Lm(B)
+ ("z" ?,LW(B)
+ ("x" ?,Ll(B)
+ ("c" ?,Lf(B)
+ ("v" ?,LV(B)
+ ("b" ?,LQ(B)
+ ("n" ?,L](B)
+ ("m" ?,L\(B)
+ ("," ?,)
+ ("." ?.)
+ ("/" ?/)
+
+ ("!" ?!)
+ ("@" ?,Lq(B)
+ ("#" ?,Lj(B)
+ ("$" ?,L!(B)
+ ("%" ?%)
+ ("^" ?^)
+ ("&" ?&)
+ ("*" ?*)
+ ("(" ?\()
+ (")" ?\))
+ ("_" ?_)
+ ("+" ?,LG(B)
+ ("~" ?,LN(B)
+ ("Q" ?,LO(B)
+ ("W" ?,L2(B)
+ ("E" ?,L5(B)
+ ("R" ?,address@hidden(B)
+ ("T" ?,LB(B)
+ ("Y" ?,LK(B)
+ ("U" ?,LC(B)
+ ("I" ?,L8(B)
+ ("O" ?,L>(B)
+ ("P" ?,L?(B)
+ ("{" ?,LH(B)
+ ("}" ?,LI(B)
+ ("A" ?,L0(B)
+ ("S" ?,LA(B)
+ ("D" ?,L4(B)
+ ("F" ?,LD(B)
+ ("G" ?,L3(B)
+ ("H" ?,LE(B)
+ ("J" ?,L9(B)
+ ("K" ?,L:(B)
+ ("L" ?,L;(B)
+ (":" ?:)
+ ("\"" ?\")
+ ("|" ?,LM(B)
+ ("Z" ?,L7(B)
+ ("X" ?,LL(B)
+ ("C" ?,LF(B)
+ ("V" ?,L6(B)
+ ("B" ?,L1(B)
+ ("N" ?,L=(B)
+ ("M" ?,L<(B)
+ ("<" ?<)
+ (">" ?>)
+ ("?" ??)
+
+ ("/q" ?,Lr(B)
+ ("/w" ?,Ls(B)
+ ("/e" ?,Lt(B)
+ ("/r" ?,Lu(B)
+ ("/t" ?,Lv(B)
+ ("/y" ?,Lw(B)
+ ("/u" ?,Lx(B)
+ ("/i" ?,Ly(B)
+ ("/o" ?,Lz(B)
+ ("/p" ?,L{(B)
+ ("/a" ?,L|(B)
+ ("/s" ?,L~(B)
+ ("/d" ?,L(B)
+
+ ("/Q" ?,L"(B)
+ ("/W" ?,L#(B)
+ ("/E" ?,L$(B)
+ ("/R" ?,L%(B)
+ ("/T" ?,L&(B)
+ ("/Y" ?,L'(B)
+ ("/U" ?,L((B)
+ ("/I" ?,L)(B)
+ ("/O" ?,L*(B)
+ ("/P" ?,L+(B)
+ ("/A" ?,L,(B)
+ ("/S" ?,L.(B)
+ ("/D" ?,L/(B))
+
+ ;; This was provided by Valery Alexeev <address@hidden>.
+
+ ;; Ognyan Kulev <address@hidden> wrote:
+
+ ;; I would suggest future `cyrillic-translit' to be with the
+ ;; modification of `cyrillic-translit-bulgarian' applied and the
+ ;; latter to disappear. It could be used by people who write
+ ;; bulgarian e-mails with latin letters for kick start (phonetic input
+ ;; method is not so obvious as translit input method but each letter
+ ;; is one keypress and a *lot* of people know it).
+
+ ;; Anton Zinoviev <address@hidden> wrote:
+ ;; I would say that the main idea for cyrillic-translit is to be
+ ;; language-independent and universal. It should be able to generate all
+ ;; Cyrillic symbols.
+ (quail-define-package
+ "cyrillic-translit" "Cyrillic" ",L6(Bt" nil
+ "Intuitively transliterated keyboard layout.
+ Most convenient for entering Russian but all Cyrillic characters are included.
+ Should handle most cases. However:
+ for ,Lf(B (TSE) use \"c\", never \"ts\"
+ ,Li(B (SHCHA = Bulgarian SHT) = \"shch\", \"sj\", \"/sht\" or \"/t\",
+ ,Lm(B (REVERSE ROUNDED E) = \"e'\" or \"e`\"
+ ,Le(B (KHA) when after ,La(B (S) = \"x\" or \"kh\"
+ ,Lj(B (HARD SIGN) = \"~\", ,LJ(B (CAPITAL HARD SIGN) = \"~~\",
+ ,Ll(B (SOFT SIGN) = \"'\", ,LL(B (CAPITAL SOFT SIGN) = \"''\",
+ ,Lo(B (YA) = \"ya\", \"ja\" or \"q\".
+
+ 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
+ u f h=kh=x c ch sh shch=sj=/s=/sht ~ y ' e' yu=ju ya=ja=q
+
+ Also included are Ukrainian ,Lt(B (YE) = \"/e\" and ,Lw(B (YI) = \"yi\",
+ Belarusian ,L~(B (SHORT U) = \"u'\",
+ Serbo-Croatian ,Lr(B (DJE) = \"/d\", ,L{(B (CHJE)= \"/ch\",
+ Macedonian ,Ls(B (GJE) = \"/g\", ,Lu(B (DZE) = \"/s\", ,L|(B (KJE) =
\"/k\",
+ cyrillic ,Lv(B (I DECIMAL) = \"/i\", ,Lx(B (JE) = \"/j\",
+ ,Ly(B (LJE) = \"/l\", ,Lz(B (NJE) = \"/n\" and ,L(B (DZE) =\"/z\"."
+ nil t t t t nil nil nil nil nil t)
+
+ (quail-define-rules
+ ("a" ?,LP(B)("b" ?,LQ(B) ("v" ?,LR(B) ("w" ?,LR(B) ("g" ?,LS(B)
("d" ?,LT(B)
+ ("e" ?,LU(B) ("je" ?,LU(B)
+ ("yo" ?,Lq(B) ("jo" ?,Lq(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)
+ ("~" ?,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"
?,address@hidden(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)
+ ("~~" ",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)
+ )
+
+ ;; Originally from Yudit's `Belarusian input table according to
+ ;; STB955-94 belarusian standard' (not all) by Alexander Mikhailian
+ ;; <address@hidden>, subsequently amended by AM.
+ (quail-define-package
+ "belarusian" "Belarusian" "BE" nil
+ "$,1(9(F(C(:(5(=(B keyboard layout registered as STB955-94 Belarusian
standard.
+ Unicode based."
+ nil t t t t nil nil nil nil nil t)
+
+ ;; $,1(q(!(B 1! 2" 3N 4; 5% 6: 7? 8* 9( 0) -_ =+
+ ;; $,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 '
+ ;; $,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
+ ;; $,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 .,
+
+ (quail-define-rules
+ ("~" ?$,1(!(B)
+ ("@" ?\")
+ ("#" ?$,1uV(B)
+ ("$" ?\;)
+ ("%" ?%)
+ ("^" ?:)
+ ("&" ??)
+ ("Q" ?$,1(9(B)
+ ("W" ?$,1(F(B)
+ ("E" ?$,1(C(B)
+ ("R" ?$,1(:(B)
+ ("T" ?$,1(5(B)
+ ("Y" ?$,1(=(B)
+ ("U" ?$,1(3(B)
+ ("I" ?$,1(H(B)
+ ("O" ?$,1(.(B)
+ ("P" ?$,1(7(B)
+ ("{" ?$,1(E(B)
+ ("}" ?')
+ ("A" ?$,1(D(B)
+ ("S" ?$,1(K(B)
+ ("D" ?$,1(2(B)
+ ("F" ?$,1(0(B)
+ ("G" ?$,1(?(B)
+ ("H" ?$,1(@(B)
+ ("J" ?$,1(>(B)
+ ("K" ?$,1(;(B)
+ ("L" ?$,1(4(B)
+ (":" ?$,1(6(B)
+ ("\"" ?$,1(M(B)
+ ("|" ?|)
+ ("Z" ?$,1(O(B)
+ ("X" ?$,1(G(B)
+ ("C" ?$,1(A(B)
+ ("V" ?$,1(<(B)
+ ("B" ?$,1(&(B)
+ ("N" ?$,1(B(B)
+ ("M" ?$,1(L(B)
+ ("<" ?$,1(1(B)
+ (">" ?$,1(N(B)
+ ("?" ?,)
+
+ ("`" ?$,1(q(B)
+ ("q" ?$,1(Y(B)
+ ("w" ?$,1(f(B)
+ ("e" ?$,1(c(B)
+ ("r" ?$,1(Z(B)
+ ("t" ?$,1(U(B)
+ ("y" ?$,1(](B)
+ ("u" ?$,1(S(B)
+ ("i" ?$,1(h(B)
+ ("o" ?$,1(~(B)
+ ("p" ?$,1(W(B)
+ ("[" ?$,1(e(B)
+ ("]" ?')
+ ("a" ?$,1(d(B)
+ ("s" ?$,1(k(B)
+ ("d" ?$,1(R(B)
+ ("f" ?$,1(P(B)
+ ("g" ?$,1(_(B)
+ ("h" ?$,1(`(B)
+ ("j" ?$,1(^(B)
+ ("k" ?$,1([(B)
+ ("l" ?$,1(T(B)
+ (";" ?$,1(V(B)
+ ("'" ?$,1(m(B)
+ ("z" ?$,1(o(B)
+ ("x" ?$,1(g(B)
+ ("c" ?$,1(a(B)
+ ("v" ?$,1(\(B)
+ ("b" ?$,1(v(B)
+ ("n" ?$,1(b(B)
+ ("m" ?$,1(l(B)
+ ("," ?$,1(Q(B)
+ ("." ?$,1(n(B)
+ ("/" ?.))
+
+ ;; From `Bulgarian-PHO.kmap for Yudit', Alexander Shopov
+ ;; <address@hidden>.
+
+ ;; Extra commentary and the indicator from an independent
+ ;; (cyrillic-iso8859-5) implementation by Ognyan Kulev
+ ;; <address@hidden> and name changes from Anton Zinoviev
+ ;; <address@hidden>.
+ (quail-define-package
+ "bulgarian-phonetic" "Bulgarian" "$,1(6(1(D(B"
+ nil
+ "Bulgarian Phonetic keyboard layout, producing Unicode.
+
+ The layout is similar to `cyrillic-translit', but all Bulgarian
+ characters are typed with a single key.
+
+ Use /& for ,A'(B (Cyrillic paragraph) and /# for $,1uV(B."
+ nil t t t t nil nil nil nil nil t)
+
+ ;; $,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(0(B $,1(A(B $,1(4(B $,1(D(B $,1(3(B $,1(E(B
$,1(9(B $,1(:(B $,1(;(B $,1(G(B
+ ;; $,1(N(B $,1(7(B $,1(L(B $,1(F(B $,1(6(B $,1(1(B
$,1(=(B $,1(<(B
+
+ (quail-define-rules
+ ("/&" ?,A'(B)
+ ("/#" ?$,1uV(B)
+ ("A" ?$,1(0(B)
+ ("B" ?$,1(1(B)
+ ("W" ?$,1(2(B)
+ ("G" ?$,1(3(B)
+ ("D" ?$,1(4(B)
+ ("E" ?$,1(5(B)
+ ("V" ?$,1(6(B)
+ ("Z" ?$,1(7(B)
+ ("I" ?$,1(8(B)
+ ("J" ?$,1(9(B)
+ ("K" ?$,1(:(B)
+ ("L" ?$,1(;(B)
+ ("M" ?$,1(<(B)
+ ("N" ?$,1(=(B)
+ ("O" ?$,1(>(B)
+ ("P" ?$,1(?(B)
+ ("R" ?$,1(@(B)
+ ("S" ?$,1(A(B)
+ ("T" ?$,1(B(B)
+ ("U" ?$,1(C(B)
+ ("F" ?$,1(D(B)
+ ("H" ?$,1(E(B)
+ ("C" ?$,1(F(B)
+ ("~" ?$,1(G(B)
+ ("{" ?$,1(H(B)
+ ("}" ?$,1(I(B)
+ ("Y" ?$,1(J(B)
+ ("X" ?$,1(L(B)
+ ("|" ?$,1(N(B)
+ ("Q" ?$,1(O(B)
+ ("a" ?$,1(P(B)
+ ("b" ?$,1(Q(B)
+ ("w" ?$,1(R(B)
+ ("g" ?$,1(S(B)
+ ("d" ?$,1(T(B)
+ ("e" ?$,1(U(B)
+ ("v" ?$,1(V(B)
+ ("z" ?$,1(W(B)
+ ("i" ?$,1(X(B)
+ ("j" ?$,1(Y(B)
+ ("k" ?$,1(Z(B)
+ ("l" ?$,1([(B)
+ ("m" ?$,1(\(B)
+ ("n" ?$,1(](B)
+ ("o" ?$,1(^(B)
+ ("p" ?$,1(_(B)
+ ("r" ?$,1(`(B)
+ ("s" ?$,1(a(B)
+ ("t" ?$,1(b(B)
+ ("u" ?$,1(c(B)
+ ("f" ?$,1(d(B)
+ ("h" ?$,1(e(B)
+ ("c" ?$,1(f(B)
+ ("`" ?$,1(g(B)
+ ("[" ?$,1(h(B)
+ ("]" ?$,1(i(B)
+ ("y" ?$,1(j(B)
+ ("x" ?$,1(l(B)
+ ("\\" ?$,1(n(B)
+ ("|" ?$,1(N(B)
+ ("q" ?$,1(o(B))
+
+ ;; Based on an implementation by Ognyan Kulev <address@hidden>.
+ ;; This follows XKB bg.
+
+ (quail-define-package
+ "bulgarian-bds" "Bulgarian" "$,1(1(4(A(B" nil
+ "Bulgarian standard keyboard layout (BDS)
+
+ This keyboard layout is standard for Bulgarian typewriters."
+ nil t t t t nil nil nil nil nil t)
+
+ ;; 1! 2? 3+ 4" 5% 6= 7: 8/ 9_ 0$,1uV(B -I .V
+ ;; ,$,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
+ ;; $,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 ()
+ ;; $,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
+
+ (quail-define-rules
+
+ ("1" ?1) ("!" ?!)
+ ("2" ?2)
+ ("@" ??)
+ ("3" ?3)
+ ("#" ?+)
+ ("4" ?4)
+ ("$" ?\")
+ ("5" ?5) ("%" ?%)
+ ("6" ?6)
+ ("^" ?=)
+ ("7" ?7)
+ ("&" ?:)
+ ("8" ?8)
+ ("*" ?/)
+ ("9" ?9)
+ ("(" ?_)
+ ("0" ?0)
+ (")" ?$,1uV(B)
+ ("-" ?-)
+ ("_" ?I)
+ ("=" ?.) ("+" ?V)
+
+ ("q" ?,) ("Q" ?$,1(k(B)
+ ("w" ?$,1(c(B) ("W" ?$,1(C(B)
+ ("e" ?$,1(U(B) ("E" ?$,1(5(B)
+ ("r" ?$,1(X(B) ("R" ?$,1(8(B)
+ ("t" ?$,1(h(B) ("T" ?$,1(H(B)
+ ("y" ?$,1(i(B) ("Y" ?$,1(I(B)
+ ("u" ?$,1(Z(B) ("U" ?$,1(:(B)
+ ("i" ?$,1(a(B) ("I" ?$,1(A(B)
+ ("o" ?$,1(T(B) ("O" ?$,1(4(B)
+ ("p" ?$,1(W(B) ("P" ?$,1(7(B)
+ ("[" ?$,1(f(B) ("{" ?$,1(F(B)
+ ("]" ?\;)
+ ("}" ?,A'(B) ;; not in XKB's bg
+
+ ("a" ?$,1(l(B) ("A" ?$,1(L(B)
+ ("s" ?$,1(o(B) ("S" ?$,1(O(B)
+ ("d" ?$,1(P(B) ("D" ?$,1(0(B)
+ ("f" ?$,1(^(B) ("F" ?$,1(>(B)
+ ("g" ?$,1(V(B) ("G" ?$,1(6(B)
+ ("h" ?$,1(S(B) ("H" ?$,1(3(B)
+ ("j" ?$,1(b(B) ("J" ?$,1(B(B)
+ ("k" ?$,1(](B) ("K" ?$,1(=(B)
+ ("l" ?$,1(R(B) ("L" ?$,1(2(B)
+ (";" ?$,1(\(B) (":" ?$,1(<(B)
+ ("'" ?$,1(g(B) ("\"" ?$,1(G(B)
+ ("`" ?\() ("~" ?\))
+
+ ("z" ?$,1(n(B) ("Z" ?$,1(N(B)
+ ("x" ?$,1(Y(B) ("X" ?$,1(9(B)
+ ("c" ?$,1(j(B) ("C" ?$,1(J(B)
+ ("v" ?$,1(m(B) ("V" ?$,1(M(B)
+ ("b" ?$,1(d(B) ("B" ?$,1(D(B)
+ ("n" ?$,1(e(B) ("N" ?$,1(E(B)
+ ("m" ?$,1(_(B) ("M" ?$,1(?(B)
+ ("," ?$,1(`(B) ("<" ?$,1(@(B)
+ ("." ?$,1([(B) (">" ?$,1(;(B)
+ ("/" ?$,1(Q(B) ("?" ?$,1(1(B)
+ ("\\" ?') ("|" ?$,1(K(B))
+
+ ;; Local Variables:
+ ;; coding: iso-2022-7bit
+ ;; End:
+
+ ;;; cyrillic.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/leim/quail/cyrillic.el [emacs-unicode-2],
Kenichi Handa <=