Improve and expand the Hebrew input methods.
authorYair Friedman <yair.f.lists@gmail.com>
Sat, 23 Jul 2011 17:29:42 +0000 (20:29 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 23 Jul 2011 17:29:42 +0000 (20:29 +0300)
 leim/quail/hebrew.el ("hebrew"): Additional key mappings.
 ("hebrew-new", "hebrew-lyx", "hebrew-full")
 ("hebrew-biblical-tiro", "hebrew-biblical-sil", "yiddish-royal")
 ("yiddish-keyman"): New input methods.

leim/ChangeLog
leim/quail/hebrew.el

index 6df1c50..5309671 100644 (file)
@@ -1,3 +1,10 @@
+2011-07-23  Yair F  <yair.f.lists@gmail.com>
+
+       * quail/hebrew.el ("hebrew"): Additional key mappings.
+       ("hebrew-new", "hebrew-lyx", "hebrew-full")
+       ("hebrew-biblical-tiro", "hebrew-biblical-sil", "yiddish-royal")
+       ("yiddish-keyman"): New input methods.
+
 2011-06-12  Andreas Schwab  <schwab@linux-m68k.org>
 
        * SKK-DIC/SKK-JISYO.L: Add proper coding tag.
index 8285320..7c7f6c6 100644 (file)
@@ -1,11 +1,14 @@
-;;; hebrew.el --- Quail package for inputting Hebrew characters  -*-coding: iso-2022-7bit;-*-
+;; hebrew.el --- Quail package for inputting Hebrew characters  -*-coding: iso-2022-7bit;-*-
 
 ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
 ;;   2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
-;; Keywords: mule, input method, Hebrew
+;; Many input methods in this file provided
+;; by Yair Friedman <yair.f.lists@gmail.com>
+
+;; Keywords: multilingual, input method, Hebrew
 
 ;; This file is part of GNU Emacs.
 
 (require 'quail)
 
 (quail-define-package
- "hebrew" "Hebrew" "\e,Hr\e(B" nil "Hebrew (ISO 8859-8) input method.
+ "hebrew" "Hebrew" "\e,Hr\e(B" nil "Hebrew SI-1452 input method.
 
-Based on Hebrew typewriter keys.
-Hebrew letters are assigned to lowercases.
+Based on SI-1452 keyboard layout.
+Only Hebrew-related characters are considered.
+ 'q' is used to switch levels instead of Alt-Gr.
+ Maqaaf (\e$,1,^\e(B) is mapped to '/\e,Ht\e(B'.
 " nil t t t t nil nil nil nil nil t)
 
-;;  1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) -_ =+ ;~
-;;   /Q 'W \e,Hw\e(BE \e,Hx\e(BR \e,H`\e(BT \e,Hh\e(BY \e,He\e(BU \e,Ho\e(BI \e,Hm\e(BO \e,Ht\e(BP [{ ]}
-;;    \e,Hy\e(BA \e,Hc\e(BS \e,Hb\e(BD \e,Hk\e(BF \e,Hr\e(BG \e,Hi\e(BH \e,Hg\e(BJ \e,Hl\e(BK \e,Hj\e(BL \e,Hs\e(B: ," \|
-;;     \e,Hf\e(BZ \e,Hq\e(BX \e,Ha\e(BC \e,Hd\e(BV \e,Hp\e(BB \e,Hn\e(BN \e,Hv\e(BM \e,Hz\e(B< \e,Hu\e(B> .?
-;;
-
 (quail-define-rules
  ("`" ?\;)
+ ("w" ?\')
+ ("e" ?\e,Hw\e(B)  ; Qof
+ ("r" ?\e,Hx\e(B)  ; Resh
+ ("t" ?\e,H`\e(B)  ; Alef
+ ("y" ?\e,Hh\e(B)  ; Tet
+ ("u" ?\e,He\e(B)  ; Vav
+ ("i" ?\e,Ho\e(B)  ; Final Nun
+ ("o" ?\e,Hm\e(B)  ; Final Mem
+ ("p" ?\e,Ht\e(B)  ; Pe
+ ("[" ?\])  ; mirroring
+ ("]" ?\[)  ; mirroring
+ ("a" ?\e,Hy\e(B)  ; Shin
+ ("s" ?\e,Hc\e(B)  ; Dalet
+ ("d" ?\e,Hb\e(B)  ; Gimel
+ ("f" ?\e,Hk\e(B)  ; Kaf
+ ("g" ?\e,Hr\e(B)  ; Ayin
+ ("h" ?\e,Hi\e(B)  ; Yod
+ ("j" ?\e,Hg\e(B)  ; Het
+ ("k" ?\e,Hl\e(B)  ; Lamed
+ ("l" ?\e,Hj\e(B)  ; Final Kaf
+ (";" ?\e,Hs\e(B)  ; Final Pe
+ ("'" ?,)
+ ("z" ?\e,Hf\e(B)  ; Zayin
+ ("x" ?\e,Hq\e(B)  ; Samekh
+ ("c" ?\e,Ha\e(B)  ; Bet
+ ("v" ?\e,Hd\e(B)  ; He
+ ("b" ?\e,Hp\e(B)  ; Nun
+ ("n" ?\e,Hn\e(B)  ; Mem
+ ("m" ?\e,Hv\e(B)  ; Tsadi
+ ("," ?\e,Hz\e(B)  ; Tav
+ ("." ?\e,Hu\e(B)  ; Final Tsadi
+ ("/" ?.)  ; Stop
+ ("(" ?\))  ; mirroring
+ (")" ?\()  ; mirroring
+ ("{" ?})  ; mirroring
+ ("}" ?{)  ; mirroring
+ ("<" ?>)  ; mirroring
+ (">" ?<)  ; mirroring
+ ("q`" ?\e$,1,P\e(B)  ; Sheva
+ ("q1" ?\e$,1,Q\e(B)  ; Hataf Segol
+ ("q2" ?\e$,1,R\e(B)  ; Hataf Patah
+ ("q3" ?\e$,1,S\e(B)  ; Hataf Qamats
+ ("q4" ?\e$,1,T\e(B)  ; Hiriq
+ ("q5" ?\e$,1,U\e(B)  ; Tsere
+ ("q6" ?\e$,1,V\e(B)  ; Segol (Point)
+ ("q7" ?\e$,1,W\e(B)  ; Patah
+ ("q8" ?\e$,1,X\e(B)  ; Qamats
+ ("q9" ?\e$,1,b\e(B)  ; Sin dot
+ ("q0" ?\e$,1,a\e(B)  ; Shin dot
+ ("q-" ?\e$,1,Y\e(B)  ; Holam
+ ("q=" ?\e$,1,\\e(B)  ; Dagesh or Mapiq
+ ("q\\" ?\e$,1,[\e(B)  ; Qubuts
+ ("qq" ?/)
+ ("qw" ?\e$,1-3\e(B)  ; Geresh (Punct.)
+ ("qi" ?\e$,1-0\e(B)  ; Yiddish Double Vav
+ ("qp" ?\e$,1,^\e(B)  ; Maqaf
+ ("q[" ?\e$,1,_\e(B)  ; Rafe
+ ("q]" ?\e$,1,]\e(B)  ; Meteg
+ ("qa" ?\e$,1tJ\e(B)  ; New Sheqel sign
+ ("qh" ?\e$,1-2\e(B)  ; Yiddish Double Yod
+ ("qj" ?\e$,1-1\e(B)  ; Yiddish Vav Yod
+ ("q\"" ?\e$,1-4\e(B)  ; Gershayim (Punct.)
+ ("q," ?\u200E)  ;  LRM
+ ("q." ?\u200F)  ;  RLM
+)
+
+(quail-define-package
+ "hebrew-new" "Hebrew" "\e,Hr\e(B" nil "Hebrew SI-1452 new draft input method.
+
+Based on latest draft of SI-1452 keyboard layout.
+Only Hebrew-related characters are considered.
+ '`' is used to switch levels instead of Alt-Gr.
+Geresh is mapped to '`k'.
+" nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
  ("q" ?/)
+ ("w" ?\')
+ ("e" ?\e,Hw\e(B)  ; Qof
+ ("r" ?\e,Hx\e(B)  ; Resh
+ ("t" ?\e,H`\e(B)  ; Alef
+ ("y" ?\e,Hh\e(B)  ; Tet
+ ("u" ?\e,He\e(B)  ; Vav
+ ("i" ?\e,Ho\e(B)  ; Final Nun
+ ("o" ?\e,Hm\e(B)  ; Final Mem
+ ("p" ?\e,Ht\e(B)  ; Pe
+ ("[" ?\])  ; mirroring
+ ("]" ?\[)  ; mirroring
+ ("a" ?\e,Hy\e(B)  ; Shin
+ ("s" ?\e,Hc\e(B)  ; Dalet
+ ("d" ?\e,Hb\e(B)  ; Gimel
+ ("f" ?\e,Hk\e(B)  ; Kaf
+ ("g" ?\e,Hr\e(B)  ; Ayin
+ ("h" ?\e,Hi\e(B)  ; Yod
+ ("j" ?\e,Hg\e(B)  ; Het
+ ("k" ?\e,Hl\e(B)  ; Lamed
+ ("l" ?\e,Hj\e(B)  ; Final Kaf
+ (";" ?\e,Hs\e(B)  ; Final Pe
+ ("'" ?,)
+ ("z" ?\e,Hf\e(B)  ; Zayin
+ ("x" ?\e,Hq\e(B)  ; Samekh
+ ("c" ?\e,Ha\e(B)  ; Bet
+ ("v" ?\e,Hd\e(B)  ; He
+ ("b" ?\e,Hp\e(B)  ; Nun
+ ("n" ?\e,Hn\e(B)  ; Mem
+ ("m" ?\e,Hv\e(B)  ; Tsadi
+ ("," ?\e,Hz\e(B)  ; Tav
+ ("." ?\e,Hu\e(B)  ; Final Tsadi
+ ("/" ?.)  ; Stop
+ ("(" ?\))  ; mirroring
+ (")" ?\()  ; mirroring
+ ("{" ?})  ; mirroring
+ ("}" ?{)  ; mirroring
+ ("<" ?>)  ; mirroring
+ (">" ?<)  ; mirroring
+
+ ("``" ?\;)
+ ("`1" ?\e$,1,]\e(B)  ; Meteg
+;("`2" ??)  ; Unassigned
+ ("`3" ?\e,F$\e(B)  ; Euro Sign
+ ("`4" ?\e$,1tJ\e(B)  ; New Sheqel sign
+ ("`5" ?\e,A0\e(B)  ; Degree Sign
+ ("`6" ?\e$,1,K\e(B)  ; Ole
+;("`7" ??)  ; Unassigned
+ ("`8" ?\e,AW\e(B)  ; Multiplication Sign
+ ("`9" ?\u200E)  ; LRM
+ ("`0" ?\u200F)  ; RLM
+ ("`-" ?\e$,1,^\e(B)  ; Maqaf
+ ("`=" ?\e$(G!9\e(B)  ; En Dash
+ ("`q" ?\e$,1,b\e(B)  ; Sin dot
+ ("`w" ?\e$,1,a\e(B)  ; Shin dot
+ ("`e" ?\e$,1,X\e(B)  ; Qamats
+ ("`r" ?\e$,1,S\e(B)  ; Hataf Qamats
+;("`t" ??)  ; Unassigned
+ ("`y" ?\e$,1-0\e(B)  ; Yiddish Double Vav
+ ("`u" ?\e$,1,Y\e(B)  ; Holam
+;("`i" ??)  ; Unassigned
+;("`o" ??)  ; Unassigned
+ ("`p" ?\e$,1,W\e(B)  ; Patah
+ ("`[" ?\e$,1,R\e(B)  ; Hataf Patah
+ ("`]" ?\e$,1,_\e(B)  ; Rafe
+ ("`\\" ?\e$,1,[\e(B)  ; Qubuts
+ ("`a" ?\e$,1,P\e(B)  ; Sheva
+ ("`s" ?\e$,1,\\e(B)  ; Dagesh or Mapiq
+;("`d" ??)  ; Unassigned
+;("`f" ??)  ; Unassigned
+ ("`g" ?\e$,1-1\e(B)  ; Yiddish Vav Yod
+ ("`h" ?\e$,1-2\e(B)  ; Yiddish Double Yod
+ ("`j" ?\e$,1,T\e(B)  ; Hiriq
+ ("`k" ?\e$,1-3\e(B)  ; Geresh (Punct.)
+ ("`l" ?\e,Y4\e(B)  ; Left Double Quotation Mark
+ ("`;" ?\e,Y!\e(B)  ; Right Double Quotation Mark
+ ("`'" ?\e$,1-4\e(B)  ; Gershayim (Punct.)
+;("`z" ??)  ; Unassigned
+ ("`x" ?\e$,1,V\e(B)  ; Segol (Point)
+ ("`c" ?\e$,1,Q\e(B)  ; Hataf Segol
+;("`v" ??)  ; Unassigned
+;("`b" ??)  ; Unassigned
+;("`n" ??)  ; Unassigned
+ ("`m" ?\e$,1,U\e(B)  ; Tsere
+;("`," ??)  ; Unassigned
+;("`." ??)  ; Unassigned
+ ("`/" ?\e,Aw\e(B)  ; Division Sign
+
+ ("``" ?\e$,1,c\e(B)  ; Sof Pasuq
+ ("`!" ?\e$,1,1\e(B)  ; Etnahta
+ ("`@" ?\e$,1,2\e(B)  ; Segol (Accent)
+ ("`#" ?\e$,1,3\e(B)  ; Shalshelet
+ ("`$" ?\e$,1,4\e(B)  ; Zaqef Qatan
+ ("`%" ?\e$,1,5\e(B)  ; Zaqef Gadol
+ ("`^" ?\e$,1,6\e(B)  ; Tipeha
+ ("`&" ?\e$,1,7\e(B)  ; Revia
+ ("`*" ?\e$,1,8\e(B)  ; Zarqa
+ ("`(" ?\e$,1,9\e(B)  ; Pashta
+ ("`)" ?\e$,1,:\e(B)  ; Yetiv
+ ("`_" ?\e$,1,;\e(B)  ; Tevir
+ ("`+" ?\e$,1,<\e(B)  ; Geresh (Accent)
+ ("`Q" ?\e$,1,=\e(B)  ; Geresh Muqdam
+ ("`W" ?\e$,1,>\e(B)  ; Gershayim (Accent)
+ ("`E" ?\e$,1,g\e(B)  ; Qamats Qatan
+ ("`R" ?\e$,1,?\e(B)  ; Qarney Para
+ ("`T" ?\e$,1,@\e(B)  ; Telisha Gedola
+ ("`Y" ?\e$,1,A\e(B)  ; Pazer
+ ("`U" ?\e$,1,Z\e(B)  ; Holam Haser for Vav
+ ("`I" ?\e$,1,B\e(B)  ; Atnah Hafukh
+ ("`O" ?\e$,1,C\e(B)  ; Munah
+;("`P" ??)  ; Reserved
+ ("`{" ?\e$,1,D\e(B)  ; Mahapakh
+ ("`}" ?\e$,1,E\e(B)  ; Merkha
+ ("`|" ?\e$,1,F\e(B)  ; Merkha Kefula
+;("`A" ??)  ; Reserved
+;("`S" ??)  ; Reserved
+ ("`D" ?\e$,1,G\e(B)  ; Darga
+ ("`F" ?\e$,1,H\e(B)  ; Qadma
+ ("`G" ?\e$,1,I\e(B)  ; Telisha Qetana
+ ("`H" ?\e$,1,J\e(B)  ; Yerah Ben Yomo
+ ("`J" ?\u200D)  ; ZWJ
+ ("`K" ?\e$,1,L\e(B)  ; Iluy
+ ("`L" ?\e,Y4\e(B)  ; Left Double Quotation Mark (2nd)
+ ("`:" ?\e,Y%\e(B)  ; Double Low-9 Quotation Mark
+ ("`\"" ?\e$,1,M\e(B)  ; Dehi
+ ("`Z" ?\e$,1,N\e(B)  ; Zinor
+ ("`X" ?\e$,1,O\e(B)  ; Masora Circle
+ ("`C" ?\u034F)  ; CGJ
+ ("`V" ?\e$,1,`\e(B)  ; Paseq
+ ("`B" ?\e$,1,f\e(B)  ; Nun Hafukha
+ ("`N" ?\u200C)  ; ZWNJ
+;("`M" ??)  ; Unassigned
+;("`<" ??)  ; Unassigned
+ ("`>" ?\e$,1,e\e(B)  ; Lower Dot
+ ("`?" ?\e$,1,d\e(B)  ; Upper Dot
+)
+
+(quail-define-package
+ "hebrew-lyx" "Hebrew" "\e,Hl\e$,1,T\e(B" nil "Hebrew LyX input method.
+
+Based on LyX keyboard layout.
+Additional mappings for Rafe and Yiddish ligatures.
+" nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("`" ?\;)
+ ("_" ?\e$,1,^\e(B)  ; Maqaf
+ ("q`" ?\e$,1,P\e(B)  ; Sheva
+ ("w" ?\')
+ ("e" ?\e,Hw\e(B)  ; Qof
+ ("r" ?\e,Hx\e(B)  ; Resh
+ ("t" ?\e,H`\e(B)  ; Alef
+ ("y" ?\e,Hh\e(B)  ; Tet
+ ("u" ?\e,He\e(B)  ; Vav
+ ("i" ?\e,Ho\e(B)  ; Final Nun
+ ("o" ?\e,Hm\e(B)  ; Final Mem
+ ("p" ?\e,Ht\e(B)  ; Pe
+ ("[" ?\])  ; mirroring
+ ("]" ?\[)  ; mirroring
+ ("a" ?\e,Hy\e(B)  ; Shin
+ ("s" ?\e,Hc\e(B)  ; Dalet
+ ("d" ?\e,Hb\e(B)  ; Gimel
+ ("f" ?\e,Hk\e(B)  ; Kaf
+ ("g" ?\e,Hr\e(B)  ; Ayin
+ ("h" ?\e,Hi\e(B)  ; Yod
+ ("j" ?\e,Hg\e(B)  ; Het
+ ("k" ?\e,Hl\e(B)  ; Lamed
+ ("l" ?\e,Hj\e(B)  ; Final Kaf
+ (";" ?\e,Hs\e(B)  ; Final Pe
+ ("'" ?,)
+ ("z" ?\e,Hf\e(B)  ; Zayin
+ ("x" ?\e,Hq\e(B)  ; Samekh
+ ("c" ?\e,Ha\e(B)  ; Bet
+ ("v" ?\e,Hd\e(B)  ; He
+ ("b" ?\e,Hp\e(B)  ; Nun
+ ("n" ?\e,Hn\e(B)  ; Mem
+ ("m" ?\e,Hv\e(B)  ; Tsadi
+ ("," ?\e,Hz\e(B)  ; Tav
+ ("." ?\e,Hu\e(B)  ; Final Tsadi
+ ("/" ?.)  ; Stop
+ ("(" ?\))  ; mirroring
+ (")" ?\()  ; mirroring
+ ("W" ?\e$,1-3\e(B)  ; Geresh (Punct.)
+ ("E" ?\e$,1,X\e(B)  ; Qamats
+ ("R" ?\e$,1,_\e(B)  ; Rafe
+ ("T" ?\u200E)  ; LRM
+ ("Y" ?\u200F)  ; RLM
+ ("U" ?\e$,1,Y\e(B)  ; Holam
+ ("I" ?\e$,1-2\e(B)  ; Yiddish Double Yod
+ ("O" ?\e$,1-0\e(B)  ; Yiddish Double Vav
+ ("P" ?\e$,1,W\e(B)  ; Patah
+ ("{" ?})  ; mirroring
+ ("}" ?{)  ; mirroring
+ ("A" ?\e$,1,P\e(B)  ; Sheva
+ ("S" ?\e$,1,\\e(B)  ; Dagesh or Mapiq
+ ("F"  ?\e$,1-4\e(B)  ; Gershayim (Punct.)
+ ("G" ?\e$,1,b\e(B)  ; Sin dot
+ ("H" ?\e$,1,a\e(B)  ; Shin dot
+ ("J" ?\e$,1,T\e(B)  ; Hiriq
+ ("K" ?\e$,1tJ\e(B)  ; New Sheqel sign
+ ("L" ?\e$,1-1\e(B)  ; Yiddish Vav Yod
+ ("X" ?\e$,1,V\e(B)  ; Segol (Point)
+ ("C" ?\e$,1,[\e(B)  ; Qubuts
+ ("V" ?\e$,1,Q\e(B)  ; Hataf Segol
+ ("B" ?\e$,1,R\e(B)  ; Hataf Patah
+ ("N" ?\e$,1,S\e(B)  ; Hataf Qamats
+ ("M" ?\e$,1,U\e(B)  ; Tsere
+ ("<" ?>)  ; mirroring
+ (">" ?<)  ; mirroring
+)
+
+
+(quail-define-package
+ "hebrew-full" "Hebrew" "\e,Hr\e$,1,T,K\e(B" nil "Hebrew Full method.
+
+Provides access to all Hebrew characters suiltable to Modern Hebrew.
+" nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("`" ?\;)
+ ("-" ?\e$,1,^\e(B)  ; Maqaf
  ("w" ?')
- ("e" ?\e,Hw\e(B)
- ("r" ?\e,Hx\e(B)
- ("t" ?\e,H`\e(B)
- ("y" ?\e,Hh\e(B)
- ("u" ?\e,He\e(B)
- ("i" ?\e,Ho\e(B)
- ("o" ?\e,Hm\e(B)
- ("p" ?\e,Ht\e(B)
- ("a" ?\e,Hy\e(B)
- ("s" ?\e,Hc\e(B)
- ("d" ?\e,Hb\e(B)
- ("f" ?\e,Hk\e(B)
- ("g" ?\e,Hr\e(B)
- ("h" ?\e,Hi\e(B)
- ("j" ?\e,Hg\e(B)
- ("k" ?\e,Hl\e(B)
- ("l" ?\e,Hj\e(B)
- (";" ?\e,Hs\e(B)
- ("z" ?\e,Hf\e(B)
- ("x" ?\e,Hq\e(B)
- ("c" ?\e,Ha\e(B)
- ("v" ?\e,Hd\e(B)
- ("b" ?\e,Hp\e(B)
- ("n" ?\e,Hn\e(B)
- ("m" ?\e,Hv\e(B)
- ("," ?\e,Hz\e(B)
- ("." ?\e,Hu\e(B)
+ ("e" ?\e,Hw\e(B)  ; Qof
+ ("r" ?\e,Hx\e(B)  ; Resh
+ ("t" ?\e,H`\e(B)  ; Alef
+ ("y" ?\e,Hh\e(B)  ; Tet
+ ("u" ?\e,He\e(B)  ; Vav
+ ("i" ?\e,Ho\e(B)  ; Final Nun
+ ("o" ?\e,Hm\e(B)  ; Final Mem
+ ("p" ?\e,Ht\e(B)  ; Pe
+ ("[" ?\])  ; mirroring
+ ("]" ?\[)  ; mirroring
+ ("a" ?\e,Hy\e(B)  ; Shin
+ ("s" ?\e,Hc\e(B)  ; Dalet
+ ("d" ?\e,Hb\e(B)  ; Gimel
+ ("f" ?\e,Hk\e(B)  ; Kaf
+ ("g" ?\e,Hr\e(B)  ; Ayin
+ ("h" ?\e,Hi\e(B)  ; Yod
+ ("j" ?\e,Hg\e(B)  ; Het
+ ("k" ?\e,Hl\e(B)  ; Lamed
+ ("l" ?\e,Hj\e(B)  ; Final Kaf
+ (";" ?\e,Hs\e(B)  ; Final Pe
+ ("'" ?,)
+ ("z" ?\e,Hf\e(B)  ; Zayin
+ ("x" ?\e,Hq\e(B)  ; Samekh
+ ("c" ?\e,Ha\e(B)  ; Bet
+ ("v" ?\e,Hd\e(B)  ; He
+ ("b" ?\e,Hp\e(B)  ; Nun
+ ("n" ?\e,Hn\e(B)  ; Mem
+ ("m" ?\e,Hv\e(B)  ; Tsadi
+ ("," ?\e,Hz\e(B)  ; Tav
+ ("." ?\e,Hu\e(B)  ; Final Tsadi
  ("/" ?.)
- ("'" ?,))
+
+ ("(" ?\))  ; mirroring
+ (")" ?\()  ; mirroring
+ ("Q" ?/)
+ ("W" ?\e$,1-3\e(B)  ; Geresh (Punct.)
+ ("E" ?\e$,1tJ\e(B)  ; New Sheqel Sign
+ ("R" ?\e$,1,_\e(B)  ; Rafe
+ ("T" ?\e$,1,Q\e(B)  ; Hataf Segol
+ ("Y" ?\e$,1-1\e(B)  ; Yiddish Vav Yod
+ ("U" ?\e$,1-0\e(B)  ; Yiddish Double Vav
+ ("I" ?\e$,1,R\e(B)  ; Hataf Patah
+ ("O" ?\e$,1,S\e(B)  ; Hataf Qamats
+ ("P" ?\e$,1-4\e(B)  ; Gershayim (Punct.)
+ ("{" ?})  ; mirroring
+ ("}" ?{)  ; mirroring
+ ("A" ?\e$,1,P\e(B)  ; Sheva
+ ("S" ?\e$,1,\\e(B)  ; Dagesh or Mapiq
+ ("D" ?\e$,1,[\e(B)  ; Qubuts
+ ("F" ?\e$,1,Y\e(B)  ; Holam
+ ("G" ?\e$,1,V\e(B)  ; Segol (Point)
+ ("H" ?\e$,1,U\e(B)  ; Tsere
+ ("J" ?\e$,1,T\e(B)  ; Hiriq
+ ("K" ?\e$,1,W\e(B)  ; Patah
+ ("L" ?\e$,1,X\e(B)  ; Qamats
+ ("Z" ?\e$,1,b\e(B)  ; Sin Dot
+ ("X" ?\e$,1,a\e(B)  ; Shin Dot
+ ("C" ?\e$,1,K\e(B)  ; Ole
+ ("V" ?\e$,1-2\e(B)  ; Yiddish Double Yod
+ ("B" ?\e$,1,c\e(B)  ; Sof Pasuq
+ ("N" ?\u200E)  ; LRM
+ ("M" ?\u200F)  ; RLM
+ ("<" ?>)  ; mirroring
+ (">" ?<)  ; mirroring
+
+ ("q`" ?\u202D)  ; LRO
+ ("q1" ?\u202E)  ; RLO
+ ("q2" ?\u202A)  ; LRE
+ ("q3" ?\u202B)  ; RLE
+ ("q4" ?\u202C)  ; PDF
+ ("q5" ?\u034F)  ; CGJ
+ ("q6" ?\e$,1,L\e(B)  ; Iluy
+ ("q8" ?\e$,1,M\e(B)  ; Dehi
+ ("q9" ?\e$,1,g\e(B)  ; Qamats Qatan
+ ("q0" ?\e$,1,=\e(B)  ; Geresh Muqdam
+ ("q-" ?-)  ; Minus
+ ("q=" ?\e$,1,N\e(B)  ; Zinor
+ ("q|" ?\e$,1,`\e(B)  ; Paseq
+ ("qw" ?\e$,1,O\e(B)  ; Masora Circle
+ ("qe" ?\e$,1,d\e(B)  ; Upper Dot
+ ("qr" ?\e$,1,e\e(B)  ; Lower Dot
+ ("qy" ?\e$,1,?\e(B)  ; Qarney Para
+ ("qu" ?\e$,1,3\e(B)  ; Shalshelet
+ ("qi" ?\e$,1,>\e(B)  ; Gershayim (Accent)
+ ("qo" ?\e$,1,<\e(B)  ; Geresh (Accent)
+ ("qp" ?\e$,1,H\e(B)  ; Qadma
+ ("q[" ?\e$,1,f\e(B)  ; Nun Hafukha
+ ("qa" ?\e$,1,Z\e(B)  ; Holam Haser for Vav
+ ("qs" ?\e$,1,I\e(B)  ; Telisha Qetana
+ ("qd" ?\e$,1,@\e(B)  ; Telisha Gedola
+ ("qf" ?\e$,1,A\e(B)  ; Pazer
+ ("qg" ?\e$,1,5\e(B)  ; Zaqef Gadol
+ ("qh" ?\e$,1,4\e(B)  ; Zaqef Qatan
+ ("qj" ?\e$,1,9\e(B)  ; Pashta
+ ("qk" ?\e$,1,D\e(B)  ; Mahapakh
+ ("ql" ?\e$,1,7\e(B)  ; Revia
+ ("q;" ?\e$,1,2\e(B)  ; Segol (Accent)
+ ("q'" ?\e$,1,8\e(B)  ; Zarqa
+ ("qz" ?\e$,1,J\e(B)  ; Yerah Ben Yomo
+ ("qx" ?\e$,1,F\e(B)  ; Merkha Kefula
+ ("qc" ?\e$,1,:\e(B)  ; Yetiv
+ ("qv" ?\e$,1,;\e(B)  ; Tevir
+ ("qb" ?\e$,1,G\e(B)  ; Darga
+ ("qn" ?\e$,1,1\e(B)  ; Etnahta
+ ("qm" ?\e$,1,C\e(B)  ; Munah
+ ("q," ?\e$,1,6\e(B)  ; Tipeha
+ ("q." ?\e$,1,E\e(B)  ; Merkha
+ ("q/" ?\e$,1,]\e(B)  ; Meteg
+)
+
+
+(quail-define-package
+ "hebrew-biblical-tiro" "Hebrew" "\e,Hz\e$,1,T\e,Hx\e$,1,Y\e(B" nil
+"Biblical Hebrew Tiro input method.
+
+Based on Society of Biblical Literature's Tiro keyboard layout.
+Not suiltable for modern Hebrew input.
+ 'q' is used to switch levels instead of Alt-Gr.
+ Combining dot above (Called Masora dot) (\e$,1%G\e(B) is mapped to 'q1'.
+" nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("`" ?\e$,1,c\e(B)  ; Sof Pasuq
+ ("-" ?\e$,1,^\e(B)  ; Maqaf
+ ("=" ?\e$(O#?\e(B)  ; White Bullet
+ ("w" ?\e$,1-3\e(B)  ; Geresh (Punct.)
+ ("e" ?\e,Hw\e(B)  ; Qof
+ ("r" ?\e,Hx\e(B)  ; Resh
+ ("t" ?\e,H`\e(B)  ; Alef
+ ("y" ?\e,Hh\e(B)  ; Tet
+ ("u" ?\e,He\e(B)  ; Vav
+ ("i" ?\e,Ho\e(B)  ; Final Nun
+ ("o" ?\e,Hm\e(B)  ; Final Mem
+ ("p" ?\e,Ht\e(B)  ; Pe
+ ("[" ?\])  ; mirroring
+ ("]" ?\[)  ; mirroring
+ ("\\" ?\e$,1,`\e(B)  ; Paseq
+ ("a" ?\e,Hy\e(B)  ; Shin
+ ("s" ?\e,Hc\e(B)  ; Dalet
+ ("d" ?\e,Hb\e(B)  ; Gimel
+ ("f" ?\e,Hk\e(B)  ; Kaf
+ ("g" ?\e,Hr\e(B)  ; Ayin
+ ("h" ?\e,Hi\e(B)  ; Yod
+ ("j" ?\e,Hg\e(B)  ; Het
+ ("k" ?\e,Hl\e(B)  ; Lamed
+ ("l" ?\e,Hj\e(B)  ; Final Kaf
+ (";" ?\e,Hs\e(B)  ; Final Pe
+ ("'" ?\e$,1,:\e(B)  ; Yetiv
+ ("z" ?\e,Hf\e(B)  ; Zayin
+ ("x" ?\e,Hq\e(B)  ; Samekh
+ ("c" ?\e,Ha\e(B)  ; Bet
+ ("v" ?\e,Hd\e(B)  ; He
+ ("b" ?\e,Hp\e(B)  ; Nun
+ ("n" ?\e,Hn\e(B)  ; Mem
+ ("m" ?\e,Hv\e(B)  ; Tsadi
+ ("," ?\e,Hz\e(B)  ; Tav
+ ("." ?\e,Hu\e(B)  ; Final Tsadi
+ ("/" ?\e$,1,M\e(B)  ; Dehi
+ ("~" ?\e$,1,N\e(B)  ; Zinor
+ ("!" ?\e$,1,I\e(B)  ; Telisha Qetana
+ ("@" ?\e$,1,9\e(B)  ; Pashta
+ ("#" ?\e$,1,2\e(B)  ; Segol (Accent)
+ ("$" ?\e$,1,O\e(B)  ; Masora circle
+ ("%" ?\e$,1,Z\e(B)  ; Holam Haser for Vav
+ ("^" ?\e$,1,Y\e(B)  ; Holam
+ ("&" ?\e$,1,_\e(B)  ; Rafe
+ ("*" ?\e$,1,b\e(B)  ; Sin dot
+ ("(" ?\e$,1,a\e(B)  ; Shin dot
+ (")" ?\e$,1,=\e(B)  ; Geresh Muqdam
+ ("_" ?\e$,1,@\e(B)  ; Telisha Gedola
+ ("+" ?\e$,1,\\e(B)  ; Dagesh or Mapiq
+ ("Q" ?\e$,1,d\e(B)  ; Upper dot
+ ("W" ?\e$,1,L\e(B)  ; Iluy
+ ("E" ?\e$,1,K\e(B)  ; Ole
+ ("R" ?\e$,1,?\e(B)  ; Qarney Para
+ ("T" ?\e$,1,3\e(B)  ; Shalshelet
+ ("Y" ?\e$,1,>\e(B)  ; Gershayim (Accent)
+ ("U" ?\e$,1,<\e(B)  ; Geresh (Accent)
+ ("I" ?\e$,1,A\e(B)  ; Pazer
+ ("O" ?\e$,1,5\e(B)  ; Zaqef Gadol
+ ("P" ?\e$,1,4\e(B)  ; Zaqef Qatan
+ ("{" ?\e$,1,7\e(B)  ; Revia
+ ("}" ?\e$,1,8\e(B)  ; Zarqa
+ ("|" ?\e$,1,H\e(B)  ; Qadma
+ ("A" ?\e$,1,]\e(B)  ; Meteg
+ ("S" ?\e$,1,P\e(B)  ; Sheva
+ ("D" ?\e$,1,[\e(B)  ; Qubuts
+ ("F" ?\e$,1,T\e(B)  ; Hiriq
+ ("G" ?\e$,1,Q\e(B)  ; Hataf Segol
+ ("H" ?\e$,1,V\e(B)  ; Segol (Point)
+ ("J" ?\e$,1,U\e(B)  ; Tsere
+ ("K" ?\e$,1,S\e(B)  ; Hataf Qamats
+ ("L" ?\e$,1,X\e(B)  ; Qamats
+ (":" ?\e$,1,R\e(B)  ; Hataf Patah
+ ("\"" ?\e$,1,W\e(B)  ; Patah
+ ("Z" ?\e$,1,e\e(B)  ; Lower dot
+ ("X" ?\e$,1,D\e(B)  ; Mahapakh
+ ("C" ?\e$,1,J\e(B)  ; Yerah Ben Yomo
+ ("V" ?\e$,1,F\e(B)  ; Merkha Kefula
+ ("B" ?\e$,1,E\e(B)  ; Merkha
+ ("N" ?\e$,1,G\e(B)  ; Darga
+ ("M" ?\e$,1,;\e(B)  ; Tevir
+ ("<" ?\e$,1,1\e(B)  ; Etnahta
+ (">" ?\e$,1,6\e(B)  ; Tipeha
+ ("?" ?\e$,1,C\e(B)  ; Munah
+
+ ("q`" ?\;)
+ ("q1" ?\u0307)  ; Combining dot above
+ ("q2" ?\u0336)  ; Combining long stroke overlay
+ ("q3" ?\u030A)  ; Combining ring above
+ ("q4" ?\e$,1tJ\e(B)  ; New Sheqel Sign
+ ("q5" ?\u200D)  ; ZWJ
+ ("q6" ?\u200C)  ; ZWNJ
+ ("q7" ?\u034F)  ; CGJ
+ ("q8" ?\u200E)  ; LRM
+ ("q9" ?\u200F)  ; RLM
+ ("q0" ?\e$,2",\e(B)  ; Dotted Circle
+ ("q-" ?-)  ; Minus
+ ("q=" ?\e$(O#@\e(B)  ; Bullet
+ ("qq" ?\u0308)  ; Combining Diaeresis
+ ("qw" ?\e$,1-4\e(B)  ; Gershayim (Punct.)
+ ("qe" ?\e,F$\e(B)  ; Euro Sign
+ ("qu" ?\e$,1-0\e(B)  ; Yiddish Double Vav
+ ("q\\" ?\\)
+ ("qh" ?\e$,1-2\e(B)  ; Yiddish Double Yod
+ ("qj" ?\e$,1-1\e(B)  ; Yiddish Vav Yod
+ ("ql" ?\e$,1,g\e(B)  ; Qamats Qatan
+ ("q'" ?,)
+ ("qc" ?\e$,1,B\e(B)  ; Atnah Hafukh
+ ("qb" ?\e$,1,f\e(B)  ; Nun Hafukha
+ ("q/" ?.)
+
+ ("q~" ?~)
+ ("q!" ?!)
+ ("q@" ?@)
+ ("q#" ?#)
+ ("q$" ?$)
+ ("q%" ?%)
+ ("q^" ?^)
+ ("q&" ?&)
+ ("q*" ?*)
+ ("q(" ?\))  ; mirroring
+ ("q)" ?\()  ; mirroring
+ ("q_" ?_)
+ ("q+" ?+)
+ ("qQ" ?/)
+ ("qW" ?')
+ ("q{" ?})  ; mirroring
+ ("q}" ?{)  ; mirroring
+ ("q|" ?|)
+ ("q:" ?:)
+ ("q\"" ?\")
+ ("q<" ?>)
+ ("q>" ?<)
+ ("q?" ??)
+)
+
+(quail-define-package
+ "hebrew-biblical-sil" "Hebrew" "\e,Hq\e$,1,T\e,Hl\e(B" nil
+"Biblical Hebrew SIL input method.
+
+Based on Society of Biblical Literature's SIL keyboard layout.
+Phonetic and not suiltable for modern Hebrew input.
+ '`' is used to switch levels instead of Alt-Gr.
+ Euro Sign (\e,F$\e(B) is mapped to 'Z'.
+" nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("-" ?\e$,1,^\e(B)  ; Maqaf
+ ("=" ?\e$,1,\\e(B)  ; Dagesh or Mapiq
+ ("q" ?\e,Hw\e(B)  ; Qof
+ ("w" ?\e,He\e(B)  ; Vav
+ ("e" ?\e$,1,V\e(B)  ; Segol (Point)
+ ("r" ?\e,Hx\e(B)  ; Resh
+ ("t" ?\e,Hz\e(B)  ; Tav
+ ("y" ?\e,Hi\e(B)  ; Yod
+ ("u" ?\e$,1,[\e(B)  ; Qubuts
+ ("i" ?\e$,1,T\e(B)  ; Hiriq
+ ("o" ?\e$,1,Y\e(B)  ; Holam
+ ("p" ?\e,Ht\e(B)  ; Pe
+ ("[" ?\])  ; mirroring
+ ("]" ?\[)  ; mirroring
+ ("\\" ?\e$,1,`\e(B)  ; Paseq
+ ("a" ?\e$,1,W\e(B)  ; Patah
+ ("s" ?\e,Hq\e(B)  ; Samekh
+ ("d" ?\e,Hc\e(B)  ; Dalet
+ ("f" [ "\e,Hy\e$,1,b\e(B" ])  ; Shin + Sin dot
+ ("g" ?\e,Hb\e(B)  ; Gimel
+ ("h" ?\e,Hd\e(B)  ; He
+ ("j" [ "\e,Hy\e$,1,a\e(B" ])  ; Shin + Shin dot
+ ("k" ?\e,Hk\e(B)  ; Kaf
+ ("l" ?\e,Hl\e(B)  ; Lamed
+ (";" ?\e$,1,P\e(B)  ; Sheva
+ ("'" ?\e,F"\e(B)  ; Right Single Quotation Mark
+ ("z" ?\e,Hf\e(B)  ; Zayin
+ ("x" ?\e,Hg\e(B)  ; Het
+ ("c" ?\e,Hv\e(B)  ; Tsadi
+ ("v" ?\e,Hh\e(B)  ; Tet
+ ("b" ?\e,Ha\e(B)  ; Bet
+ ("n" ?\e,Hp\e(B)  ; Nun
+ ("m" ?\e,Hn\e(B)  ; Mem
+
+ ("~" ?\e$,1tJ\e(B)  ; New Sheqel Sign
+ ("@" ?\e$,1,8\e(B)  ; Zarqa
+ ("#" ?\e$,1,H\e(B)  ; Qadma
+ ("$" ?\e$,1,<\e(B)  ; Geresh (Accent)
+ ("%" ?\e$,1,>\e(B)  ; Gershayim (Accent)
+ ("&" ?\e$,1,L\e(B)  ; Iluy
+ ("*" ?\e$,1,=\e(B)  ; Geresh Muqdam
+ ("(" ?\))  ; mirroring
+ (")" ?\()  ; mirroring
+ ("_" ?\e$(G!9\e(B)  ; Em Dash
+ ("Q" ?\e$,1,7\e(B)  ; Revia
+ ("E" ?\e$,1,U\e(B)  ; Tsere
+ ("Y" ?\e$,1,?\e(B)  ; Qarney Para
+ ("O" ?\e$,1,Z\e(B)  ; Holam Haser for Vav
+ ("P" ?\e,Hs\e(B)  ; Final Pe
+ ("{" ?})  ; mirroring
+ ("}" ?{)  ; mirroring
+
+ ("A" ?\e$,1,X\e(B)  ; Qamats
+ ("S" ?\e,Hy\e(B)  ; Shin
+ ("K" ?\e,Hj\e(B)  ; Final Kaf
+ (":" ?\e$,1-4\e(B)  ; Gershayim (Punct.)
+ ("\"" ?\e,Y!\e(B)  ; Right Double Quotation Mark
+ ("Z" ?\e,F$\e(B)  ; Euro Sign
+ ("C" ?\e,Hu\e(B)  ; Final Tsadi
+ ("N" ?\e,Ho\e(B)  ; Final Nun
+ ("M" ?\e,Hm\e(B)  ; Final Mem
+ ("<" ?\e,Hr\e(B)  ; Ayin
+ (">" ?\e,H`\e(B)  ; Alef
+
+ ("``" ?$)
+ ("`1" ?\e$,1,]\e(B)  ; Meteg
+ ("`2" ?\e$,1,B\e(B)  ; Atnah Hafukh
+ ("`3" ?\e$,1,6\e(B)  ; Tipeha
+ ("`4" ?\e$,1,E\e(B)  ; Merkha
+ ("`5" ?\e$,1,F\e(B)  ; Merkha Kefula
+ ("`6" ?\e$,1,M\e(B)  ; Dehi
+ ("`7" ?\e$,1,C\e(B)  ; Munah
+ ("`8" ?\e$,1,;\e(B)  ; Tevir
+ ("`9" ?\e$,1,G\e(B)  ; Darga
+ ("`0" ?\e$,1,J\e(B)  ; Yerah Ben Yomo
+ ("`-" ?\e$(G!7\e(B)  ; Em Dash
+ ("`=" ?\e$,1,1\e(B)  ; Etnahta
+ ("`]" ?\e$,1,:\e(B)  ; Accent Yetiv
+ ("`\\" ?\e$,1,D\e(B)  ; Mahapakh
+ ("`a" ?\e$,1,g\e(B)  ; Qamats Qatan
+ ("`g" ? \e$(O#?\e(B)  ; White Bullet
+ ("`h" ?\u0336)  ; Combining Long Stroke Overlay
+ ("`;" ?\;)
+ ("`'" ?\u0323); Combining Dot Below (Lower Point??)
+ ("`m" ?\u200C)  ; ZWNJ
+ ("`," ?\e,A;\e(B)  ; mirroring
+ ("`." ?\e,A+\e(B)  ; mirroring
+ ("`/" ?\e$,1-3\e(B)  ; Geresh (Punct.)
+
+ ("`!" ?\e$,1,7\e(B)  ; Revia
+ ("`@" ?\e$,1,N\e(B)  ; Zinor
+ ("`#" ?\e$,1,9\e(B)  ; Pashta
+ ("`$" ?\e$,1,@\e(B)  ; Telisha Gedola
+ ("`%" ?\e$,1,I\e(B)  ; Telisha Qetana
+ ("`&" ?\e$,1,A\e(B)  ; Pazer
+ ("`*" ?\e$,1,5\e(B)  ; Zaqef Gadol
+ ("`(" ?\e$,1,3\e(B)  ; Shalshelet
+ ("`)" ?\e$,1,O\e(B)  ; Masora Circle
+ ("`_" ?\e$,1,_\e(B)  ; Rafe
+ ("`+" ?\e$,2",\e(B)  ; Dotted Circle
+ ("`E" ?\e$,1,Q\e(B)  ; Hataf Segol
+ ("`O" ?\e$,1,S\e(B)  ; Hataf Qamats
+ ("`P" ?\u034F)  ; CGJ
+ ("`{" ?\e$,1,4\e(B)  ; Zaqef Qatan
+ ("`}" ?\e$,1,2\e(B)  ; Segol (Accent)
+ ("`|" ?\e$,1,K\e(B)  ; Ole
+ ("`A" ?\e$,1,R\e(B)  ; Hataf Patah
+ ("`G" ?\e$(O#@\e(B)  ; Bullet
+ ("`H" ?\u030A)  ; Combining ring above
+ ("`:" ?\e$,1,c\e(B)  ; Sof Pasuq
+ ("`\"" ?\e$,1,d\e(B)  ; Upper Dot
+ ("`M" ?\u200D)  ; ZWJ
+ ("`<" ?\u0307)  ; Combining dot above
+ ("`>" ?\u0308)  ; Combining Diaeresis
+)
+
+
+(quail-define-package
+ "yiddish-royal" "Hebrew" "\e$,1-2\e,Hx\e(B" nil "Yiddish Royal input method.
+
+Based on Royal Yiddish typewriter.
+Better for yiddish than Hebrew methods.
+" nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("`" ?~)
+ ("q" ?\e,Hw\e(B)  ; Qof
+ ("w" [ "\e,H`\e$,1,X\e(B" ])  ; Qamats Alef (Komets Alef)
+ ("e" ?\e,Hx\e(B)  ; Resh
+ ("r" ?\e,H`\e(B)  ; Alef (Shtumer Alef)
+ ("t" ?\e,Hh\e(B)  ; Tet
+ ("y" ?\e$,1-0\e(B)  ; Yiddish Double Vav (Tsvey Vovn)
+ ("u" ?\e,He\e(B)  ; Vav
+ ("i" ?\e,Ho\e(B)  ; Final Nun
+ ("o" ?\e,Hm\e(B)  ; Final Mem
+ ("p" [ "\e,Ht\e$,1,_\e(B" ])  ; Rafe Pe (Fey)
+ ("[" [ "\e,Ht\e$,1,\\e(B" ])  ; Dagesh Pe (Pey)
+ ("]" ?,)
+ ("a" ?\e,Hy\e(B)  ; Shin
+ ("s" ?\e,Hc\e(B)  ; Dalet
+ ("d" ?\e,Hb\e(B)  ; Gimel
+ ("f" ?\e,Hk\e(B)  ; Kaf
+ ("g" ?\e,Hr\e(B)  ; Ayin
+ ("h" ?\e$,1-2\e(B)  ; Yiddish Double Yod (Tsvey Yudn)
+ ("j" ?\e,Hi\e(B)  ; Yod
+ ("k" ?\e,Hg\e(B)  ; Het
+ ("l" ?\e,Hl\e(B)  ; Lamed
+ (";" ?\e,Hj\e(B)  ; Final Kaf
+ ("'" ?\e,Hs\e(B)  ; Final Pe
+ ("z" ?.)
+ ("x" ?\e,Hf\e(B)  ; Zayin
+ ("c" ?\e,Hq\e(B)  ; Samekh
+ ("v" ?\e,Ha\e(B)  ; Bet
+ ("b" ?\e,Hd\e(B)  ; He
+ ("n" ?\e,Hp\e(B)  ; Nun
+ ("m" ?\e,Hn\e(B)  ; Mem
+ ("," ?\e,Hv\e(B)  ; Tsadi
+ ("." ?\e,Hz\e(B)  ; Tav
+ ("/" ?\e,Hu\e(B)  ; Final Tsadi
+
+ ("~" ?@)
+ ("!" ?\e,Y!\e(B)  ; Right Double Quotation Mark
+ ("@" ?\e,Y%\e(B)  ; Double Low-9 Quotation Mark
+ ("(" ?\))  ; mirroring
+ (")" ?\()  ; mirroring
+ ("Q" ?\e,A=\e(B)  ; Right Double Quotation Mark
+ ("W" ?\e,A<\e(B)
+ ("E" ?\e,A>\e(B)  ; Yiddish Double Yod (x2)
+ ("R" [ "\e,H`\e$,1,W\e(B" ])  ; Patah Alef (Pasekh Alef)
+; ("T" "")
+ ("Y" ?\e$,1-1\e(B)  ; Ligature Yiddish Vav Yod (vov yud)
+ ("U" [ "\e,He\e$,1,\\e(B" ])  ; Melupm vov
+ ("I" ?/)
+ ("O" ?\\)
+ ("P" ?\e,Ht\e(B)  ; Pe
+ ("{" ??)
+ ("}" ?!)
+ ("A" [ "\e,Hy\e$,1,b\e(B" ])  ; Shin + Sin dot
+ ("S" [ "\e,Hy\e$,1,b\e(B" ])  ; Shin + Sin dot
+; ("D" "")
+ ("F" [ "\e,Hk\e$,1,\\e(B" ])  ; Dagesh Kaf (Kof)
+; ("G" "")
+ ("H" [ "\e$,1-2,W\e(B" ])  ; Yiddish Double Yod + Patah (Pasekh Tsvey Yudn)
+ ("J" [ "\e,Hi\e$,1,T\e(B" ])  ; Khirik Yud
+ ("K" ?})  ; mirroring
+ ("L" ?{)  ; mirroring
+ ("\"" ?\;)
+ ("Z" ??)
+ ("X" ?|)
+ ("C"  [ "\e,Ha\e$,1,\\e(B" ])  ; Dagesh Bet (Beys)
+ ("V" [ "\e,Ha\e$,1,_\e(B" ])  ; Rafe Bet (Veys)
+ ("B" ?\])  ; mirroring
+ ("N" ?\[)  ; mirroring
+ ("M" ?>)  ; mirroring
+ ("<" ?<)  ; mirroring
+ (">" [ "\e,Hz\e$,1,\\e(B" ])  ; Dagesh Tav (Tof)
+ ("?" ?\')
+)
+
+
+(quail-define-package
+ "yiddish-keyman" "Hebrew" "\e$,1-2\e,Hw\e(B" nil "Yiddish Keyman input method.
+
+Based on Keyman keyboard layout.
+Better for yiddish than Hebrew methods..
+" nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("`" ?\;)
+ ("q" ?\e,Y%\e(B)  ; Double Low-9 Quotation Mark
+ ("w" ?\e,Hy\e(B)  ; Shin
+ ("e" ?\e,Hr\e(B)  ; Ayin
+ ("r" ?\e,Hx\e(B)  ; Resh
+ ("t" ?\e,Hh\e(B)  ; Tet
+ ("y" ?\e,Hi\e(B)  ; Yod
+ ("u" ?\e,He\e(B)  ; Vav
+ ("i" ?\e,Hi\e(B)  ; Yod (x2)
+ ("o" [ "\e,H`\e$,1,X\e(B" ])  ; Qamats Alef (Komets Alef)
+ ("p" [ "\e,Ht\e$,1,\\e(B" ])  ; Dagesh Pe (Pey)
+ ("[" ?\])  ; mirroring
+ ("]" ?\[)  ; mirroring
+ ("a"  [ "\e,H`\e$,1,W\e(B" ])  ; Patah Alef (Pasekh Alef)
+ ("s" ?\e,Hq\e(B)  ; Samekh
+ ("d" ?\e,Hc\e(B)  ; Dalet
+ ("f" [ "\e,Ht\e$,1,_\e(B" ])  ; Rafe Pe (Fey)
+ ("g" ?\e,Hb\e(B)  ; Gimel
+ ("h" ?\e,Hd\e(B)  ; He
+ ("j" ?\e$,1-2\e(B)  ; Yiddish Double Yod (Tsvey Yudn)
+ ("k" ?\e,Hw\e(B)  ; Qof
+ ("l" ?\e,Hl\e(B)  ; Lamed
+ ("z" ?\e,Hf\e(B)  ; Zayin
+ ("x" ?\e,Hk\e(B)  ; Kaf
+ ("c" ?\e,Hv\e(B)  ; Tsadi
+ ("v" ?\e$,1-0\e(B)  ; Yiddish Double Vav (Tsvey Vovn)
+ ("b" ?\e,Ha\e(B)  ; Bet
+ ("n" ?\e,Hp\e(B)  ; Nun
+ ("m" ?\e,Hn\e(B)  ; Mem
+
+ ("(" ?\))  ; mirroring
+ (")" ?\()  ; mirroring
+ ("Q" ?\e,Y!\e(B)  ; Right Double Quotation Mark
+ ("W" [ "\e,Hy\e$,1,b\e(B" ])  ; Shin + Sin dot
+ ("E" ?\e$,1-2\e(B)  ; Yiddish Double Yod (x2)
+; ("R" "")  ;
+ ("T" [ "\e,Hz\e$,1,\\e(B" ])  ; Dagesh Tav (Tof)
+ ("Y" [ "\e$,1-2,W\e(B" ])  ; Yiddish Double Yod + Patah (Pasekh Tsvey Yudn)
+ ("U" [ "\e,He\e$,1,\\e(B" ])  ; Melupm vov
+ ("I" [ "\e,Hi\e$,1,T\e(B" ])  ; Khirik Yud
+ ("O" ?\e$,1-1\e(B)  ; Ligature Yiddish Vav Yod (vov yud)
+; ("P" "")
+ ("{" ?})  ; mirroring
+ ("}" ?{)  ; mirroring
+ ("A" ?\e,H`\e(B)  ; Alef (Shtumer Alef)
+ ("S" ?\e,Hz\e(B)  ; Tav
+ ("F"  ?\e,Hs\e(B)  ; Final Pe
+ ("G" ?\e$,1-3\e(B)  ; Geresh (Punct.)
+ ("H" ?\e,Hg\e(B)  ; Het
+ ("J" ?\e$,1-2\e(B)  ; Yiddish Double Yod (x2)
+ ("K" [ "\e,Hk\e$,1,\\e(B" ])  ; Dagesh Kaf (Kof)
+; ("L" "")
+; ("Z" "")
+ ("X" ?\e,Hj\e(B)  ; Final Kaf
+ ("C" ?\e,Hu\e(B)  ; Final Tsadi
+ ("V" [ "\e,Ha\e$,1,_\e(B" ])  ; Rafe Bet (Veys) )  ; Bet
+; ("B" "")
+ ("N" ?\e,Ho\e(B)  ; Final Nun
+ ("M" ?\e,Hm\e(B)  ; Final Mem
+ ("<" ?>)  ; mirroring
+ (">" ?<)  ; mirroring
+)
 
 ;;; hebrew.el ends here