Advertisement
Guest User

cyrillic.el

a guest
Oct 27th, 2013
338
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 37.11 KB | None | 0 0
  1. ;;; cyrillic.el --- Quail package for inputting Cyrillic characters
  2.  
  3. ;; Copyright (C) 1997-1998, 2001-2013 Free Software Foundation, Inc.
  4. ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
  5. ;;   2006, 2007, 2008, 2009, 2010, 2011
  6. ;;   National Institute of Advanced Industrial Science and Technology (AIST)
  7. ;;   Registration Number H14PRO021
  8.  
  9. ;; Author: TAKAHASHI Naoto <[email protected]>
  10. ;; Keywords: multilingual, input method, Cyrillic, i18n
  11.  
  12. ;; This file is part of GNU Emacs.
  13.  
  14. ;; GNU Emacs is free software: you can redistribute it and/or modify
  15. ;; it under the terms of the GNU General Public License as published by
  16. ;; the Free Software Foundation, either version 3 of the License, or
  17. ;; (at your option) any later version.
  18.  
  19. ;; GNU Emacs is distributed in the hope that it will be useful,
  20. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  21. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  22. ;; GNU General Public License for more details.
  23.  
  24. ;; You should have received a copy of the GNU General Public License
  25. ;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
  26.  
  27. ;;; Commentary:
  28.  
  29. ;; These methods use a mixture of 8859-5 and Unicode.  Quail, used
  30. ;; with ucs-tables provides support 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:
  36.  
  37. (require 'quail)
  38.  
  39. ;; This was `cyrillic-jcuken'.  Alexander Mikhailian
  40. ;; <[email protected]> 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 superseded 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 conveniently 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
  50.  "russian-typewriter" "Russian" ",L69(B" nil
  51.  ",L9FC:5=(B Russian typewriter layout (ISO 8859-5 encoding)."
  52.  nil t t t t nil nil nil nil nil t)
  53.  
  54. ;;  ,Lp(B1 -2 /3 "4 :5 ,6 .7 _8 ?9 %0 != ;\ |+
  55. ;;   ,L9(B  ,LF(B  ,LC(B  ,L:(B  ,L5(B  ,L=(B  ,L3(B  ,LH(B  ,LI(B  ,L7(B  ,LE(B  ,LJ(B )(
  56. ;;    ,LD(B  ,LK(B  ,L2(B  ,L0(B  ,L?(B  ,L@(B  ,L>(B  ,L;(B  ,L4(B  ,L6(B  ,LM(B
  57. ;;     ,LO(B  ,LG(B  ,LA(B  ,L<(B  ,L8(B  ,LB(B  ,LL(B  ,L1(B  ,LN(B  ,L!(B
  58.  
  59. (quail-define-rules
  60.  ("1" ?,Lp(B)
  61.  ("2" ?-)
  62.  ("3" ?/)
  63.  ("4" ?\")
  64. ("5" ?:)
  65. ("6" ?,)
  66. ("7" ?.)
  67. ("8" ?_)
  68. ("9" ??)
  69. ("0" ?%)
  70. ("-" ?!)
  71. ("=" ?\;)
  72. ("`" ?|)
  73. ("q" ?,LY(B)
  74. ("w" ?,Lf(B)
  75. ("e" ?,Lc(B)
  76. ("r" ?,LZ(B)
  77. ("t" ?,LU(B)
  78. ("y" ?,L](B)
  79. ("u" ?,LS(B)
  80. ("i" ?,Lh(B)
  81. ("o" ?,Li(B)
  82. ("p" ?,LW(B)
  83. ("[" ?,Le(B)
  84. ("]" ?,Lj(B)
  85. ("a" ?,Ld(B)
  86. ("s" ?,Lk(B)
  87. ("d" ?,LR(B)
  88. ("f" ?,LP(B)
  89. ("g" ?,L_(B)
  90. ("h" ?,L`(B)
  91. ("j" ?,L^(B)
  92. ("k" ?,L[(B)
  93. ("l" ?,LT(B)
  94. (";" ?,LV(B)
  95.  ("'" ?,Lm(B)
  96.  ("\\" ?\))
  97.  ("z" ?,Lo(B)
  98.  ("x" ?,Lg(B)
  99.  ("c" ?,La(B)
  100.  ("v" ?,L\(B)
  101.  ("b" ?,LX(B)
  102.  ("n" ?,Lb(B)
  103.  ("m" ?,Ll(B)
  104.  ("," ?,LQ(B)
  105.  ("." ?,Ln(B)
  106.  ("/" ?,Lq(B)
  107.  
  108.  ("!" ?1)
  109.  ("@" ?2)
  110.  ("#" ?3)
  111.  ("$" ?4)
  112.  ("%" ?5)
  113.  ("^" ?6)
  114.  ("&" ?7)
  115.  ("*" ?8)
  116.  ("(" ?9)
  117.  (")" ?0)
  118.  ("_" ?=)
  119.  ("+" ?\\)
  120.  ("~" ?+)
  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.  ("?" ?,L!(B)
  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.  ("|" ?/)
  195.  ("`" ?,Lq(B)
  196.  ("q" ?,LY(B)
  197.  ("w" ?,Lf(B)
  198.  ("e" ?,Lc(B)
  199.  ("r" ?,LZ(B)
  200.  ("t" ?,LU(B)
  201.  ("y" ?,L](B)
  202.  ("u" ?,LS(B)
  203.  ("i" ?,Lh(B)
  204.  ("o" ?,Li(B)
  205.  ("p" ?,LW(B)
  206.  ("[" ?,Le(B)
  207.  ("]" ?,Lj(B)
  208.  ("a" ?,Ld(B)
  209.  ("s" ?,Lk(B)
  210.  ("d" ?,LR(B)
  211.  ("f" ?,LP(B)
  212.  ("g" ?,L_(B)
  213.  ("h" ?,L`(B)
  214.  ("j" ?,L^(B)
  215.  ("k" ?,L[(B)
  216.  ("l" ?,LT(B)
  217.  (";" ?,LV(B)
  218.  ("'" ?,Lm(B)
  219.  ("\\" ?\\)
  220.  ("z" ?,Lo(B)
  221.  ("x" ?,Lg(B)
  222.  ("c" ?,La(B)
  223.  ("v" ?,L\(B)
  224.  ("b" ?,LX(B)
  225.  ("n" ?,Lb(B)
  226.  ("m" ?,Ll(B)
  227.  ("," ?,LQ(B)
  228.  ("." ?,Ln(B)
  229.  ("/" ?.)
  230.  ("!" ?!)
  231.  ("@" ?\")
  232. ("#" ?,Lp(B)
  233. ("$" ?\;)
  234. ("%" ?%)
  235. ("^" ?:)
  236. ("&" ??)
  237. ("*" ?*)
  238. ("(" ?()
  239. (")" ?))
  240. ("_" ?_)
  241. ("+" ?+)
  242. ("~" ?,L!(B)
  243. ("Q" ?,L9(B)
  244. ("W" ?,LF(B)
  245. ("E" ?,LC(B)
  246. ("R" ?,L:(B)
  247. ("T" ?,L5(B)
  248. ("Y" ?,L=(B)
  249. ("U" ?,L3(B)
  250. ("I" ?,LH(B)
  251. ("O" ?,LI(B)
  252. ("P" ?,L7(B)
  253. ("{" ?,LE(B)
  254. ("}" ?,LJ(B)
  255. ("A" ?,LD(B)
  256. ("S" ?,LK(B)
  257. ("D" ?,L2(B)
  258. ("F" ?,L0(B)
  259. ("G" ?,L?(B)
  260. ("H" ?,L@(B)
  261. ("J" ?,L>(B)
  262. ("K" ?,L;(B)
  263. ("L" ?,L4(B)
  264. (":" ?,L6(B)
  265. ("\"" ?,LM(B)
  266.  ("|" ?|)
  267.  ("Z" ?,LO(B)
  268.  ("X" ?,LG(B)
  269.  ("C" ?,LA(B)
  270.  ("V" ?,L<(B)
  271.  ("B" ?,L8(B)
  272.  ("N" ?,LB(B)
  273.  ("M" ?,LL(B)
  274.  ("<" ?,L1(B)
  275.  (">" ?,LN(B)
  276.  ("?" ?,))
  277.  
  278. ;; Mikhailian couldn't check the next two.
  279.  
  280. ;; This seems to have the same layout for letters as mk in XKB, but at
  281. ;; least the top row is different.
  282. (quail-define-package
  283.  "cyrillic-macedonian" "Cyrillic" ",L6(BM" nil
  284.  ",L)*5@B7(B-,L#,(B keyboard layout based on JUS.I.K1.004"
  285.  nil t t t t nil nil nil nil nil t)
  286.  
  287. ;;  1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
  288. ;;   ,L)(B  ,L*(B  ,L5(B  ,L@(B  ,LB(B  ,L7(B  ,LC(B  ,L8(B  ,L>(B  ,L?(B  ,LH(B  ,L#(B
  289. ;;    ,L0(B  ,LA(B  ,L4(B  ,LD(B  ,L3(B  ,LE(B  ,L((B  ,L:(B  ,L;(B  ,LG(B  ,L,(B  ,L6(B
  290. ;;     ,L%(B  ,L/(B  ,LF(B  ,L2(B  ,L1(B  ,L=(B  ,L<(B  ,; .: -_
  291.  
  292. (quail-define-rules
  293.  ("1" ?1)
  294.  ("2" ?2)
  295.  ("3" ?3)
  296.  ("4" ?4)
  297.  ("5" ?5)
  298.  ("6" ?6)
  299.  ("7" ?7)
  300.  ("8" ?8)
  301.  ("9" ?9)
  302.  ("0" ?0)
  303.  ("-" ?/)
  304.  ("=" ?+)
  305.  ("`" ?<)
  306.  ("q" ?,Ly(B)
  307.  ("w" ?,Lz(B)
  308.  ("e" ?,LU(B)
  309.  ("r" ?,L`(B)
  310.  ("t" ?,Lb(B)
  311.  ("y" ?,LW(B)
  312.  ("u" ?,Lc(B)
  313.  ("i" ?,LX(B)
  314.  ("o" ?,L^(B)
  315.  ("p" ?,L_(B)
  316.  ("[" ?,Lh(B)
  317.  ("]" ?,Ls(B)
  318.  ("a" ?,LP(B)
  319.  ("s" ?,La(B)
  320.  ("d" ?,LT(B)
  321.  ("f" ?,Ld(B)
  322.  ("g" ?,LS(B)
  323.  ("h" ?,Le(B)
  324.  ("j" ?,Lx(B)
  325.  ("k" ?,LZ(B)
  326.  ("l" ?,L[(B)
  327.  (";" ?,Lg(B)
  328.  ("'" ?,L|(B)
  329.  ("\\" ?,LV(B)
  330.  ("z" ?,Lu(B)
  331.  ("x" ?,L(B)
  332.  ("c" ?,Lf(B)
  333.  ("v" ?,LR(B)
  334.  ("b" ?,LQ(B)
  335.  ("n" ?,L](B)
  336.  ("m" ?,L\(B)
  337.  ("," ?,)
  338.  ("." ?.)
  339.  ("/" ?-)
  340.  
  341.  ("!" ?!)
  342.  ("@" ?\")
  343. ("#" ?#)
  344. ("$" ?$)
  345. ("%" ?%)
  346. ("^" ?&)
  347. ("&" ?')
  348. ("*" ?\()
  349. ("(" ?\))
  350. (")" ?=)
  351. ("_" ??)
  352. ("+" ?*)
  353. ("~" ?>)
  354. ("Q" ?,L)(B)
  355. ("W" ?,L*(B)
  356. ("E" ?,L5(B)
  357. ("R" ?,L@(B)
  358. ("T" ?,LB(B)
  359. ("Y" ?,L7(B)
  360. ("U" ?,LC(B)
  361. ("I" ?,L8(B)
  362. ("O" ?,L>(B)
  363. ("P" ?,L?(B)
  364. ("{" ?,LH(B)
  365. ("}" ?,L#(B)
  366. ("A" ?,L0(B)
  367. ("S" ?,LA(B)
  368. ("D" ?,L4(B)
  369. ("F" ?,LD(B)
  370. ("G" ?,L3(B)
  371. ("H" ?,LE(B)
  372. ("J" ?,L((B)
  373. ("K" ?,L:(B)
  374. ("L" ?,L;(B)
  375. (":" ?,LG(B)
  376. ("\"" ?,L,(B)
  377.  ("|" ?,L6(B)
  378.  ("Z" ?,L%(B)
  379.  ("X" ?,L/(B)
  380.  ("C" ?,LF(B)
  381.  ("V" ?,L2(B)
  382.  ("B" ?,L1(B)
  383.  ("N" ?,L=(B)
  384.  ("M" ?,L<(B)
  385.  ("<" ?\;)
  386.  (">" ?:)
  387.  ("?" ?_))
  388.  
  389. ;;
  390.  
  391. (quail-define-package
  392.  "cyrillic-serbian" "Cyrillic" ",L6(BS" nil
  393.  ",L)*5@B7(B-,L"+(B keyboard layout based on JUS.I.K1.005"
  394. nil t t t t nil nil nil nil nil t)
  395.  
  396. ;;  1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
  397. ;;   ,L)(B  ,L*(B  ,L5(B  ,L@(B  ,LB(B  ,L7(B  ,LC(B  ,L8(B  ,L>(B  ,L?(B  ,LH(B  ,L"(B
  398. ;;    ,L0(B  ,LA(B  ,L4(B  ,LD(B  ,L3(B  ,LE(B  ,L((B  ,L:(B  ,L;(B  ,LG(B  ,L+(B  ,L6(B
  399. ;;     ,L%(B  ,L/(B  ,LF(B  ,L2(B  ,L1(B  ,L=(B  ,L<(B  ,; .: -_
  400.  
  401. (quail-define-rules
  402.  ("1" ?1)
  403.  ("2" ?2)
  404.  ("3" ?3)
  405.  ("4" ?4)
  406.  ("5" ?5)
  407.  ("6" ?6)
  408.  ("7" ?7)
  409.  ("8" ?8)
  410.  ("9" ?9)
  411.  ("0" ?0)
  412.  ("-" ?/)
  413.  ("=" ?+)
  414.  ("`" ?<)
  415.  ("q" ?,Ly(B)
  416.  ("w" ?,Lz(B)
  417.  ("e" ?,LU(B)
  418.  ("r" ?,L`(B)
  419.  ("t" ?,Lb(B)
  420.  ("y" ?,LW(B)
  421.  ("u" ?,Lc(B)
  422.  ("i" ?,LX(B)
  423.  ("o" ?,L^(B)
  424.  ("p" ?,L_(B)
  425.  ("[" ?,Lh(B)
  426.  ("]" ?,Lr(B)
  427.  ("a" ?,LP(B)
  428.  ("s" ?,La(B)
  429.  ("d" ?,LT(B)
  430.  ("f" ?,Ld(B)
  431.  ("g" ?,LS(B)
  432.  ("h" ?,Le(B)
  433.  ("j" ?,Lx(B)
  434.  ("k" ?,LZ(B)
  435.  ("l" ?,L[(B)
  436.  (";" ?,Lg(B)
  437.  ("'" ?,L{(B)
  438.  ("\\" ?,LV(B)
  439.  ("z" ?,Lu(B)
  440.  ("x" ?,L(B)
  441.  ("c" ?,Lf(B)
  442.  ("v" ?,LR(B)
  443.  ("b" ?,LQ(B)
  444.  ("n" ?,L](B)
  445.  ("m" ?,L\(B)
  446.  ("," ?,)
  447.  ("." ?.)
  448.  ("/" ?-)
  449.  
  450.  ("!" ?!)
  451.  ("@" ?\")
  452. ("#" ?#)
  453. ("$" ?$)
  454. ("%" ?%)
  455. ("^" ?&)
  456. ("&" ?')
  457. ("*" ?\()
  458. ("(" ?\))
  459. (")" ?=)
  460. ("_" ??)
  461. ("+" ?*)
  462. ("~" ?>)
  463. ("Q" ?,L)(B)
  464. ("W" ?,L*(B)
  465. ("E" ?,L5(B)
  466. ("R" ?,L@(B)
  467. ("T" ?,LB(B)
  468. ("Y" ?,L7(B)
  469. ("U" ?,LC(B)
  470. ("I" ?,L8(B)
  471. ("O" ?,L>(B)
  472. ("P" ?,L?(B)
  473. ("{" ?,LH(B)
  474. ("}" ?,L"(B)
  475.  ("A" ?,L0(B)
  476.  ("S" ?,LA(B)
  477.  ("D" ?,L4(B)
  478.  ("F" ?,LD(B)
  479.  ("G" ?,L3(B)
  480.  ("H" ?,LE(B)
  481.  ("J" ?,L((B)
  482.  ("K" ?,L:(B)
  483.  ("L" ?,L;(B)
  484.  (":" ?,LG(B)
  485.  ("\"" ?,L+(B)
  486.  ("|" ?,L6(B)
  487.  ("Z" ?,L%(B)
  488.  ("X" ?,L/(B)
  489.  ("C" ?,LF(B)
  490.  ("V" ?,L2(B)
  491.  ("B" ?,L1(B)
  492.  ("N" ?,L=(B)
  493.  ("M" ?,L<(B)
  494.  ("<" ?\;)
  495.  (">" ?:)
  496.  ("?" ?_))
  497.  
  498. ;;
  499.  
  500. ;; Alexander Mikhailian comments:
  501. ;; Having worked for several years as a Belarusian linguist, I still
  502. ;; can not find the origin of this layout which BTW does include
  503. ;; several characters that are not present in Belarusian and does not
  504. ;; include a few ones that do exist in Belarusian.  Besides, the typo
  505. ;; in the name of this layout speaks for itself since Belarusian has
  506. ;; an outdated version of spelling which is "Byelorussian" and not
  507. ;; "beylorussian".  I suggest that you just remove this layout.
  508.  
  509. ;; [`derived from JUS.I.K1' according to an old Mule note -- fx]
  510.  
  511. ;; (quail-define-package
  512. ;;  "cyrillic-beylorussian" "Belarussian" ",L6(BB" nil
  513. ;;  ",L)*5@B7(B-,L&.(B BEYLORUSSIAN (ISO 8859-5 encoding)"
  514. ;;  nil t t t t nil nil nil nil nil t)
  515.  
  516. ;; ;;  1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
  517. ;; ;;   ,L)(B  ,L*(B  ,L5(B  ,L@(B  ,LB(B  ,L7(B  ,LC(B  ,L8(B  ,L>(B  ,L?(B  ,LH(B  ,L&(B
  518. ;; ;;    ,L0(B  ,LA(B  ,L4(B  ,LD(B  ,L3(B  ,LE(B  ,L((B  ,L:(B  ,L;(B  ,LG(B  ,L.(B  ,L6(B
  519. ;; ;;     ,L%(B  ,L/(B  ,LF(B  ,L2(B  ,L1(B  ,L=(B  ,L<(B  ,; .: -_
  520.  
  521. ;; (quail-define-rules
  522. ;;  ("-" ?/)
  523. ;;  ("=" ?+)
  524. ;;  ("`" ?<)
  525. ;;  ("q" ?,Ly(B)
  526. ;;  ("w" ?,Lz(B)
  527. ;;  ("e" ?,LU(B)
  528. ;;  ("r" ?,L`(B)
  529. ;;  ("t" ?,Lb(B)
  530. ;;  ("y" ?,LW(B)
  531. ;;  ("u" ?,Lc(B)
  532. ;;  ("i" ?,LX(B)
  533. ;;  ("o" ?,L^(B)
  534. ;;  ("p" ?,L_(B)
  535. ;;  ("[" ?,Lh(B)
  536. ;;  ("]" ?,Lv(B)
  537. ;;  ("a" ?,LP(B)
  538. ;;  ("s" ?,La(B)
  539. ;;  ("d" ?,LT(B)
  540. ;;  ("f" ?,Ld(B)
  541. ;;  ("g" ?,LS(B)
  542. ;;  ("h" ?,Le(B)
  543. ;;  ("j" ?,Lx(B)
  544. ;;  ("k" ?,LZ(B)
  545. ;;  ("l" ?,L[(B)
  546. ;;  (";" ?,Lg(B)
  547. ;;  ("'" ?,L~(B)
  548. ;;  ("\\" ?,LV(B)
  549. ;;  ("z" ?,Lu(B)
  550. ;;  ("x" ?,L(B)
  551. ;;  ("c" ?,Lf(B)
  552. ;;  ("v" ?,LR(B)
  553. ;;  ("b" ?,LQ(B)
  554. ;;  ("n" ?,L](B)
  555. ;;  ("m" ?,L\(B)
  556. ;;  ("/" ?-)
  557.  
  558. ;;  ("@" ?\")
  559. ;;  ("^" ?&)
  560. ;;  ("&" ?')
  561. ;;  ("*" ?\()
  562. ;;  ("(" ?\))
  563. ;;  (")" ?=)
  564. ;;  ("_" ??)
  565. ;;  ("+" ?*)
  566. ;;  ("~" ?>)
  567. ;;  ("Q" ?,L)(B)
  568. ;;  ("W" ?,L*(B)
  569. ;;  ("E" ?,L5(B)
  570. ;;  ("R" ?,L@(B)
  571. ;;  ("T" ?,LB(B)
  572. ;;  ("Y" ?,L7(B)
  573. ;;  ("U" ?,LC(B)
  574. ;;  ("I" ?,L8(B)
  575. ;;  ("O" ?,L>(B)
  576. ;;  ("P" ?,L?(B)
  577. ;;  ("{" ?,LH(B)
  578. ;;  ("}" ?,L&(B)
  579. ;;  ("A" ?,L0(B)
  580. ;;  ("S" ?,LA(B)
  581. ;;  ("D" ?,L4(B)
  582. ;;  ("F" ?,LD(B)
  583. ;;  ("G" ?,L3(B)
  584. ;;  ("H" ?,LE(B)
  585. ;;  ("J" ?,L((B)
  586. ;;  ("K" ?,L:(B)
  587. ;;  ("L" ?,L;(B)
  588. ;;  (":" ?,LG(B)
  589. ;;  ("\"" ?,L.(B)
  590. ;;  ("|" ?,L6(B)
  591. ;;  ("Z" ?,L%(B)
  592. ;;  ("X" ?,L/(B)
  593. ;;  ("C" ?,LF(B)
  594. ;;  ("V" ?,L2(B)
  595. ;;  ("B" ?,L1(B)
  596. ;;  ("N" ?,L=(B)
  597. ;;  ("M" ?,L<(B)
  598. ;;  ("<" ?\;)
  599. ;;  (">" ?:)
  600. ;;  ("?" ?_))
  601.  
  602. ;;
  603.  
  604. ;; Alexander Mikhailian reports the opinion of fellow Ukrainian
  605. ;; linguist Bogdan Babych <[email protected]>:
  606. ;; He had seen this layout on some oldish systems but that the vast
  607. ;; majority of the population uses a modified version of the M$ Windows
  608. ;; layout.  In fact, Microsoft shipped for a while a layout that was lacking
  609. ;; two characters, precisely the "GHE_WITH_UPTURN" and the apostrophe.  The
  610. ;; latest versions of Windows software do have the "GHE_WITH_UPTURN" in the
  611. ;; ukrainian keyboard layout but the apostrophe is still not there, whereas
  612. ;; there is one letter, "Cyrillic_YO", not used in ukrainian.  Ukrainians
  613. ;; normally replace the "Cyrillic_YO" by the apostrophe sign and live
  614. ;; happily with this little change.  [See "ukrainian-computer" below.]
  615.  
  616. ;; Fixme: add GHE_WITH_UPTURN.
  617. (quail-define-package
  618.  "cyrillic-ukrainian" "Ukrainian" ",L6(BU" nil
  619.  ",L$'5@B7(B-,L&.(B UKRAINIAN
  620.  
  621. Sorry, but 'ghe with upturn' is not included in ISO 8859-5."
  622.  nil t t t t nil nil nil nil nil t)
  623.  
  624. ;;  1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
  625. ;;   ,L$(B  ,L'(B  ,L5(B  ,L@(B  ,LB(B  ,L7(B  ,LC(B  ,L8(B  ,L>(B  ,L?(B  ,LH(B  ,L&(B
  626. ;;    ,L0(B  ,LA(B  ,L4(B  ,LD(B  ,L3(B  ,LE(B  ,L((B  ,L:(B  ,L;(B  ,LG(B  ,L.(B  ,L6(B
  627. ;;     ,L%(B  ,L/(B  ,LF(B  ,L2(B  ,L1(B  ,L=(B  ,L<(B  ,; .: -_
  628.  
  629. (quail-define-rules
  630.  ("1" ?1)
  631.  ("2" ?2)
  632.  ("3" ?3)
  633.  ("4" ?4)
  634.  ("5" ?5)
  635.  ("6" ?6)
  636.  ("7" ?7)
  637.  ("8" ?8)
  638.  ("9" ?9)
  639.  ("0" ?0)
  640.  ("-" ?/)
  641.  ("=" ?+)
  642.  ("`" ?<)
  643.  ("q" ?,Lt(B)
  644.  ("w" ?,Lw(B)
  645.  ("e" ?,LU(B)
  646.  ("r" ?,L`(B)
  647.  ("t" ?,Lb(B)
  648.  ("y" ?,LW(B)
  649.  ("u" ?,Lc(B)
  650.  ("i" ?,LX(B)
  651.  ("o" ?,L^(B)
  652.  ("p" ?,L_(B)
  653.  ("[" ?,Lh(B)
  654.  ("]" ?,Lv(B)
  655.  ("a" ?,LP(B)
  656.  ("s" ?,La(B)
  657.  ("d" ?,LT(B)
  658.  ("f" ?,Ld(B)
  659.  ("g" ?,LS(B)
  660.  ("h" ?,Le(B)
  661.  ("j" ?,Lx(B)
  662.  ("k" ?,LZ(B)
  663.  ("l" ?,L[(B)
  664.  (";" ?,Lg(B)
  665.  ("'" ?,L~(B)
  666.  ("\\" ?,LV(B)
  667.  ("z" ?,Lu(B)
  668.  ("x" ?,L(B)
  669.  ("c" ?,Lf(B)
  670.  ("v" ?,LR(B)
  671.  ("b" ?,LQ(B)
  672.  ("n" ?,L](B)
  673.  ("m" ?,L\(B)
  674.  ("," ?,)
  675.  ("." ?.)
  676.  ("/" ?-)
  677.  
  678.  ("!" ?!)
  679.  ("@" ?\")
  680. ("#" ?#)
  681. ("$" ?$)
  682. ("%" ?%)
  683. ("^" ?&)
  684. ("&" ?')
  685. ("*" ?\()
  686. ("(" ?\))
  687. (")" ?=)
  688. ("_" ??)
  689. ("+" ?*)
  690. ("~" ?>)
  691. ("Q" ?,L$(B)
  692. ("W" ?,L'(B)
  693. ("E" ?,L5(B)
  694. ("R" ?,L@(B)
  695. ("T" ?,LB(B)
  696. ("Y" ?,L7(B)
  697. ("U" ?,LC(B)
  698. ("I" ?,L8(B)
  699. ("O" ?,L>(B)
  700. ("P" ?,L?(B)
  701. ("{" ?,LH(B)
  702. ("}" ?,L&(B)
  703. ("A" ?,L0(B)
  704. ("S" ?,LA(B)
  705. ("D" ?,L4(B)
  706. ("F" ?,LD(B)
  707. ("G" ?,L3(B)
  708. ("H" ?,LE(B)
  709. ("J" ?,L((B)
  710. ("K" ?,L:(B)
  711. ("L" ?,L;(B)
  712. (":" ?,LG(B)
  713. ("\"" ?,L.(B)
  714.  ("|" ?,L6(B)
  715.  ("Z" ?,L%(B)
  716.  ("X" ?,L/(B)
  717.  ("C" ?,LF(B)
  718.  ("V" ?,L2(B)
  719.  ("B" ?,L1(B)
  720.  ("N" ?,L=(B)
  721.  ("M" ?,L<(B)
  722.  ("<" ?\;)
  723.  (">" ?:)
  724.  ("?" ?_))
  725.  
  726.  
  727. (quail-define-package
  728.  "ukrainian-computer" "Ukrainian" "UK" nil
  729.  "$,1(9(F(C(:(5(=(B Ukrainian (Unicode-based for use with KOI8-U encoding)."
  730.  nil t t t t nil nil nil nil nil t)
  731.  
  732. ;;  ' 1! 2" 3$,1uV(B 4; 5% 6: 7? 8* 9( 0) -_ =+
  733. ;;   $,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
  734. ;;    $,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
  735. ;;      $,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  .,
  736.  
  737. (quail-define-rules
  738.  ("1" ?1)
  739.  ("2" ?2)
  740.  ("3" ?3)
  741.  ("4" ?4)
  742.  ("5" ?5)
  743.  ("6" ?6)
  744.  ("7" ?7)
  745.  ("8" ?8)
  746.  ("9" ?9)
  747.  ("0" ?0)
  748.  ("-" ?-)
  749.  ("=" ?=)
  750.  ("`" ?')
  751.  ("q" ?$,1(Y(B)
  752.  ("w" ?$,1(f(B)
  753.  ("e" ?$,1(c(B)
  754.  ("r" ?$,1(Z(B)
  755.  ("t" ?$,1(U(B)
  756.  ("y" ?$,1(](B)
  757.  ("u" ?$,1(S(B)
  758.  ("i" ?$,1(h(B)
  759.  ("o" ?$,1(i(B)
  760.  ("p" ?$,1(W(B)
  761.  ("[" ?$,1(e(B)
  762.  ("]" ?$,1(w(B)
  763.  ("a" ?$,1(d(B)
  764.  ("s" ?$,1(v(B)
  765.  ("d" ?$,1(R(B)
  766.  ("f" ?$,1(P(B)
  767.  ("g" ?$,1(_(B)
  768.  ("h" ?$,1(`(B)
  769.  ("j" ?$,1(^(B)
  770.  ("k" ?$,1([(B)
  771.  ("l" ?$,1(T(B)
  772.  (";" ?$,1(V(B)
  773.  ("'" ?$,1(t(B)
  774.  ("z" ?$,1(o(B)
  775.  ("x" ?$,1(g(B)
  776.  ("c" ?$,1(a(B)
  777.  ("v" ?$,1(\(B)
  778.  ("b" ?$,1(X(B)
  779.  ("n" ?$,1(b(B)
  780.  ("m" ?$,1(l(B)
  781.  ("," ?$,1(Q(B)
  782.  ("." ?$,1(n(B)
  783.  ("/" ?.)
  784.  ("!" ?!)
  785.  ("@" ?\")
  786. ("#" ?$,1uV(B)
  787. ("$" ?\;)
  788. ("%" ?%)
  789. ("^" ?:)
  790. ("&" ??)
  791. ("*" ?*)
  792. ("(" ?()
  793. (")" ?))
  794. ("_" ?_)
  795. ("+" ?+)
  796. ("~" ?')
  797. ("Q" ?$,1(9(B)
  798. ("W" ?$,1(F(B)
  799. ("E" ?$,1(C(B)
  800. ("R" ?$,1(:(B)
  801. ("T" ?$,1(5(B)
  802. ("Y" ?$,1(=(B)
  803. ("U" ?$,1(3(B)
  804. ("I" ?$,1(H(B)
  805. ("O" ?$,1(I(B)
  806. ("P" ?$,1(7(B)
  807. ("{" ?$,1(E(B)
  808. ("}" ?$,1('(B)
  809. ("A" ?$,1(D(B)
  810. ("S" ?$,1(&(B)
  811. ("D" ?$,1(2(B)
  812. ("F" ?$,1(0(B)
  813. ("G" ?$,1(?(B)
  814. ("H" ?$,1(@(B)
  815. ("J" ?$,1(>(B)
  816. ("K" ?$,1(;(B)
  817. ("L" ?$,1(4(B)
  818. (":" ?$,1(6(B)
  819. ("\"" ?$,1($(B)
  820.  ("Z" ?$,1(O(B)
  821.  ("X" ?$,1(G(B)
  822.  ("C" ?$,1(A(B)
  823.  ("V" ?$,1(<(B)
  824.  ("B" ?$,1(8(B)
  825.  ("N" ?$,1(B(B)
  826.  ("M" ?$,1(L(B)
  827.  ("<" ?$,1(1(B)
  828.  (">" ?$,1(N(B)
  829.  ("?" ?,)
  830.  ("\\" ?$,1)Q(B)
  831.  ("|" ?$,1)P(B))
  832. ;;
  833.  
  834. ;; Alexander Mikhailian says this is of limited use.  It has been
  835. ;; popular among emigrants or foreigners who have to type in Cyrillic
  836. ;; (mostly Russian) from time to time.
  837. (quail-define-package
  838.  "cyrillic-yawerty" "Cyrillic" ",L6O(B" nil
  839.  ",LO25@BK(B Roman transcription
  840.  
  841. This layout is based on Roman transcription by phonemic resemblance.
  842. When preceded by a '/', the second and the third rows (number key row) change
  843. as follows.
  844.  
  845.  keytop | Q  W  E  R  T  Y  U  I  O  P  A  S  D
  846. --------+---------------------------------------
  847.  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"
  848. nil t t t t nil nil nil nil nil t)
  849.  
  850. ;;  1! 2,Lq(B 3,Lj(B 4,L!(B 5% 6^ 7& 8* 9( 0) -_ ,LG(B  ,LN(B
  851. ;;   ,LO(B  ,L2(B  ,L5(B  ,L@(B  ,LB(B  ,LK(B  ,LC(B  ,L8(B  ,L>(B  ,L?(B  ,LH(B  ,LI(B
  852. ;;    ,L0(B  ,LA(B  ,L4(B  ,LD(B  ,L3(B  ,LE(B  ,L9(B  ,L:(B  ,L;(B  ;: '" ,LM(B
  853. ;;     ,L7(B  ,LL(B  ,LF(B  ,L6(B  ,L1(B  ,L=(B  ,L<(B  ,< .> /?
  854.  
  855. ;;  1! 2,Lq(B 3,Lj(B 4,L!(B 5% 6^ 7& 8* 9( 0) -_ ,LG(B  ,LN(B
  856. ;;   ,L"(B  ,L#(B  ,L$(B  ,L%(B  ,L&(B  ,L'(B  ,L((B  ,L)(B  ,L*(B  ,L+(B  ,LH(B  ,LI(B
  857. ;;    ,L,(B  ,L.(B  ,L/(B  ,LD(B  ,L3(B  ,LE(B  ,L9(B  ,L:(B  ,L;(B  ;: '" ,LM(B
  858. ;;     ,L7(B  ,LL(B  ,LF(B  ,L6(B  ,L1(B  ,L=(B  ,L<(B  ,< .> /?
  859.  
  860. (quail-define-rules
  861.  ("1" ?1)
  862.  ("2" ?2)
  863.  ("3" ?3)
  864.  ("4" ?4)
  865.  ("5" ?5)
  866.  ("6" ?6)
  867.  ("7" ?7)
  868.  ("8" ?8)
  869.  ("9" ?9)
  870.  ("0" ?0)
  871.  ("-" ?-)
  872.  ("=" ?,Lg(B)
  873.  ("`" ?,Ln(B)
  874.  ("q" ?,Lo(B)
  875.  ("w" ?,LR(B)
  876.  ("e" ?,LU(B)
  877.  ("r" ?,L`(B)
  878.  ("t" ?,Lb(B)
  879.  ("y" ?,Lk(B)
  880.  ("u" ?,Lc(B)
  881.  ("i" ?,LX(B)
  882.  ("o" ?,L^(B)
  883.  ("p" ?,L_(B)
  884.  ("[" ?,Lh(B)
  885.  ("]" ?,Li(B)
  886.  ("a" ?,LP(B)
  887.  ("s" ?,La(B)
  888.  ("d" ?,LT(B)
  889.  ("f" ?,Ld(B)
  890.  ("g" ?,LS(B)
  891.  ("h" ?,Le(B)
  892.  ("j" ?,LY(B)
  893.  ("k" ?,LZ(B)
  894.  ("l" ?,L[(B)
  895.  (";" ?\;)
  896.  ("'" ?')
  897.  ("\\" ?,Lm(B)
  898.  ("z" ?,LW(B)
  899.  ("x" ?,Ll(B)
  900.  ("c" ?,Lf(B)
  901.  ("v" ?,LV(B)
  902.  ("b" ?,LQ(B)
  903.  ("n" ?,L](B)
  904.  ("m" ?,L\(B)
  905.  ("," ?,)
  906.  ("." ?.)
  907.  ("/" ?/)
  908.  
  909.  ("!" ?!)
  910.  ("@" ?,Lq(B)
  911.  ("#" ?,Lj(B)
  912.  ("$" ?,L!(B)
  913.  ("%" ?%)
  914.  ("^" ?^)
  915.  ("&" ?&)
  916.  ("*" ?*)
  917.  ("(" ?\()
  918.  (")" ?\))
  919.  ("_" ?_)
  920.  ("+" ?,LG(B)
  921.  ("~" ?,LN(B)
  922.  ("Q" ?,LO(B)
  923.  ("W" ?,L2(B)
  924.  ("E" ?,L5(B)
  925.  ("R" ?,L@(B)
  926.  ("T" ?,LB(B)
  927.  ("Y" ?,LK(B)
  928.  ("U" ?,LC(B)
  929.  ("I" ?,L8(B)
  930.  ("O" ?,L>(B)
  931.  ("P" ?,L?(B)
  932.  ("{" ?,LH(B)
  933.  ("}" ?,LI(B)
  934.  ("A" ?,L0(B)
  935.  ("S" ?,LA(B)
  936.  ("D" ?,L4(B)
  937.  ("F" ?,LD(B)
  938.  ("G" ?,L3(B)
  939.  ("H" ?,LE(B)
  940.  ("J" ?,L9(B)
  941.  ("K" ?,L:(B)
  942.  ("L" ?,L;(B)
  943.  (":" ?:)
  944.  ("\"" ?\")
  945. ("|" ?,LM(B)
  946. ("Z" ?,L7(B)
  947. ("X" ?,LL(B)
  948. ("C" ?,LF(B)
  949. ("V" ?,L6(B)
  950. ("B" ?,L1(B)
  951. ("N" ?,L=(B)
  952. ("M" ?,L<(B)
  953. ("<" ?<)
  954. (">" ?>)
  955. ("?" ??)
  956.  
  957. ("/q" ?,Lr(B)
  958. ("/w" ?,Ls(B)
  959. ("/e" ?,Lt(B)
  960. ("/r" ?,Lu(B)
  961. ("/t" ?,Lv(B)
  962. ("/y" ?,Lw(B)
  963. ("/u" ?,Lx(B)
  964. ("/i" ?,Ly(B)
  965. ("/o" ?,Lz(B)
  966. ("/p" ?,L{(B)
  967. ("/a" ?,L|(B)
  968. ("/s" ?,L~(B)
  969. ("/d" ?,L(B)
  970.  
  971. ("/Q" ?,L"(B)
  972.  ("/W" ?,L#(B)
  973.  ("/E" ?,L$(B)
  974.  ("/R" ?,L%(B)
  975.  ("/T" ?,L&(B)
  976.  ("/Y" ?,L'(B)
  977.  ("/U" ?,L((B)
  978.  ("/I" ?,L)(B)
  979.  ("/O" ?,L*(B)
  980.  ("/P" ?,L+(B)
  981.  ("/A" ?,L,(B)
  982.  ("/S" ?,L.(B)
  983.  ("/D" ?,L/(B))
  984.  
  985. ;; This was provided by Valery Alexeev <[email protected]>.
  986.  
  987. ;; Ognyan Kulev <[email protected]> wrote:
  988.  
  989. ;; I would suggest future `cyrillic-translit' to be with the
  990. ;; modification of `cyrillic-translit-bulgarian' applied and the
  991. ;; latter to disappear.  It could be used by people who write
  992. ;; bulgarian e-mails with latin letters for kick start (phonetic input
  993. ;; method is not so obvious as translit input method but each letter
  994. ;; is one keypress and a *lot* of people know it).
  995.  
  996. ;; Anton Zinoviev <[email protected]> wrote:
  997. ;; I would say that the main idea for cyrillic-translit is to be
  998. ;; language-independent and universal.  It should be able to generate all
  999. ;; Cyrillic symbols.
  1000. (quail-define-package
  1001.  "cyrillic-translit" "Cyrillic" ",L6(Bt" t
  1002.  "Intuitively transliterated keyboard layout.
  1003. Most convenient for entering Russian, but all Cyrillic characters
  1004. are included.  Should handle most cases.  However:
  1005.  for ,Lf(B (TSE) use \"c\", never \"ts\"
  1006.  ,Li(B (SHCHA = Bulgarian SHT) = \"shch\", \"sj\", \"/sht\" or \"/t\",
  1007.  ,Lm(B (REVERSE ROUNDED E) = \"e\\\"
  1008.  ,Le(B (KHA) when after ,La(B (S) = \"x\" or \"kh\"
  1009.  ,Lj(B (HARD SIGN) = \"~\", ,LJ(B (CAPITAL HARD SIGN) = \"~~\",
  1010.  ,Ll(B (SOFT SIGN) = \"'\", ,LL(B (CAPITAL SOFT SIGN) = \"''\",
  1011.  ,Lo(B (YA) = \"ya\", \"ja\" or \"q\".
  1012.  
  1013. 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
  1014. u f h=kh=x c ch sh shch=sj=/s=/sht ~ y ' e\\ yu=ju ya=ja=q
  1015.  
  1016. Also included are Ukrainian ,Lt(B (YE) = \"/e\", ,Lw(B (YI) = \"yi\",
  1017. $,1)Q(B (GHE WITH UPTURN) = \"g'\",
  1018. Belarusian ,L~(B (SHORT U) = \"u~\",
  1019. Serbo-Croatian ,Lr(B (DJE) = \"/d\", ,L{(B (CHJE)= \"/ch\",
  1020. Macedonian ,Ls(B (GJE) = \"/g\", ,Lu(B (DZE) = \"/s\", ,L|(B (KJE) = \"/k\",
  1021. cyrillic ,Lv(B (I DECIMAL) = \"/i\", ,Lx(B (JE) = \"/j\",
  1022. ,Ly(B (LJE) = \"/l\", ,Lz(B (NJE) = \"/n\" and ,L(B (DZE) =\"/z\"."
  1023.  nil t t t t nil nil nil nil nil t)
  1024.  
  1025. (quail-define-rules
  1026.  ("a" ?,LP(B) ("b" ?,LQ(B) ("v" ?,LR(B) ("w" ?,LR(B) ("g" ?,LS(B) ("d" ?,LT(B)
  1027.  ("e" ?,LU(B) ("je" ?,LU(B)
  1028.  ("yo" ?,Lq(B) ("jo" ?,Lq(B)
  1029.  ("zh" ?,LV(B) ("z" ?,LW(B) ("i" ?,LX(B)
  1030.  ("j" ?,LY(B) ("j'" ?,LY(B) ("j`" ?,LY(B) ("k" ?,LZ(B) ("l" ?,L[(B)
  1031.  ("m" ?,L\(B) ("n" ?,L](B) ("o" ?,L^(B) ("p" ?,L_(B) ("r" ?,L`(B) ("s" ?,La(B) ("t" ?,Lb(B) ("u" ?,Lc(B)
  1032.  ("f" ?,Ld(B) ("x" ?,Le(B) ("h" ?,Le(B) ("kh" ?,Le(B)
  1033.  ("c" ?,Lf(B) ("ch" ?,Lg(B)
  1034.  ("sh" ?,Lh(B)
  1035.  ("shch" ?,Li(B) ("sj" ?,Li(B)
  1036.  ("/sht" ?,Li(B) ("/t" ?,Li(B)
  1037.  ("~" ?,Lj(B) ("y" ?,Lk(B) ("'" ?,Ll(B) ("`" ?,Ll(B)
  1038.  ("e\\" ?,Lm(B) ("e'" ?,Lm(B) ("e`" ?,Lm(B) ("@" ?,Lm(B)
  1039.  ("yu" ?,Ln(B) ("ju" ?,Ln(B)
  1040.  ("ya" ?,Lo(B) ("ja" ?,Lo(B) ("q" ?,Lo(B)
  1041.  
  1042.  ("A" ?,L0(B) ("B" ?,L1(B) ("V" ?,L2(B) ("W" ?,L2(B) ("G" ?,L3(B) ("D" ?,L4(B)
  1043.  ("E" ?,L5(B) ("Je" ?,L5(B) ("JE" ?,L5(B)
  1044.  ("Yo" ?,L!(B) ("YO" ?,L!(B) ("Jo" ?,L!(B) ("JO" ?,L!(B)
  1045.  ("Zh" ?,L6(B) ("ZH" ?,L6(B) ("Z" ?,L7(B) ("I" ?,L8(B)
  1046.  ("J" ?,L9(B) ("J'" ?,L9(B) ("J`" ?,L9(B) ("K" ?,L:(B) ("L" ?,L;(B)
  1047.  ("M" ?,L<(B) ("N" ?,L=(B) ("O" ?,L>(B) ("P" ?,L?(B) ("R" ?,L@(B) ("S" ?,LA(B) ("T" ?,LB(B) ("U" ?,LC(B)
  1048.  ("F" ?,LD(B) ("X" ?,LE(B) ("H" ?,LE(B) ("Kh" ?,LE(B) ("KH" ?,LE(B)
  1049.  ("C" ?,LF(B) ("Ch" ?,LG(B) ("CH" ?,LG(B)
  1050.  ("Sh" ?,LH(B) ("SH" ?,LH(B)
  1051.  ("Shch" ?,LI(B) ("SHCH" ?,LI(B) ("Sj" ?,LI(B) ("SJ" ?,LI(B)
  1052.  ("/Sht" ?,LI(B) ("/SHT" ?,LI(B) ("/T" ?,LI(B)
  1053.  ("~~" ?,LJ(B) ("Y" ?,LK(B) ("''" ?,LL(B)
  1054.  ("E\\" ?,LM(B) ("E'" ?,LM(B) ("E`" ?,LM(B) ("@@" ?,LM(B)
  1055.  ("Yu" ?,LN(B) ("YU" ?,LN(B) ("Ju" ?,LN(B) ("JU" ?,LN(B)
  1056.  ("Ya" ?,LO(B) ("YA" ?,LO(B) ("Ja" ?,LO(B) ("JA" ?,LO(B) ("Q" ?,LO(B)
  1057.  
  1058.  ("/e" ?,Lt(B) ("yi" ?,Lw(B) ("u'" ?,L~(B) ("u~" ?,L~(B)
  1059.  ("g'" ?$,1)Q(B)
  1060.  ("/d" ?,Lr(B) ("/ch" ?,L{(B)
  1061.  ("/g" ?,Ls(B) ("/s" ?,Lu(B) ("/k" ?,L|(B)
  1062.  ("/i" ?,Lv(B) ("/j" ?,Lx(B) ("/l" ?,Ly(B) ("/n" ?,Lz(B) ("/z" ?,L(B)
  1063.  ("/E" ?,L$(B) ("YE" ?,L$(B) ("Yi" ?,L'(B) ("YI" ?,L'(B) ("U'" ?,L.(B) ("U~" ?,L.(B)
  1064.  ("G'" ?$,1)P(B)
  1065.  ("/D" ?,L"(B) ("/Ch" ?,L+(B) ("/CH" ?,L+(B)
  1066. ("/G" ?,L#(B) ("/S" ?,L%(B) ("/K" ?,L,(B)
  1067. ("/I" ?,L&(B) ("/J" ?,L((B) ("/L" ?,L)(B) ("/N" ?,L*(B) ("/Z" ?,L/(B)
  1068.  
  1069. ;; Combining accents as a separate character
  1070. ("//'" ?$(O+Z(B) ("//`" ?$(O+\(B)
  1071.  
  1072. ;; In the following two rules the accent is not a separate character
  1073. ("i`" ?$,1(}(B) ("I`" ?$,1(-(B)
  1074.  
  1075. ("/-"  ?$(G!9(B)  ;; EN DASH
  1076. ("/--" ?$(G!7(B)  ;; EM DASH
  1077. ("/*" ?$(O#@(B)   ;; BULLET
  1078. ("/." ?$,1s$(B)   ;; ONE DOT LEADER
  1079. ("/.." ?$(G!-(B)  ;; TWO DOT LEADER
  1080. ("/..." ?$A!-(B) ;; HORIZONTAL ELLIPSIS
  1081. ("/,," ?,Y%(B)  ;; DOUBLE LOW-9 QUOTATION MARK
  1082. ("/," ?$,1rz(B)   ;; SINGLE LOW-9 QUOTATION MARK
  1083. ("/''" ?,Y!(B)  ;; RIGHT DOUBLE QUOTATION MARK
  1084. ("/'" ?,F"(B)   ;; RIGHT SINGLE QUOTATION MARK
  1085.  ("/``" ?,Y4(B)  ;; LEFT DOUBLE QUOTATION MARK
  1086.  ("/`" ?,F!(B)   ;; LEFT SINGLE QUOTATION MARK
  1087.  ("/<<" ?,A+(B)  ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
  1088.  ("/>>" ?,A;(B)  ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
  1089.  
  1090.  ("/&" ?,A'(B)
  1091.  ("/ab" ?,A'(B)                             ; _,LPQ(B_,LWPf(B
  1092.  ("/pa" ?,A'(B)                             ; _pa_ragraph
  1093.  ("/#" ?,Lp(B)
  1094.  ("/no" ?,Lp(B)                             ; _,L]^(B_,L\U`(B
  1095.  
  1096.  ("/c" ?,A)(B)
  1097.  ("/tm" ?$(D"o(B)
  1098. ("/reg" ?,A.(B)
  1099. ("/eu"  ?,b$(B)
  1100. ("/ce"  ?,A"(B)
  1101.  
  1102.  ;; fractions
  1103.  ("/78" ?$(C(~(B)
  1104.  ("/58" ?$(C(}(B)
  1105.  ("/38" ?$(C(|(B)
  1106.  ("/18" ?$(C({(B)
  1107.  ("/56" ?$,1v:(B)
  1108.  ("/16" ?$,1v9(B)
  1109.  ("/45" ?$,1v8(B)
  1110.  ("/35" ?$,1v7(B)
  1111.  ("/25" ?$,1v6(B)
  1112.  ("/15" ?$(O'z(B)
  1113.  ("/23" ?$(O'y(B)
  1114.  ("/13" ?$(O'x(B)
  1115.  ("/34" ?,A>(B)
  1116.  ("/12" ?,A=(B)
  1117.  ("/14" ?,A<(B)
  1118.  
  1119.  ;; Roman numerals, commonly used for months and section/subsection numbers
  1120.  ("/RI" ?$A"q(B)
  1121. ("/RII" ?$A"r(B)
  1122.  ("/RIII" ?$A"s(B)
  1123. ("/RIV" ?$A"t(B)
  1124.  ("/RV" ?$A"u(B)
  1125. ("/RVI" ?$A"v(B)
  1126.  ("/RVII" ?$A"w(B)
  1127. ("/RVIII" ?$A"x(B)
  1128.  ("/RIX" ?$A"y(B)
  1129. ("/RX" ?$A"z(B)
  1130.  ("/RXI" ?$A"{(B)
  1131. ("/RXII" ?$A"|(B)
  1132.  
  1133.  ("/ri" ?$(G&5(B)
  1134.  ("/rii" ?$(G&6(B)
  1135.  ("/riii" ?$(G&7(B)
  1136.  ("/riv" ?$(G&8(B)
  1137.  ("/rv" ?$(G&9(B)
  1138.  ("/rvi" ?$(G&:(B)
  1139.  ("/rvii" ?$(G&;(B)
  1140.  ("/rviii" ?$(G&<(B)
  1141.  ("/rix" ?$(G&=(B)
  1142.  ("/rx" ?$(G&>(B)
  1143.  ("/rxi" ?$(O,?(B)
  1144.  ("/rxii" ?$(O,@(B)
  1145. )
  1146.  
  1147. ;; Originally from Yudit's `Belarusian input table according to
  1148. ;; STB955-94 belarusian standard' (not all) by Alexander Mikhailian
  1149. ;; <[email protected]>, subsequently amended by AM.
  1150. (quail-define-package
  1151.  "belarusian" "Belarusian" "BE" nil
  1152.  "$,1(9(F(C(:(5(=(B keyboard layout registered as STB955-94 Belarusian standard.
  1153. Unicode based."
  1154.  nil t t t t nil nil nil nil nil t)
  1155.  
  1156. ;; $,1(q(!(B 1! 2" 3N 4; 5% 6: 7? 8* 9( 0) -_ =+
  1157. ;;     $,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  '
  1158. ;;      $,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
  1159. ;;       $,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  .,
  1160.  
  1161. (quail-define-rules
  1162.  ("~" ?$,1(!(B)
  1163.  ("@" ?\")
  1164. ("#" ?$,1uV(B)
  1165. ("$" ?\;)
  1166. ("%" ?%)
  1167. ("^" ?:)
  1168. ("&" ??)
  1169. ("Q" ?$,1(9(B)
  1170. ("W" ?$,1(F(B)
  1171. ("E" ?$,1(C(B)
  1172. ("R" ?$,1(:(B)
  1173. ("T" ?$,1(5(B)
  1174. ("Y" ?$,1(=(B)
  1175. ("U" ?$,1(3(B)
  1176. ("I" ?$,1(H(B)
  1177. ("O" ?$,1(.(B)
  1178. ("P" ?$,1(7(B)
  1179. ("{" ?$,1(E(B)
  1180. ("}" ?')
  1181. ("A" ?$,1(D(B)
  1182. ("S" ?$,1(K(B)
  1183. ("D" ?$,1(2(B)
  1184. ("F" ?$,1(0(B)
  1185. ("G" ?$,1(?(B)
  1186. ("H" ?$,1(@(B)
  1187. ("J" ?$,1(>(B)
  1188. ("K" ?$,1(;(B)
  1189. ("L" ?$,1(4(B)
  1190. (":" ?$,1(6(B)
  1191. ("\"" ?$,1(M(B)
  1192.  ("|" ?|)
  1193.  ("Z" ?$,1(O(B)
  1194.  ("X" ?$,1(G(B)
  1195.  ("C" ?$,1(A(B)
  1196.  ("V" ?$,1(<(B)
  1197.  ("B" ?$,1(&(B)
  1198.  ("N" ?$,1(B(B)
  1199.  ("M" ?$,1(L(B)
  1200.  ("<" ?$,1(1(B)
  1201.  (">" ?$,1(N(B)
  1202.  ("?" ?,)
  1203.  
  1204.  ("`" ?$,1(q(B)
  1205.  ("q" ?$,1(Y(B)
  1206.  ("w" ?$,1(f(B)
  1207.  ("e" ?$,1(c(B)
  1208.  ("r" ?$,1(Z(B)
  1209.  ("t" ?$,1(U(B)
  1210.  ("y" ?$,1(](B)
  1211.  ("u" ?$,1(S(B)
  1212.  ("i" ?$,1(h(B)
  1213.  ("o" ?$,1(~(B)
  1214.  ("p" ?$,1(W(B)
  1215.  ("[" ?$,1(e(B)
  1216.  ("]" ?')
  1217.  ("a" ?$,1(d(B)
  1218.  ("s" ?$,1(k(B)
  1219.  ("d" ?$,1(R(B)
  1220.  ("f" ?$,1(P(B)
  1221.  ("g" ?$,1(_(B)
  1222.  ("h" ?$,1(`(B)
  1223.  ("j" ?$,1(^(B)
  1224.  ("k" ?$,1([(B)
  1225.  ("l" ?$,1(T(B)
  1226.  (";" ?$,1(V(B)
  1227.  ("'" ?$,1(m(B)
  1228.  ("z" ?$,1(o(B)
  1229.  ("x" ?$,1(g(B)
  1230.  ("c" ?$,1(a(B)
  1231.  ("v" ?$,1(\(B)
  1232.  ("b" ?$,1(v(B)
  1233.  ("n" ?$,1(b(B)
  1234.  ("m" ?$,1(l(B)
  1235.  ("," ?$,1(Q(B)
  1236.  ("." ?$,1(n(B)
  1237.  ("/" ?.))
  1238.  
  1239. (quail-define-package
  1240.  "bulgarian-alt-phonetic" "Bulgarian" "$,1(1(=(D(B"
  1241.  nil
  1242.  "Bulgarian alternative Phonetic keyboard layout, producing Unicode.
  1243.  
  1244. This phonetic layout replaces all the Latin letters with Bulgarian
  1245. \(Cyrillic\) letters based on similarities in their pronunciation or look.
  1246.  
  1247. Note that, since the letters ',Li(B', ',Ll(B', ',Ln(B' and ',Lo(B' are attached to the
  1248. ']', '\', '`' and '[' keys respectively, Caps Lock does not affect them."
  1249. nil t t t t nil nil nil nil nil t)
  1250.  
  1251. ;;  $,1(N(B  1! 2@ 3$,1uV(B 4$ 5% 6$,1tL(B 7,A'(B 8* 9( 0) -$,1rs(B =+ $,1(l(}(B
  1252. ;;      $,1(G(B  $,1(H(B  $,1(5(B  $,1(@(B  $,1(B(B  $,1(J(B  $,1(C(B  $,1(8(B  $,1(>(B  $,1(?(B  $,1(O(B  $,1(I(B
  1253. ;;       ,L0(B  $,1(A(B  $,1(4(B  $,1(D(B  $,1(3(B  $,1(E(B  $,1(9(B  $,1(:(B  $,1(;(B  :; '"
  1254. ;;        $,1(7(B  $,1(6(B  $,1(F(B  $,1(2(B  $,1(1(B  $,1(=(B  $,1(<(B  ,$,1r~(B .$,1r|(B /?
  1255.  
  1256. (quail-define-rules
  1257.  ("#" ?,Lp(B)
  1258.  ("&" ?,A'(B)
  1259.  ("/#" ?#)
  1260.  ("/&" ?&)
  1261.  ("/<" ?<)
  1262.  ("/>" ?>)
  1263.  ("/[" ?\[)
  1264.  ("/\\" ?\\)
  1265.  ("/]" ?\])
  1266.  ("/^" ?^)
  1267.  ("/_" ?_)
  1268.  ("/`" ?`)
  1269.  ("/{" ?{)
  1270.  ("/|" ?|)
  1271.  ("/}" ?})
  1272.  ("/~" ?~)
  1273.  ("<" ?$,1r~(B)
  1274.  (">" ?$,1r|(B)
  1275.  ("A" ?$,1(0(B) ("a" ?$,1(P(B)
  1276.  ("B" ?$,1(1(B) ("b" ?$,1(Q(B)
  1277.  ("C" ?$,1(F(B) ("c" ?$,1(f(B)
  1278.  ("D" ?$,1(4(B) ("d" ?$,1(T(B)
  1279.  ("E" ?$,1(5(B) ("e" ?$,1(U(B)
  1280.  ("F" ?$,1(D(B) ("f" ?$,1(d(B)
  1281.  ("G" ?$,1(3(B) ("g" ?$,1(S(B)
  1282.  ("H" ?$,1(E(B) ("h" ?$,1(e(B)
  1283.  ("I" ?$,1(8(B) ("i" ?$,1(X(B)
  1284.  ("J" ?$,1(9(B) ("j" ?$,1(Y(B)
  1285.  ("K" ?$,1(:(B) ("k" ?$,1(Z(B)
  1286.  ("L" ?$,1(;(B) ("l" ?$,1([(B)
  1287.  ("M" ?$,1(<(B) ("m" ?$,1(\(B)
  1288.  ("N" ?$,1(=(B) ("n" ?$,1(](B)
  1289.  ("O" ?$,1(>(B) ("o" ?$,1(^(B)
  1290.  ("P" ?$,1(?(B) ("p" ?$,1(_(B)
  1291.  ("Q" ?$,1(G(B) ("q" ?$,1(g(B)
  1292.  ("R" ?$,1(@(B) ("r" ?$,1(`(B)
  1293.  ("S" ?$,1(A(B) ("s" ?$,1(a(B)
  1294.  ("T" ?$,1(B(B) ("t" ?$,1(b(B)
  1295.  ("U" ?$,1(C(B) ("u" ?$,1(c(B)
  1296.  ("V" ?$,1(2(B) ("v" ?$,1(R(B)
  1297.  ("W" ?$,1(H(B) ("w" ?$,1(h(B)
  1298.  ("X" ?$,1(6(B) ("x" ?$,1(V(B)
  1299.  ("Y" ?$,1(J(B) ("y" ?$,1(j(B)
  1300.  ("Z" ?$,1(7(B) ("z" ?$,1(W(B)
  1301.  ("[" ?$,1(o(B)
  1302.  ("\\" ?$,1(l(B)
  1303.  ("]" ?$,1(i(B)
  1304.  ("^" ?$,1tL(B)
  1305.  ("_" ?$,1rs(B)
  1306.  ("`" ?$,1(n(B)
  1307.  ("{" ?$,1(O(B)
  1308.  ("|" ?$,1(}(B)
  1309.  ("}" ?$,1(I(B)
  1310.  ("~" ?$,1(N(B))
  1311.  
  1312. ;; From `Bulgarian-PHO.kmap for Yudit', Alexander Shopov
  1313.  
  1314. ;; Extra commentary and the indicator from an independent
  1315. ;; (cyrillic-iso8859-5) implementation by Ognyan Kulev
  1316. ;; <[email protected]> and name changes from Anton Zinoviev
  1317. (quail-define-package
  1318.  "bulgarian-phonetic" "Bulgarian" "$,1(6(1(D(B"
  1319.  nil
  1320.  "Bulgarian Phonetic keyboard layout, producing Unicode.
  1321.  
  1322. The layout is similar to `cyrillic-translit', but all Bulgarian
  1323. characters are typed with a single key.
  1324.  
  1325. Use /& for ,A'(B (Cyrillic paragraph) and /# for $,1uV(B.
  1326.  
  1327. The letters $,1(G(B, $,1(H(B, $,1(I(B and $,1(N(B are not affected by Caps Lock."
  1328.  nil t t t t nil nil nil nil nil t)
  1329.  
  1330. ;;  $,1(G(B
  1331. ;;      $,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
  1332. ;;       $,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
  1333. ;;        $,1(7(B  $,1(L(B  $,1(F(B  $,1(6(B  $,1(1(B  $,1(=(B  $,1(<(B
  1334.  
  1335. (quail-define-rules
  1336.  ("/&" ?,A'(B)
  1337.  ("/#" ?$,1uV(B)
  1338.  ("A" ?$,1(0(B)
  1339.  ("B" ?$,1(1(B)
  1340.  ("W" ?$,1(2(B)
  1341.  ("G" ?$,1(3(B)
  1342.  ("D" ?$,1(4(B)
  1343.  ("E" ?$,1(5(B)
  1344.  ("V" ?$,1(6(B)
  1345.  ("Z" ?$,1(7(B)
  1346.  ("I" ?$,1(8(B)
  1347.  ("J" ?$,1(9(B)
  1348.  ("K" ?$,1(:(B)
  1349.  ("L" ?$,1(;(B)
  1350.  ("M" ?$,1(<(B)
  1351.  ("N" ?$,1(=(B)
  1352.  ("O" ?$,1(>(B)
  1353.  ("P" ?$,1(?(B)
  1354.  ("R" ?$,1(@(B)
  1355.  ("S" ?$,1(A(B)
  1356.  ("T" ?$,1(B(B)
  1357.  ("U" ?$,1(C(B)
  1358.  ("F" ?$,1(D(B)
  1359.  ("H" ?$,1(E(B)
  1360.  ("C" ?$,1(F(B)
  1361.  ("~" ?$,1(G(B)
  1362.  ("{" ?$,1(H(B)
  1363.  ("}" ?$,1(I(B)
  1364.  ("Y" ?$,1(J(B)
  1365.  ("X" ?$,1(L(B)
  1366.  ("|" ?$,1(N(B)
  1367.  ("Q" ?$,1(O(B)
  1368.  ("a" ?$,1(P(B)
  1369.  ("b" ?$,1(Q(B)
  1370.  ("w" ?$,1(R(B)
  1371.  ("g" ?$,1(S(B)
  1372.  ("d" ?$,1(T(B)
  1373.  ("e" ?$,1(U(B)
  1374.  ("v" ?$,1(V(B)
  1375.  ("z" ?$,1(W(B)
  1376.  ("i" ?$,1(X(B)
  1377.  ("j" ?$,1(Y(B)
  1378.  ("k" ?$,1(Z(B)
  1379.  ("l" ?$,1([(B)
  1380.  ("m" ?$,1(\(B)
  1381.  ("n" ?$,1(](B)
  1382.  ("o" ?$,1(^(B)
  1383.  ("p" ?$,1(_(B)
  1384.  ("r" ?$,1(`(B)
  1385.  ("s" ?$,1(a(B)
  1386.  ("t" ?$,1(b(B)
  1387.  ("u" ?$,1(c(B)
  1388.  ("f" ?$,1(d(B)
  1389.  ("h" ?$,1(e(B)
  1390.  ("c" ?$,1(f(B)
  1391.  ("`" ?$,1(g(B)
  1392.  ("[" ?$,1(h(B)
  1393.  ("]" ?$,1(i(B)
  1394.  ("y" ?$,1(j(B)
  1395.  ("x" ?$,1(l(B)
  1396.  ("\\" ?$,1(n(B)
  1397.  ("q" ?$,1(o(B))
  1398.  
  1399. ;; Based on an implementation by Ognyan Kulev <[email protected]>.
  1400. ;; This follows XKB bg.
  1401.  
  1402. (quail-define-package
  1403.  "bulgarian-bds" "Bulgarian" "$,1(1(4(A(B" nil
  1404.  "Bulgarian standard keyboard layout (BDS)
  1405.  
  1406. This keyboard layout is standard for Bulgarian typewriters.
  1407.  
  1408. 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.
  1409.  
  1410. In addition to original Bulgarian typewriter layout, keys \\ and |
  1411. are transformed into ' and $,1(K(B respectively.  Some keyboards mark these
  1412. keys as being transformed into ( and ) respectively.  For ( and ), use
  1413. ` and ~ respectively.  This input method follows XKB."
  1414.  nil t t t t nil nil nil nil nil t)
  1415.  
  1416. ;;  () 1! 2? 3+ 4" 5% 6= 7: 8/ 9_ 0$,1uV(B -I .V
  1417. ;;      ,$,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
  1418. ;;       $,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
  1419. ;;        $,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
  1420.  
  1421. (quail-define-rules
  1422.  
  1423.  ("1" ?1) ("!" ?!)
  1424.  ("2" ?2) ("@" ??)
  1425.  ("3" ?3) ("#" ?+)
  1426.  ("4" ?4) ("$" ?\")
  1427. ("5" ?5) ("%" ?%)
  1428. ("6" ?6) ("^" ?=)
  1429. ("7" ?7) ("&" ?:)
  1430. ("8" ?8) ("*" ?/)
  1431. ("9" ?9) ("(" ?_)
  1432. ("0" ?0) (")" ?$,1uV(B)
  1433. ("-" ?-) ("_" ?I)
  1434. ("=" ?.) ("+" ?V)
  1435.  
  1436. ("q" ?,) ("Q" ?$,1(k(B)
  1437. ("w" ?$,1(c(B) ("W" ?$,1(C(B)
  1438. ("e" ?$,1(U(B) ("E" ?$,1(5(B)
  1439. ("r" ?$,1(X(B) ("R" ?$,1(8(B)
  1440. ("t" ?$,1(h(B) ("T" ?$,1(H(B)
  1441. ("y" ?$,1(i(B) ("Y" ?$,1(I(B)
  1442. ("u" ?$,1(Z(B) ("U" ?$,1(:(B)
  1443. ("i" ?$,1(a(B) ("I" ?$,1(A(B)
  1444. ("o" ?$,1(T(B) ("O" ?$,1(4(B)
  1445. ("p" ?$,1(W(B) ("P" ?$,1(7(B)
  1446. ("[" ?$,1(f(B) ("{" ?$,1(F(B)
  1447. ("]" ?\;) ("}" ?,A'(B)
  1448.  
  1449. ("a" ?$,1(l(B) ("A" ?$,1(L(B)
  1450. ("s" ?$,1(o(B) ("S" ?$,1(O(B)
  1451. ("d" ?$,1(P(B) ("D" ?$,1(0(B)
  1452. ("f" ?$,1(^(B) ("F" ?$,1(>(B)
  1453. ("g" ?$,1(V(B) ("G" ?$,1(6(B)
  1454. ("h" ?$,1(S(B) ("H" ?$,1(3(B)
  1455. ("j" ?$,1(b(B) ("J" ?$,1(B(B)
  1456. ("k" ?$,1(](B) ("K" ?$,1(=(B)
  1457. ("l" ?$,1(R(B) ("L" ?$,1(2(B)
  1458. (";" ?$,1(\(B) (":" ?$,1(<(B)
  1459.  ("'" ?$,1(g(B) ("\"" ?$,1(G(B)
  1460.  ("`" ?\() ("~" ?\))
  1461.  
  1462.  ("z" ?$,1(n(B) ("Z" ?$,1(N(B)
  1463.  ("x" ?$,1(Y(B) ("X" ?$,1(9(B)
  1464.  ("c" ?$,1(j(B) ("C" ?$,1(J(B)
  1465.  ("v" ?$,1(m(B) ("V" ?$,1(M(B)
  1466.  ("b" ?$,1(d(B) ("B" ?$,1(D(B)
  1467.  ("n" ?$,1(e(B) ("N" ?$,1(E(B)
  1468.  ("m" ?$,1(_(B) ("M" ?$,1(?(B)
  1469.  ("," ?$,1(`(B) ("<" ?$,1(@(B)
  1470.  ("." ?$,1([(B) (">" ?$,1(;(B)
  1471.  ("/" ?$,1(Q(B) ("?" ?$,1(1(B)
  1472.  ("\\" ?') ("|" ?$,1(K(B))
  1473.  
  1474. ;; Local Variables:
  1475. ;; coding: iso-2022-7bit
  1476. ;; End:
  1477.  
  1478. ;;; cyrillic.el ends here
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement