1 ;;; ethiopic.el --- Quail package for inputting Ethiopic characters -*-coding: iso-2022-7bit;-*-
3 ;; Copyright (C) 1997, 1998 Electrotechnical Laboratory, JAPAN.
4 ;; Licensed to the Free Software Foundation.
6 ;; Keywords: multilingual, input method, ethiopic
8 ;; This file is part of GNU Emacs.
10 ;; GNU Emacs is free software; you can redistribute it and/or modify
11 ;; it under the terms of the GNU General Public License as published by
12 ;; the Free Software Foundation; either version 2, or (at your option)
15 ;; GNU Emacs is distributed in the hope that it will be useful,
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;; GNU General Public License for more details.
20 ;; You should have received a copy of the GNU General Public License
21 ;; along with GNU Emacs; see the file COPYING. If not, write to the
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23 ;; Boston, MA 02111-1307, USA.
25 ;; Author: TAKAHASHI Naoto <ntakahas@etl.go.jp>
35 ;; The package "ethiopic"
41 (ethio-prefer-ascii-space "_" "
\e$(3$h
\e(B")
42 (ethio-prefer-ascii-punctuation "." "
\e$(3$i
\e(B"))
43 t " Quail package for Ethiopic (Tigrigna and Amharic)
45 When you are in Ethiopic language environment, the following special
48 C-F9 or `M-x ethio-toggle-space'
49 Toggles space characters for keyboard input. The current mode is
50 indicated in mode-line, whether by `_' (ASCII space) or `
\e$(3$h
\e(B'
51 (Ethiopic colon-like word separator). Even in the `
\e$(3$h
\e(B' mode, an
52 ASCII space is inserted if the point is preceded by `an Ethiopic
53 punctuation followed by zero or more ASCII spaces'.
55 S-F5 or `M-x ethio-toggle-punctuation'
56 Toggles ASCII punctuations and Ethiopic punctuations for keyboard input.
57 The current mode is indicated by `.' (ASCII) or `
\e$(3$i
\e(B' (Ethiopic).
59 S-SPC or `M-x ethio-insert-ethio-space'
60 Always insert an Ethiopic word separator `
\e$(3$h
\e(B'. With a prefix number,
61 insert that many word separators.
63 C-' or `M-x ethio-gemination'
64 Compose the character before the point with the Ethiopic gemination mark.
65 If the characater is already composed, decompose it and remove the
68 ;; The following keys should work as defined in lisp/language/ethio-util,
69 ;; even during the translation.
70 '(([C-f9] . quail-execute-non-quail-command)
71 ([S-f5] . quail-execute-non-quail-command)
72 (" " . quail-execute-non-quail-command)
73 ([?\S- ] . quail-execute-non-quail-command)
74 ([?\C-'] . quail-execute-non-quail-command))
104 ("lWe" ["
\e$(3!.%n
\e(B"])
105 ("lWu" ["
\e$(3!.%r
\e(B"])
106 ("lWi" ["
\e$(3!.%o
\e(B"])
107 ("lWE" ["
\e$(3!.%q
\e(B"])
108 ("lW'" ["
\e$(3!.%r
\e(B"])
120 ("LWe" ["
\e$(3!.%n
\e(B"])
121 ("LWu" ["
\e$(3!.%r
\e(B"])
122 ("LWi" ["
\e$(3!.%o
\e(B"])
123 ("LWE" ["
\e$(3!.%q
\e(B"])
124 ("LW'" ["
\e$(3!.%r
\e(B"])
136 ("HWe" ["
\e$(3!6%n
\e(B"])
137 ("HWu" ["
\e$(3!6%r
\e(B"])
138 ("HWi" ["
\e$(3!6%o
\e(B"])
139 ("HWE" ["
\e$(3!6%q
\e(B"])
140 ("HW'" ["
\e$(3!6%r
\e(B"])
156 ("mWee" ?
\e$(3%Q
\e(B)
175 ("MWee" ?
\e$(3%Q
\e(B)
185 ("`see" ?
\e$(3!E
\e(B)
189 ("`sWa" ?
\e$(3!H
\e(B)
190 ("`sWe" ["
\e$(3!F%n
\e(B"])
191 ("`sWu" ["
\e$(3!F%r
\e(B"])
192 ("`sWi" ["
\e$(3!F%o
\e(B"])
193 ("`sWE" ["
\e$(3!F%q
\e(B"])
194 ("`sWee" ["
\e$(3!F%q
\e(B"])
195 ("`sW'" ["
\e$(3!F%r
\e(B"])
202 ("s2ee" ?
\e$(3!E
\e(B)
206 ("s2Wa" ?
\e$(3!H
\e(B)
207 ("s2We" ["
\e$(3!F%n
\e(B"])
208 ("s2Wu" ["
\e$(3!F%r
\e(B"])
209 ("s2Wi" ["
\e$(3!F%o
\e(B"])
210 ("s2WE" ["
\e$(3!F%q
\e(B"])
211 ("s2Wee" ["
\e$(3!F%q
\e(B"])
212 ("s2W'" ["
\e$(3!F%r
\e(B"])
219 ("ssee" ?
\e$(3!E
\e(B)
223 ("ssWa" ?
\e$(3!H
\e(B)
224 ("ssWe" ["
\e$(3!F%n
\e(B"])
225 ("ssWu" ["
\e$(3!F%r
\e(B"])
226 ("ssWi" ["
\e$(3!F%o
\e(B"])
227 ("ssWE" ["
\e$(3!F%q
\e(B"])
228 ("ssWee" ["
\e$(3!F%q
\e(B"])
229 ("ssW'" ["
\e$(3!F%r
\e(B"])
243 ("rWe" ["
\e$(3!N%n
\e(B"])
244 ("rWu" ["
\e$(3!N%r
\e(B"])
245 ("rWi" ["
\e$(3!N%o
\e(B"])
246 ("rWE" ["
\e$(3!N%q
\e(B"])
247 ("rWee" ["
\e$(3!N%q
\e(B"])
248 ("rW'" ["
\e$(3!N%r
\e(B"])
261 ("RWe" ["
\e$(3!N%n
\e(B"])
262 ("RWu" ["
\e$(3!N%r
\e(B"])
263 ("RWi" ["
\e$(3!N%o
\e(B"])
264 ("RWE" ["
\e$(3!N%q
\e(B"])
265 ("RWee" ["
\e$(3!N%q
\e(B"])
266 ("RW'" ["
\e$(3!N%r
\e(B"])
278 ("sWe" ["
\e$(3!V%n
\e(B"])
279 ("sWu" ["
\e$(3!V%r
\e(B"])
280 ("sWi" ["
\e$(3!V%o
\e(B"])
281 ("sWE" ["
\e$(3!V%q
\e(B"])
282 ("sWee" ["
\e$(3!V%q
\e(B"])
283 ("sW'" ["
\e$(3!V%r
\e(B"])
295 ("xWe" ["
\e$(3!^%n
\e(B"])
296 ("xWu" ["
\e$(3!^%r
\e(B"])
297 ("xWi" ["
\e$(3!^%o
\e(B"])
298 ("xWE" ["
\e$(3!^%q
\e(B"])
299 ("xWee" ["
\e$(3!^%q
\e(B"])
300 ("xW'" ["
\e$(3!^%r
\e(B"])
316 ("qWee" ?
\e$(3!m
\e(B)
324 ("`qee" ?
\e$(3%-
\e(B)
333 ("q2ee" ?
\e$(3%-
\e(B)
342 ("qqee" ?
\e$(3%-
\e(B)
360 ("QWee" ?
\e$(3!}
\e(B)
377 ("bWee" ?
\e$(3%R
\e(B)
394 ("BWee" ?
\e$(3%R
\e(B)
407 ("vWe" ["
\e$(3"0%n
\e(B"])
408 ("vWu" ["
\e$(3"0%r
\e(B"])
409 ("vWi" ["
\e$(3"0%o
\e(B"])
410 ("vWE" ["
\e$(3"0%q
\e(B"])
411 ("vWee" ["
\e$(3"0%q
\e(B"])
412 ("vW'" ["
\e$(3"0%r
\e(B"])
424 ("VWe" ["
\e$(3"0%n
\e(B"])
425 ("VWu" ["
\e$(3"0%r
\e(B"])
426 ("VWi" ["
\e$(3"0%o
\e(B"])
427 ("VWE" ["
\e$(3"0%q
\e(B"])
428 ("VWee" ["
\e$(3"0%q
\e(B"])
429 ("VW'" ["
\e$(3"0%r
\e(B"])
441 ("tWe" ["
\e$(3"8%n
\e(B"])
442 ("tWu" ["
\e$(3"8%r
\e(B"])
443 ("tWi" ["
\e$(3"8%o
\e(B"])
444 ("tWE" ["
\e$(3"8%q
\e(B"])
445 ("tWee" ["
\e$(3"8%q
\e(B"])
446 ("tW'" ["
\e$(3"8%r
\e(B"])
458 ("cWe" ["
\e$(3"@%n
\e(B"])
459 ("cWu" ["
\e$(3"@%r
\e(B"])
460 ("cWi" ["
\e$(3"@%o
\e(B"])
461 ("cWE" ["
\e$(3"@%q
\e(B"])
462 ("cWee" ["
\e$(3"@%q
\e(B"])
463 ("cW'" ["
\e$(3"@%r
\e(B"])
470 ("`hee" ?
\e$(3"G
\e(B)
473 ("`hWe" ?
\e$(3"K
\e(B)
474 ("`hWu" ?
\e$(3"P
\e(B)
475 ("`hWi" ?
\e$(3"M
\e(B)
477 ("`hWa" ?
\e$(3"N
\e(B)
478 ("`hWE" ?
\e$(3"O
\e(B)
479 ("`hWee" ?
\e$(3"O
\e(B)
480 ("`hW'" ?
\e$(3"P
\e(B)
487 ("h2ee" ?
\e$(3"G
\e(B)
490 ("h2We" ?
\e$(3"K
\e(B)
491 ("h2Wu" ?
\e$(3"P
\e(B)
492 ("h2Wi" ?
\e$(3"M
\e(B)
494 ("h2Wa" ?
\e$(3"N
\e(B)
495 ("h2WE" ?
\e$(3"O
\e(B)
496 ("h2Wee" ?
\e$(3"O
\e(B)
497 ("h2W'" ?
\e$(3"P
\e(B)
504 ("hhee" ?
\e$(3"G
\e(B)
507 ("hhWe" ?
\e$(3"K
\e(B)
508 ("hhWu" ?
\e$(3"P
\e(B)
509 ("hhWi" ?
\e$(3"M
\e(B)
511 ("hhWa" ?
\e$(3"N
\e(B)
512 ("hhWE" ?
\e$(3"O
\e(B)
513 ("hhWee" ?
\e$(3"O
\e(B)
514 ("hhW'" ?
\e$(3"P
\e(B)
526 ("nWe" ["
\e$(3"X%n
\e(B"])
527 ("nWu" ["
\e$(3"X%r
\e(B"])
528 ("nWi" ["
\e$(3"X%o
\e(B"])
529 ("nWE" ["
\e$(3"X%q
\e(B"])
530 ("nWee" ["
\e$(3"X%q
\e(B"])
531 ("nW'" ["
\e$(3"X%r
\e(B"])
543 ("NWe" ["
\e$(3"`%n
\e(B"])
544 ("NWu" ["
\e$(3"`%r
\e(B"])
545 ("NWi" ["
\e$(3"`%o
\e(B"])
546 ("NWE" ["
\e$(3"`%q
\e(B"])
547 ("NWee" ["
\e$(3"`%q
\e(B"])
548 ("NW'" ["
\e$(3"`%r
\e(B"])
550 ; ("e" ?
\e$(3"c
\e(B) ; old style
557 ; ("ee" ?
\e$(3"g
\e(B) ; Alef-E is rare vs Aynu-I, so ee = Aynu-I
559 ("e" ?
\e$(3"h
\e(B) ; This is the premise to "new style" for vowels
579 ("kWee" ?
\e$(3"w
\e(B)
587 ("`kee" ?
\e$(3%=
\e(B)
596 ("k2ee" ?
\e$(3%=
\e(B)
605 ("kkee" ?
\e$(3%=
\e(B)
623 ("KWee" ?
\e$(3#)
\e(B)
668 ; ("ee" ?
\e$(3#5
\e(B) ; old style
669 ("ae" ?
\e$(3#5
\e(B) ; new style
670 ("aaa" ?
\e$(3#5
\e(B) ; new style
678 ("ee" ?
\e$(3#:
\e(B) ; new style
692 ("zWe" ["
\e$(3#B%n
\e(B"])
693 ("zWu" ["
\e$(3#B%r
\e(B"])
694 ("zWi" ["
\e$(3#B%o
\e(B"])
695 ("zWE" ["
\e$(3#B%q
\e(B"])
696 ("zWee" ["
\e$(3#B%q
\e(B"])
697 ("zW'" ["
\e$(3#B%r
\e(B"])
709 ("ZWe" ["
\e$(3#J%n
\e(B"])
710 ("ZWu" ["
\e$(3#J%r
\e(B"])
711 ("ZWi" ["
\e$(3#J%o
\e(B"])
712 ("ZWE" ["
\e$(3#J%q
\e(B"])
713 ("ZWee" ["
\e$(3#J%q
\e(B"])
714 ("ZW'" ["
\e$(3#J%r
\e(B"])
726 ("yWe" ["
\e$(3#R%n
\e(B"])
727 ("yWu" ["
\e$(3#R%r
\e(B"])
728 ("yWi" ["
\e$(3#R%o
\e(B"])
729 ("yWE" ["
\e$(3#R%q
\e(B"])
730 ("yWee" ["
\e$(3#R%q
\e(B"])
731 ("yW'" ["
\e$(3#R%r
\e(B"])
743 ("YWe" ["
\e$(3#R%n
\e(B"])
744 ("YWu" ["
\e$(3#R%r
\e(B"])
745 ("YWi" ["
\e$(3#R%o
\e(B"])
746 ("YWE" ["
\e$(3#R%q
\e(B"])
747 ("YWee" ["
\e$(3#R%q
\e(B"])
748 ("YW'" ["
\e$(3#R%r
\e(B"])
760 ("dWe" ["
\e$(3#Z%n
\e(B"])
761 ("dWu" ["
\e$(3#Z%r
\e(B"])
762 ("dWi" ["
\e$(3#Z%o
\e(B"])
763 ("dWE" ["
\e$(3#Z%q
\e(B"])
764 ("dWee" ["
\e$(3#Z%q
\e(B"])
765 ("dW'" ["
\e$(3#Z%r
\e(B"])
777 ("DWe" ["
\e$(3#b%n
\e(B"])
778 ("DWu" ["
\e$(3#b%r
\e(B"])
779 ("DWi" ["
\e$(3#b%o
\e(B"])
780 ("DWE" ["
\e$(3#b%q
\e(B"])
781 ("DWee" ["
\e$(3#b%q
\e(B"])
782 ("DW'" ["
\e$(3#b%r
\e(B"])
794 ("jWe" ["
\e$(3#j%n
\e(B"])
795 ("jWu" ["
\e$(3#j%r
\e(B"])
796 ("jWi" ["
\e$(3#j%o
\e(B"])
797 ("jWE" ["
\e$(3#j%q
\e(B"])
798 ("jWee" ["
\e$(3#j%q
\e(B"])
799 ("jW'" ["
\e$(3#j%r
\e(B"])
811 ("JWe" ["
\e$(3#j%n
\e(B"])
812 ("JWu" ["
\e$(3#j%r
\e(B"])
813 ("JWi" ["
\e$(3#j%o
\e(B"])
814 ("JWE" ["
\e$(3#j%q
\e(B"])
815 ("JWee" ["
\e$(3#j%q
\e(B"])
816 ("JW'" ["
\e$(3#j%r
\e(B"])
832 ("gWee" ?
\e$(3#y
\e(B)
840 ("`gee" ?
\e$(3%]
\e(B)
849 ("g2ee" ?
\e$(3%]
\e(B)
858 ("ggee" ?
\e$(3%]
\e(B)
876 ("GWee" ?
\e$(3%S
\e(B)
889 ("TWe" ["
\e$(3$,%n
\e(B"])
890 ("TWu" ["
\e$(3$,%r
\e(B"])
891 ("TWi" ["
\e$(3$,%o
\e(B"])
892 ("TWE" ["
\e$(3$,%q
\e(B"])
893 ("TWee" ["
\e$(3$,%q
\e(B"])
894 ("TW'" ["
\e$(3$,%r
\e(B"])
906 ("CWe" ["
\e$(3$4%n
\e(B"])
907 ("CWu" ["
\e$(3$4%r
\e(B"])
908 ("CWi" ["
\e$(3$4%o
\e(B"])
909 ("CWE" ["
\e$(3$4%q
\e(B"])
910 ("CWee" ["
\e$(3$4%q
\e(B"])
911 ("CW'" ["
\e$(3$4%r
\e(B"])
923 ("PWe" ["
\e$(3$<%n
\e(B"])
924 ("PWu" ["
\e$(3$<%r
\e(B"])
925 ("PWi" ["
\e$(3$<%o
\e(B"])
926 ("PWE" ["
\e$(3$<%q
\e(B"])
927 ("PWee" ["
\e$(3$<%q
\e(B"])
928 ("PW'" ["
\e$(3$<%r
\e(B"])
940 ("SWe" ["
\e$(3$D%n
\e(B"])
941 ("SWu" ["
\e$(3$D%r
\e(B"])
942 ("SWi" ["
\e$(3$D%o
\e(B"])
943 ("SWE" ["
\e$(3$D%q
\e(B"])
944 ("SWee" ["
\e$(3$D%q
\e(B"])
945 ("SW'" ["
\e$(3$D%r
\e(B"])
952 ("`See" ?
\e$(3$K
\e(B)
956 ("`SWa" ?
\e$(3$F
\e(B)
957 ("`SWe" ["
\e$(3$L%n
\e(B"])
958 ("`SWu" ["
\e$(3$L%r
\e(B"])
959 ("`SWi" ["
\e$(3$L%o
\e(B"])
960 ("`SWE" ["
\e$(3$L%q
\e(B"])
961 ("`SWee" ["
\e$(3$L%q
\e(B"])
962 ("`SW'" ["
\e$(3$L%r
\e(B"])
969 ("S2ee" ?
\e$(3$K
\e(B)
973 ("S2Wa" ?
\e$(3$F
\e(B)
974 ("S2We" ["
\e$(3$L%n
\e(B"])
975 ("S2Wu" ["
\e$(3$L%r
\e(B"])
976 ("S2Wi" ["
\e$(3$L%o
\e(B"])
977 ("S2WE" ["
\e$(3$L%q
\e(B"])
978 ("S2Wee" ["
\e$(3$L%q
\e(B"])
979 ("S2W'" ["
\e$(3$L%r
\e(B"])
986 ("SSee" ?
\e$(3$K
\e(B)
990 ("SSWa" ?
\e$(3$F
\e(B)
991 ("SSWe" ["
\e$(3$L%n
\e(B"])
992 ("SSWu" ["
\e$(3$L%r
\e(B"])
993 ("SSWi" ["
\e$(3$L%o
\e(B"])
994 ("SSWE" ["
\e$(3$L%q
\e(B"])
995 ("SSWee" ["
\e$(3$L%q
\e(B"])
996 ("SW'" ["
\e$(3$L%r
\e(B"])
1003 ("fee" ?
\e$(3$S
\e(B)
1006 ("fWe" ?
\e$(3%4
\e(B)
1007 ("fWu" ?
\e$(3%d
\e(B)
1008 ("fWi" ?
\e$(3%D
\e(B)
1010 ("fWa" ?
\e$(3$V
\e(B)
1011 ("fWE" ?
\e$(3%T
\e(B)
1012 ("fWee" ?
\e$(3%T
\e(B)
1013 ("fW'" ?
\e$(3%d
\e(B)
1015 ("fYa" ?
\e$(3$a
\e(B)
1022 ("Fee" ?
\e$(3$S
\e(B)
1025 ("FWe" ?
\e$(3%4
\e(B)
1026 ("FWu" ?
\e$(3%d
\e(B)
1027 ("FWi" ?
\e$(3%D
\e(B)
1029 ("FWa" ?
\e$(3$V
\e(B)
1030 ("FWE" ?
\e$(3%T
\e(B)
1031 ("FWee" ?
\e$(3%T
\e(B)
1032 ("FW'" ?
\e$(3%d
\e(B)
1034 ("FYa" ?
\e$(3$a
\e(B)
1041 ("pee" ?
\e$(3$[
\e(B)
1044 ("pWe" ?
\e$(3%5
\e(B)
1045 ("pWu" ?
\e$(3%e
\e(B)
1046 ("pWi" ?
\e$(3%E
\e(B)
1048 ("pWa" ?
\e$(3$^
\e(B)
1049 ("pWE" ?
\e$(3%U
\e(B)
1050 ("pWee" ?
\e$(3%U
\e(B)
1051 ("pW'" ?
\e$(3%e
\e(B)
1069 (":|:" ?
\e$(3$o
\e(B)
1077 ("wWe" ?
\e$(3%n
\e(B)
1078 ("wWu" ?
\e$(3%r
\e(B)
1079 ("wWi" ?
\e$(3%o
\e(B)
1081 ("wWa" ?
\e$(3%p
\e(B)
1082 ("wWE" ?
\e$(3%q
\e(B)
1083 ("wWee" ?
\e$(3%q
\e(B)
1084 ("wW'" ?
\e$(3%r
\e(B)
1091 ("Wee" ?
\e$(3%q
\e(B)
1102 ("`10" ?
\e$(3$y
\e(B)
1103 ("`20" ?
\e$(3$z
\e(B)
1104 ("`30" ?
\e$(3${
\e(B)
1105 ("`40" ?
\e$(3$|
\e(B)
1106 ("`50" ?
\e$(3$}
\e(B)
1107 ("`60" ?
\e$(3$~
\e(B)
1108 ("`70" ?
\e$(3%!
\e(B)
1109 ("`80" ?
\e$(3%"
\e(B)
1110 ("`90" ?
\e$(3%#
\e(B)
1111 ("`100" ?
\e$(3%$
\e(B)
1112 ("`1000" ["
\e$(3$y%$
\e(B"])
1113 ("`2000" ["
\e$(3$z%$
\e(B"])
1114 ("`3000" ["
\e$(3${%$
\e(B"])
1115 ("`4000" ["
\e$(3$|%$
\e(B"])
1116 ("`5000" ["
\e$(3$}%$
\e(B"])
1117 ("`6000" ["
\e$(3$~%$
\e(B"])
1118 ("`7000" ["
\e$(3%!%$
\e(B"])
1119 ("`8000" ["
\e$(3%"%$
\e(B"])
1120 ("`9000" ["
\e$(3%#%$
\e(B"])
1121 ("`10000" ?
\e$(3%%
\e(B)
1122 ("`20000" ["
\e$(3$q%%
\e(B"])
1123 ("`30000" ["
\e$(3$r%%
\e(B"])
1124 ("`40000" ["
\e$(3$s%%
\e(B"])
1125 ("`50000" ["
\e$(3$t%%
\e(B"])
1126 ("`60000" ["
\e$(3$u%%
\e(B"])
1127 ("`70000" ["
\e$(3$v%%
\e(B"])
1128 ("`80000" ["
\e$(3$w%%
\e(B"])
1129 ("`90000" ["
\e$(3$x%%
\e(B"])
1130 ("`100000" ["
\e$(3$y%%
\e(B"])
1131 ("`200000" ["
\e$(3$z%%
\e(B"])
1132 ("`300000" ["
\e$(3${%%
\e(B"])
1133 ("`400000" ["
\e$(3$|%%
\e(B"])
1134 ("`500000" ["
\e$(3$}%%
\e(B"])
1135 ("`600000" ["
\e$(3$~%%
\e(B"])
1136 ("`700000" ["
\e$(3%!%%
\e(B"])
1137 ("`800000" ["
\e$(3%"%%
\e(B"])
1138 ("`900000" ["
\e$(3%#%%
\e(B"])
1139 ("`1000000" ["
\e$(3%$%%
\e(B"])
1142 (defun ethio-select-a-translation ()
1143 ;; The translation of `a' depends on the language
1144 ;; (either Tigrigna or Amharic).
1146 (if (ethio-prefer-amharic-p) ?
\e$(3"c
\e(B ?
\e$(3"f
\e(B)
1149 ;;; ethiopic.el ends here