mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-26 07:33:47 +00:00
1330 lines
32 KiB
EmacsLisp
1330 lines
32 KiB
EmacsLisp
;;; cyrillic.el --- Quail package for inputting Cyrillic characters
|
||
|
||
;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||
;; Free Software Foundation, Inc.
|
||
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
||
;; 2006, 2007
|
||
;; National Institute of Advanced Industrial Science and Technology (AIST)
|
||
;; Registration Number H14PRO021
|
||
|
||
;; Author: TAKAHASHI Naoto <ntakahas@m17n.org>
|
||
;; 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 3, 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., 51 Franklin Street, Fifth Floor,
|
||
;; Boston, MA 02110-1301, 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
|
||
;; <mikhailian@altern.org> 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 ,L@(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" ?,L@(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 ,L@(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" ?,L@(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)*5@B7(B-,L#,(B keyboard layout based on JUS.I.K1.004 (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 ,L@(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" ?,L@(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)*5@B7(B-,L"+(B keyboard layout based on JUS.I.K1.005 (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 ,L@(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" ?,L@(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)*5@B7(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 ,L@(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" ?,L@(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 <babych@altern.org>:
|
||
;; 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$'5@B7(B-,L&.(B UKRAINIAN (ISO 8859-5 encoding)
|
||
|
||
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 ,L@(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" ?,L@(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
|
||
",LO25@BK(B Roman transcription (ISO 8859-5 encoding)
|
||
|
||
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 ,L@(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" ?,L@(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 <valery@domovoy.math.uga.edu>.
|
||
|
||
;; Ognyan Kulev <ogi@fmi.uni-sofia.bg> 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 <anton@lml.bas.bg> 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" t
|
||
"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" ?,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)
|
||
("~~" ",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
|
||
;; <mikhailian@altern.org>, 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
|
||
;; <al_shopov@web.bg>.
|
||
|
||
;; Extra commentary and the indicator from an independent
|
||
;; (cyrillic-iso8859-5) implementation by Ognyan Kulev
|
||
;; <ogi@fmi.uni-sofia.bg> and name changes from Anton Zinoviev
|
||
;; <anton@lml.bas.bg>.
|
||
(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.
|
||
|
||
The letters $,1(G(B, $,1(H(B, $,1(I(B and $,1(N(B are not affected by Caps Lock."
|
||
nil t t t t nil nil nil nil nil t)
|
||
|
||
;; $,1(G(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
|
||
;; $,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(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)
|
||
("q" ?$,1(o(B))
|
||
|
||
;; Based on an implementation by Ognyan Kulev <ogi@fmi.uni-sofia.bg>.
|
||
;; 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.
|
||
|
||
The letters $,1(F(B, $,1(<(B, $,1(G(B, $,1(@(B, $,1(;(B, $,1(1(B and $,1(K(B are not affected by Caps Lock.
|
||
|
||
In addition to original Bulgarian typewriter layout, keys \\ and |
|
||
are transformed into ' and $,1(K(B respectively. Some keyboards mark these
|
||
keys as being transformed into ( and ) respectively. For ( and ), use
|
||
` and ~ respectively. This input method follows XKB."
|
||
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(K(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)
|
||
|
||
("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:
|
||
|
||
;;; arch-tag: e6d34b16-8710-4181-a17e-819a1df0334f
|
||
;;; cyrillic.el ends here
|