Mercurial > hg > xemacs-beta
diff lisp/leim/quail/ethiopic.el @ 155:43dd3413c7c7 r20-3b4
Import from CVS: tag r20-3b4
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:39:39 +0200 |
parents | |
children | acd284d43ca1 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/leim/quail/ethiopic.el Mon Aug 13 09:39:39 2007 +0200 @@ -0,0 +1,1103 @@ +;; quail/ethiopic.el --- Quail package for inputting Ethiopic characters + +;; Copyright (C) 1995 Free Software Foundation, Inc. +;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. + +;; Keywords: multilingual, input method, ethiopic + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to +;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + +;; Author: TAKAHASHI Naoto <ntakahas@etl.go.jp> + +;;; Code: + +(require 'quail) +(require 'language/ethio-util) + +;; +;; Ethiopic word separator vs. ASCII space +;; + +(defvar ethio-prefer-ascii-space t) +(make-variable-buffer-local 'ethio-prefer-ascii-space) + +(defun ethio-toggle-space nil + "Toggle ASCII space and Ethiopic separator for keyboard input." + (interactive) + (setq ethio-prefer-ascii-space + (not ethio-prefer-ascii-space)) + (force-mode-line-update)) + +(defun ethio-insert-space (arg) + "Insert ASCII spaces or Ethiopic word separators depending on context. + +If the current word separator (indicated in mode-line) is the ASCII space, +insert an ASCII space. With ARG, insert that many ASCII spaces. + +If the current word separator is the colon-like Ethiopic word +separator and the point is preceded by `an Ethiopic punctuation mark +followed by zero or more ASCII spaces', then insert also an ASCII +space. With ARG, insert that many ASCII spaces. + +Otherwise, insert a colon-like Ethiopic word separator. With ARG, insert that +many Ethiopic word separators." + + (interactive "*p") + (cond + (ethio-prefer-ascii-space + (insert-char 32 arg)) + ((save-excursion + (skip-chars-backward " ") + (memq (preceding-char) + '(?$(3$h(B ?$(3$i(B ?$(3$j(B ?$(3$k(B ?$(3$l(B ?$(3$m(B ?$(3$n(B ?$(3$o(B ?$(3%t(B ?$(3%u(B ?$(3%v(B ?$(3%w(B ?$(3%x(B))) + (insert-char 32 arg)) + (t + (insert-char ?$(3$h(B arg)))) + +(defun ethio-insert-ethio-space (arg) + "Insert the Ethiopic word delimiter (the colon-like character). +With ARG, insert that many delimiters." + (interactive "*p") + (insert-char ?$(3$h(B arg)) + +;; +;; Ethiopic punctuation vs. ASCII punctuation +;; + +(defvar ethio-prefer-ascii-punctuation nil) +(make-variable-buffer-local 'ethio-prefer-ascii-punctuation) + +(defun ethio-toggle-punctuation nil + "Toggle Ethiopic punctuations and ASCII punctuations for keyboard input." + (interactive) + (setq ethio-prefer-ascii-punctuation + (not ethio-prefer-ascii-punctuation)) + (let* ((keys '("." ".." "..." "," ",," ";" ";;" ":" "::" ":::" "*" "**")) + (puncs + (if ethio-prefer-ascii-punctuation + '(?. [".."] ["..."] ?, [",,"] ?\; [";;"] ?: ["::"] [":::"] ?* ["**"]) + '(?$(3$i(B ?$(3%u(B ?. ?$(3$j(B ?, ?$(3$k(B ?\; ?$(3$h(B ?$(3$i(B ?: ?* ?$(3$o(B)))) + (while keys + (quail-defrule (car keys) (car puncs) "quail-ethio") + (setq keys (cdr keys) + puncs (cdr puncs))) + (force-mode-line-update))) + +;; +;; Gemination +;; + +(defun ethio-gemination nil + "Compose the character before the point with the Ethiopic gemination mark. +If the characater is already composed, decompose it and remove the gemination +mark." + (interactive "*") + (cond + ((eq (char-charset (preceding-char)) 'ethiopic) + (insert "$(3%s(B") + (compose-region + (save-excursion (backward-char 2) (point)) + (point)) + (forward-char 1)) + ((eq (char-charset (preceding-char)) 'leading-code-composition) + (decompose-region + (save-excursion (backward-char 1) (point)) + (point)) + (delete-backward-char 1)) + (t + (error "")))) + +;; +;; The package "quail-ethio" +;; + +(quail-define-package + "quail-ethio" "Ethiopic" + '("$(3$O#U!.(B " + (ethio-prefer-ascii-space "_" "$(3$h(B") + (ethio-prefer-ascii-punctuation "." "$(3$i(B")) + t " KEYS AND FUNCTIONS + +[F2] or `M-x ethio-toggle-space' + Toggles space characters for keyboard input. The current mode is + indicated in mode-line, whether by `_' (ASCII space) or `$(3$h(B' + (Ethiopic colon-like word separator). Even in the `$(3$h(B' mode, an + ASCII space is inserted if the point is preceded by `an Ethiopic + punctuation followed by zero or more ASCII spaces'. + +[F3] or `M-x ethio-toggle-punctuation' + Toggles ASCII punctuations and Ethiopic punctuations for keyboard input. + The current mode is indicated by `.' (ASCII) or `$(3$i(B' (Ethiopic). + +C-^ or `M-x ethio-insert-ethio-space + Always insert an Ethiopic word separator `$(3$h(B'. With a prefix number, + insert that many word separators. + +C-' or ethio-gemination + Compose the character before the point with the Ethiopic gemination mark. + If the characater is already composed, decompose it and remove the + gemination mark." + + '(([f2] . ethio-toggle-space) + ([f3] . ethio-toggle-punctuation) + (" " . ethio-insert-space) + ([?\C-^] . ethio-insert-ethio-space) + ([?\C-'] . ethio-gemination)) + t t) + +;; These keys should work even if translation region is not active. +(define-key quail-mode-map [f2] 'ethio-toggle-space) +(define-key quail-mode-map [f3] 'ethio-toggle-punctuation) +(define-key quail-mode-map " " 'ethio-insert-space) +(define-key quail-mode-map [?\C-^] 'ethio-insert-ethio-space) +(define-key quail-mode-map [?\C-'] 'ethio-gemination) + +(quail-define-rules + ("he" ?$(3!!(B) + ("hu" ?$(3!"(B) + ("hi" ?$(3!#(B) + ("ha" ?$(3!$(B) + ("hE" ?$(3!%(B) + ("h" ?$(3!&(B) + ("ho" ?$(3!'(B) + ("hW" ?$(3"N(B) + ("hWa" ?$(3"N(B) + ("hWe" ?$(3"K(B) + ("hWu" ?$(3"P(B) + ("hWi" ?$(3"M(B) + ("hWE" ?$(3"O(B) + ("hW'" ?$(3"P(B) + + ("le" ?$(3!)(B) + ("lu" ?$(3!*(B) + ("li" ?$(3!+(B) + ("la" ?$(3!,(B) + ("lE" ?$(3!-(B) + ("l" ?$(3!.(B) + ("lo" ?$(3!/(B) + ("lW" ?$(3!0(B) + ("lWa" ?$(3!0(B) + ("lWe" ["$(3!.%n(B"]) + ("lWu" ["$(3!.%r(B"]) + ("lWi" ["$(3!.%o(B"]) + ("lWE" ["$(3!.%q(B"]) + ("lW'" ["$(3!.%r(B"]) + + ("Le" ?$(3!)(B) + ("Lu" ?$(3!*(B) + ("Li" ?$(3!+(B) + ("La" ?$(3!,(B) + ("LE" ?$(3!-(B) + ("L" ?$(3!.(B) + ("Lo" ?$(3!/(B) + ("LW" ?$(3!0(B) + ("LWa" ?$(3!0(B) + ("LWe" ["$(3!.%n(B"]) + ("LWu" ["$(3!.%r(B"]) + ("LWi" ["$(3!.%o(B"]) + ("LWE" ["$(3!.%q(B"]) + ("LW'" ["$(3!.%r(B"]) + + ("He" ?$(3!1(B) + ("Hu" ?$(3!2(B) + ("Hi" ?$(3!3(B) + ("Ha" ?$(3!4(B) + ("HE" ?$(3!5(B) + ("H" ?$(3!6(B) + ("Ho" ?$(3!7(B) + ("HW" ?$(3!8(B) + ("HWa" ?$(3!8(B) + ("HWe" ["$(3!6%n(B"]) + ("HWu" ["$(3!6%r(B"]) + ("HWi" ["$(3!6%o(B"]) + ("HWE" ["$(3!6%q(B"]) + ("HW'" ["$(3!6%r(B"]) + + ("me" ?$(3!9(B) + ("mu" ?$(3!:(B) + ("mi" ?$(3!;(B) + ("ma" ?$(3!<(B) + ("mE" ?$(3!=(B) + ("m" ?$(3!>(B) + ("mo" ?$(3!?(B) + ("mWe" ?$(3%1(B) + ("mWu" ?$(3%a(B) + ("mWi" ?$(3%A(B) + ("mW" ?$(3!@(B) + ("mWa" ?$(3!@(B) + ("mWE" ?$(3%Q(B) + ("mW'" ?$(3%a(B) + ("mY" ?$(3$_(B) + ("mYa" ?$(3$_(B) + + ("Me" ?$(3!9(B) + ("Mu" ?$(3!:(B) + ("Mi" ?$(3!;(B) + ("Ma" ?$(3!<(B) + ("ME" ?$(3!=(B) + ("M" ?$(3!>(B) + ("Mo" ?$(3!?(B) + ("MWe" ?$(3%1(B) + ("MWu" ?$(3%a(B) + ("MWi" ?$(3%A(B) + ("MW" ?$(3!@(B) + ("MWa" ?$(3!@(B) + ("MWE" ?$(3%Q(B) + ("MW'" ?$(3%a(B) + ("MY" ?$(3$_(B) + ("MYa" ?$(3$_(B) + + ("`se" ?$(3!A(B) + ("`su" ?$(3!B(B) + ("`si" ?$(3!C(B) + ("`sa" ?$(3!D(B) + ("`sE" ?$(3!E(B) + ("`s" ?$(3!F(B) + ("`so" ?$(3!G(B) + ("`sW" ?$(3!H(B) + ("`sWa" ?$(3!H(B) + ("`sWe" ["$(3!F%n(B"]) + ("`sWu" ["$(3!F%r(B"]) + ("`sWi" ["$(3!F%o(B"]) + ("`sWE" ["$(3!F%q(B"]) + ("`sW'" ["$(3!F%r(B"]) + + ("s2e" ?$(3!A(B) + ("s2u" ?$(3!B(B) + ("s2i" ?$(3!C(B) + ("s2a" ?$(3!D(B) + ("s2E" ?$(3!E(B) + ("s2" ?$(3!F(B) + ("s2o" ?$(3!G(B) + ("s2W" ?$(3!H(B) + ("s2Wa" ?$(3!H(B) + ("s2We" ["$(3!F%n(B"]) + ("s2Wu" ["$(3!F%r(B"]) + ("s2Wi" ["$(3!F%o(B"]) + ("s2WE" ["$(3!F%q(B"]) + ("s2W'" ["$(3!F%r(B"]) + + ("sse" ?$(3!A(B) + ("ssu" ?$(3!B(B) + ("ssi" ?$(3!C(B) + ("ssa" ?$(3!D(B) + ("ssE" ?$(3!E(B) + ("ss" ?$(3!F(B) + ("sso" ?$(3!G(B) + ("ssW" ?$(3!H(B) + ("ssWa" ?$(3!H(B) + ("ssWe" ["$(3!F%n(B"]) + ("ssWu" ["$(3!F%r(B"]) + ("ssWi" ["$(3!F%o(B"]) + ("ssWE" ["$(3!F%q(B"]) + ("ssW'" ["$(3!F%r(B"]) + + ("re" ?$(3!I(B) + ("ru" ?$(3!J(B) + ("ri" ?$(3!K(B) + ("ra" ?$(3!L(B) + ("rE" ?$(3!M(B) + ("r" ?$(3!N(B) + ("ro" ?$(3!O(B) + ("rW" ?$(3!P(B) + ("rWa" ?$(3!P(B) + ("rY" ?$(3$`(B) + ("rYa" ?$(3$`(B) + ("rWe" ["$(3!N%n(B"]) + ("rWu" ["$(3!N%r(B"]) + ("rWi" ["$(3!N%o(B"]) + ("rWE" ["$(3!N%q(B"]) + ("rW'" ["$(3!N%r(B"]) + + ("Re" ?$(3!I(B) + ("Ru" ?$(3!J(B) + ("Ri" ?$(3!K(B) + ("Ra" ?$(3!L(B) + ("RE" ?$(3!M(B) + ("R" ?$(3!N(B) + ("Ro" ?$(3!O(B) + ("RW" ?$(3!P(B) + ("RWa" ?$(3!P(B) + ("RYa" ?$(3$`(B) + ("RWe" ["$(3!N%n(B"]) + ("RWu" ["$(3!N%r(B"]) + ("RWi" ["$(3!N%o(B"]) + ("RWE" ["$(3!N%q(B"]) + ("RW'" ["$(3!N%r(B"]) + + ("se" ?$(3!Q(B) + ("su" ?$(3!R(B) + ("si" ?$(3!S(B) + ("sa" ?$(3!T(B) + ("sE" ?$(3!U(B) + ("s" ?$(3!V(B) + ("so" ?$(3!W(B) + ("sW" ?$(3!X(B) + ("sWa" ?$(3!X(B) + ("sWe" ["$(3!V%n(B"]) + ("sWu" ["$(3!V%r(B"]) + ("sWi" ["$(3!V%o(B"]) + ("sWE" ["$(3!V%q(B"]) + ("sW'" ["$(3!V%r(B"]) + + ("xe" ?$(3!Y(B) + ("xu" ?$(3!Z(B) + ("xi" ?$(3![(B) + ("xa" ?$(3!\(B) + ("xE" ?$(3!](B) + ("x" ?$(3!^(B) + ("xo" ?$(3!_(B) + ("xW" ?$(3!`(B) + ("xWa" ?$(3!`(B) + ("xWe" ["$(3!^%n(B"]) + ("xWu" ["$(3!^%r(B"]) + ("xWi" ["$(3!^%o(B"]) + ("xWE" ["$(3!^%q(B"]) + ("xW'" ["$(3!^%r(B"]) + + ("qe" ?$(3!a(B) + ("qu" ?$(3!b(B) + ("qi" ?$(3!c(B) + ("qa" ?$(3!d(B) + ("qE" ?$(3!e(B) + ("q" ?$(3!f(B) + ("qo" ?$(3!g(B) + ("qWe" ?$(3!i(B) + ("qWu" ?$(3!n(B) + ("qWi" ?$(3!k(B) + ("qW" ?$(3!l(B) + ("qWa" ?$(3!l(B) + ("qWE" ?$(3!m(B) + ("qW'" ?$(3!n(B) + + ("`qe" ?$(3%)(B) + ("`qu" ?$(3%*(B) + ("`qi" ?$(3%+(B) + ("`qa" ?$(3%,(B) + ("`qE" ?$(3%-(B) + ("`q" ?$(3%.(B) + ("`qo" ?$(3%/(B) + + ("q2e" ?$(3%)(B) + ("q2u" ?$(3%*(B) + ("q2i" ?$(3%+(B) + ("q2a" ?$(3%,(B) + ("q2E" ?$(3%-(B) + ("q2" ?$(3%.(B) + ("q2o" ?$(3%/(B) + + ("qqe" ?$(3%)(B) + ("qqu" ?$(3%*(B) + ("qqi" ?$(3%+(B) + ("qqa" ?$(3%,(B) + ("qqE" ?$(3%-(B) + ("qq" ?$(3%.(B) + ("qqo" ?$(3%/(B) + + ("Qe" ?$(3!q(B) + ("Qu" ?$(3!r(B) + ("Qi" ?$(3!s(B) + ("Qa" ?$(3!t(B) + ("QE" ?$(3!u(B) + ("Q" ?$(3!v(B) + ("Qo" ?$(3!w(B) + ("QWe" ?$(3!y(B) + ("QWu" ?$(3!~(B) + ("QWi" ?$(3!{(B) + ("QW" ?$(3!|(B) + ("QWa" ?$(3!|(B) + ("QWE" ?$(3!}(B) + ("QW'" ?$(3!~(B) + + ("be" ?$(3"#(B) + ("bu" ?$(3"$(B) + ("bi" ?$(3"%(B) + ("ba" ?$(3"&(B) + ("bE" ?$(3"'(B) + ("b" ?$(3"((B) + ("bo" ?$(3")(B) + ("bWe" ?$(3%2(B) + ("bWu" ?$(3%b(B) + ("bWi" ?$(3%B(B) + ("bW" ?$(3"*(B) + ("bWa" ?$(3"*(B) + ("bWE" ?$(3%R(B) + ("bW'" ?$(3%b(B) + + ("Be" ?$(3"#(B) + ("Bu" ?$(3"$(B) + ("Bi" ?$(3"%(B) + ("Ba" ?$(3"&(B) + ("BE" ?$(3"'(B) + ("B" ?$(3"((B) + ("Bo" ?$(3")(B) + ("BWe" ?$(3%2(B) + ("BWu" ?$(3%b(B) + ("BWi" ?$(3%B(B) + ("BW" ?$(3"*(B) + ("BWa" ?$(3"*(B) + ("BWE" ?$(3%R(B) + ("BW'" ?$(3%b(B) + + ("ve" ?$(3"+(B) + ("vu" ?$(3",(B) + ("vi" ?$(3"-(B) + ("va" ?$(3".(B) + ("vE" ?$(3"/(B) + ("v" ?$(3"0(B) + ("vo" ?$(3"1(B) + ("vW" ?$(3"2(B) + ("vWa" ?$(3"2(B) + ("vWe" ["$(3"0%n(B"]) + ("vWu" ["$(3"0%r(B"]) + ("vWi" ["$(3"0%o(B"]) + ("vWE" ["$(3"0%q(B"]) + ("vW'" ["$(3"0%r(B"]) + + ("Ve" ?$(3"+(B) + ("Vu" ?$(3",(B) + ("Vi" ?$(3"-(B) + ("Va" ?$(3".(B) + ("VE" ?$(3"/(B) + ("V" ?$(3"0(B) + ("Vo" ?$(3"1(B) + ("VW" ?$(3"2(B) + ("VWa" ?$(3"2(B) + ("VWe" ["$(3"0%n(B"]) + ("VWu" ["$(3"0%r(B"]) + ("VWi" ["$(3"0%o(B"]) + ("VWE" ["$(3"0%q(B"]) + ("VW'" ["$(3"0%r(B"]) + + ("te" ?$(3"3(B) + ("tu" ?$(3"4(B) + ("ti" ?$(3"5(B) + ("ta" ?$(3"6(B) + ("tE" ?$(3"7(B) + ("t" ?$(3"8(B) + ("to" ?$(3"9(B) + ("tW" ?$(3":(B) + ("tWa" ?$(3":(B) + ("tWe" ["$(3"8%n(B"]) + ("tWu" ["$(3"8%r(B"]) + ("tWi" ["$(3"8%o(B"]) + ("tWE" ["$(3"8%q(B"]) + ("tW'" ["$(3"8%r(B"]) + + ("ce" ?$(3";(B) + ("cu" ?$(3"<(B) + ("ci" ?$(3"=(B) + ("ca" ?$(3">(B) + ("cE" ?$(3"?(B) + ("c" ?$(3"@(B) + ("co" ?$(3"A(B) + ("cW" ?$(3"B(B) + ("cWa" ?$(3"B(B) + ("cWe" ["$(3"@%n(B"]) + ("cWu" ["$(3"@%r(B"]) + ("cWi" ["$(3"@%o(B"]) + ("cWE" ["$(3"@%q(B"]) + ("cW'" ["$(3"@%r(B"]) + + ("`he" ?$(3"C(B) + ("`hu" ?$(3"D(B) + ("`hi" ?$(3"E(B) + ("`ha" ?$(3"F(B) + ("`hE" ?$(3"G(B) + ("`h" ?$(3"H(B) + ("`ho" ?$(3"I(B) + ("`hWe" ?$(3"K(B) + ("`hWu" ?$(3"P(B) + ("`hWi" ?$(3"M(B) + ("`hW" ?$(3"N(B) + ("`hWa" ?$(3"N(B) + ("`hWE" ?$(3"O(B) + ("`hW'" ?$(3"P(B) + + ("h2e" ?$(3"C(B) + ("h2u" ?$(3"D(B) + ("h2i" ?$(3"E(B) + ("h2a" ?$(3"F(B) + ("h2E" ?$(3"G(B) + ("h2" ?$(3"H(B) + ("h2o" ?$(3"I(B) + ("h2We" ?$(3"K(B) + ("h2Wu" ?$(3"P(B) + ("h2Wi" ?$(3"M(B) + ("h2W" ?$(3"N(B) + ("h2Wa" ?$(3"N(B) + ("h2WE" ?$(3"O(B) + ("h2W'" ?$(3"P(B) + + ("hhe" ?$(3"C(B) + ("hhu" ?$(3"D(B) + ("hhi" ?$(3"E(B) + ("hha" ?$(3"F(B) + ("hhE" ?$(3"G(B) + ("hh" ?$(3"H(B) + ("hho" ?$(3"I(B) + ("hhWe" ?$(3"K(B) + ("hhWu" ?$(3"P(B) + ("hhWi" ?$(3"M(B) + ("hhW" ?$(3"N(B) + ("hhWa" ?$(3"N(B) + ("hhWE" ?$(3"O(B) + ("hhW'" ?$(3"P(B) + + ("ne" ?$(3"S(B) + ("nu" ?$(3"T(B) + ("ni" ?$(3"U(B) + ("na" ?$(3"V(B) + ("nE" ?$(3"W(B) + ("n" ?$(3"X(B) + ("no" ?$(3"Y(B) + ("nW" ?$(3"Z(B) + ("nWa" ?$(3"Z(B) + ("nWe" ["$(3"X%n(B"]) + ("nWu" ["$(3"X%r(B"]) + ("nWi" ["$(3"X%o(B"]) + ("nWE" ["$(3"X%q(B"]) + ("nW'" ["$(3"X%r(B"]) + + ("Ne" ?$(3"[(B) + ("Nu" ?$(3"\(B) + ("Ni" ?$(3"](B) + ("Na" ?$(3"^(B) + ("NE" ?$(3"_(B) + ("N" ?$(3"`(B) + ("No" ?$(3"a(B) + ("NW" ?$(3"b(B) + ("NWa" ?$(3"b(B) + ("NWe" ["$(3"`%n(B"]) + ("NWu" ["$(3"`%r(B"]) + ("NWi" ["$(3"`%o(B"]) + ("NWE" ["$(3"`%q(B"]) + ("NW'" ["$(3"`%r(B"]) + + ("e" ?$(3"c(B) + ("u" ?$(3"d(B) + ("U" ?$(3"d(B) + ("i" ?$(3"e(B) + ("a" ?$(3"f(B) + ("A" ?$(3"f(B) + ("E" ?$(3"g(B) + ("I" ?$(3"h(B) + ("o" ?$(3"i(B) + ("O" ?$(3"i(B) + ("ea" ?$(3"j(B) + ("eee" ?$(3"j(B) + + ("ke" ?$(3"k(B) + ("ku" ?$(3"l(B) + ("ki" ?$(3"m(B) + ("ka" ?$(3"n(B) + ("kE" ?$(3"o(B) + ("k" ?$(3"p(B) + ("ko" ?$(3"q(B) + ("kWe" ?$(3"s(B) + ("kWu" ?$(3"x(B) + ("kWi" ?$(3"u(B) + ("kW" ?$(3"v(B) + ("kWa" ?$(3"v(B) + ("kWE" ?$(3"w(B) + ("kW'" ?$(3"x(B) + + ("`ke" ?$(3%9(B) + ("`ku" ?$(3%:(B) + ("`ki" ?$(3%;(B) + ("`ka" ?$(3%<(B) + ("`kE" ?$(3%=(B) + ("`k" ?$(3%>(B) + ("`ko" ?$(3%?(B) + + ("k2e" ?$(3%9(B) + ("k2u" ?$(3%:(B) + ("k2i" ?$(3%;(B) + ("k2a" ?$(3%<(B) + ("k2E" ?$(3%=(B) + ("k2" ?$(3%>(B) + ("k2o" ?$(3%?(B) + + ("kke" ?$(3%9(B) + ("kku" ?$(3%:(B) + ("kki" ?$(3%;(B) + ("kka" ?$(3%<(B) + ("kkE" ?$(3%=(B) + ("kk" ?$(3%>(B) + ("kko" ?$(3%?(B) + + ("Ke" ?$(3"{(B) + ("Ku" ?$(3"|(B) + ("Ki" ?$(3"}(B) + ("Ka" ?$(3"~(B) + ("KE" ?$(3#!(B) + ("K" ?$(3#"(B) + ("Ko" ?$(3##(B) + ("KWe" ?$(3#%(B) + ("KWu" ?$(3#*(B) + ("KWi" ?$(3#'(B) + ("KW" ?$(3#((B) + ("KWa" ?$(3#((B) + ("KWE" ?$(3#)(B) + ("KW'" ?$(3#*(B) + + ("Xe" ?$(3%I(B) + ("Xu" ?$(3%J(B) + ("Xi" ?$(3%K(B) + ("Xa" ?$(3%L(B) + ("XE" ?$(3%M(B) + ("X" ?$(3%N(B) + ("Xo" ?$(3%O(B) + + ("we" ?$(3#-(B) + ("wu" ?$(3#.(B) + ("wi" ?$(3#/(B) + ("wa" ?$(3#0(B) + ("wE" ?$(3#1(B) + ("w" ?$(3#2(B) + ("wo" ?$(3#3(B) + + ("`e" ?$(3#5(B) + ("`u" ?$(3#6(B) + ("`U" ?$(3#6(B) + ("`i" ?$(3#7(B) + ("`a" ?$(3#8(B) + ("`A" ?$(3#8(B) + ("`E" ?$(3#9(B) + ("`I" ?$(3#:(B) + ("`o" ?$(3#;(B) + ("`O" ?$(3#;(B) + + ("e2" ?$(3#5(B) + ("u2" ?$(3#6(B) + ("U2" ?$(3#6(B) + ("i2" ?$(3#7(B) + ("a2" ?$(3#8(B) + ("A2" ?$(3#8(B) + ("E2" ?$(3#9(B) + ("I2" ?$(3#:(B) + ("o2" ?$(3#;(B) + ("O2" ?$(3#;(B) + + ("ee" ?$(3#5(B) + ("uu" ?$(3#6(B) + ("UU" ?$(3#6(B) + ("ii" ?$(3#7(B) + ("aa" ?$(3#8(B) + ("AA" ?$(3#8(B) + ("EE" ?$(3#9(B) + ("II" ?$(3#:(B) + ("oo" ?$(3#;(B) + ("OO" ?$(3#;(B) + + ("ze" ?$(3#=(B) + ("zu" ?$(3#>(B) + ("zi" ?$(3#?(B) + ("za" ?$(3#@(B) + ("zE" ?$(3#A(B) + ("z" ?$(3#B(B) + ("zo" ?$(3#C(B) + ("zW" ?$(3#D(B) + ("zWa" ?$(3#D(B) + ("zWe" ["$(3#B%n(B"]) + ("zWu" ["$(3#B%r(B"]) + ("zWi" ["$(3#B%o(B"]) + ("zWE" ["$(3#B%q(B"]) + ("zW'" ["$(3#B%r(B"]) + + ("Ze" ?$(3#E(B) + ("Zu" ?$(3#F(B) + ("Zi" ?$(3#G(B) + ("Za" ?$(3#H(B) + ("ZE" ?$(3#I(B) + ("Z" ?$(3#J(B) + ("Zo" ?$(3#K(B) + ("ZW" ?$(3#L(B) + ("ZWa" ?$(3#L(B) + ("ZWe" ["$(3#J%n(B"]) + ("ZWu" ["$(3#J%r(B"]) + ("ZWi" ["$(3#J%o(B"]) + ("ZWE" ["$(3#J%q(B"]) + ("ZW'" ["$(3#J%r(B"]) + + ("ye" ?$(3#M(B) + ("yu" ?$(3#N(B) + ("yi" ?$(3#O(B) + ("ya" ?$(3#P(B) + ("yE" ?$(3#Q(B) + ("y" ?$(3#R(B) + ("yo" ?$(3#S(B) + ("yW" ?$(3#T(B) + ("yWa" ?$(3#T(B) + ("yWe" ["$(3#R%n(B"]) + ("yWu" ["$(3#R%r(B"]) + ("yWi" ["$(3#R%o(B"]) + ("yWE" ["$(3#R%q(B"]) + ("yW'" ["$(3#R%r(B"]) + + ("Ye" ?$(3#M(B) + ("Yu" ?$(3#N(B) + ("Yi" ?$(3#O(B) + ("Ya" ?$(3#P(B) + ("YE" ?$(3#Q(B) + ("Y" ?$(3#R(B) + ("Yo" ?$(3#S(B) + ("YW" ?$(3#T(B) + ("YWa" ?$(3#T(B) + ("YWe" ["$(3#R%n(B"]) + ("YWu" ["$(3#R%r(B"]) + ("YWi" ["$(3#R%o(B"]) + ("YWE" ["$(3#R%q(B"]) + ("YW'" ["$(3#R%r(B"]) + + ("de" ?$(3#U(B) + ("du" ?$(3#V(B) + ("di" ?$(3#W(B) + ("da" ?$(3#X(B) + ("dE" ?$(3#Y(B) + ("d" ?$(3#Z(B) + ("do" ?$(3#[(B) + ("dW" ?$(3#\(B) + ("dWa" ?$(3#\(B) + ("dWe" ["$(3#Z%n(B"]) + ("dWu" ["$(3#Z%r(B"]) + ("dWi" ["$(3#Z%o(B"]) + ("dWE" ["$(3#Z%q(B"]) + ("dW'" ["$(3#Z%r(B"]) + + ("De" ?$(3#](B) + ("Du" ?$(3#^(B) + ("Di" ?$(3#_(B) + ("Da" ?$(3#`(B) + ("DE" ?$(3#a(B) + ("D" ?$(3#b(B) + ("Do" ?$(3#c(B) + ("DW" ?$(3#d(B) + ("DWa" ?$(3#d(B) + ("DWe" ["$(3#b%n(B"]) + ("DWu" ["$(3#b%r(B"]) + ("DWi" ["$(3#b%o(B"]) + ("DWE" ["$(3#b%q(B"]) + ("DW'" ["$(3#b%r(B"]) + + ("je" ?$(3#e(B) + ("ju" ?$(3#f(B) + ("ji" ?$(3#g(B) + ("ja" ?$(3#h(B) + ("jE" ?$(3#i(B) + ("j" ?$(3#j(B) + ("jo" ?$(3#k(B) + ("jW" ?$(3#l(B) + ("jWa" ?$(3#l(B) + ("jWe" ["$(3#j%n(B"]) + ("jWu" ["$(3#j%r(B"]) + ("jWi" ["$(3#j%o(B"]) + ("jWE" ["$(3#j%q(B"]) + ("jW'" ["$(3#j%r(B"]) + + ("Je" ?$(3#e(B) + ("Ju" ?$(3#f(B) + ("Ji" ?$(3#g(B) + ("Ja" ?$(3#h(B) + ("JE" ?$(3#i(B) + ("J" ?$(3#j(B) + ("Jo" ?$(3#k(B) + ("JW" ?$(3#l(B) + ("JWa" ?$(3#l(B) + ("JWe" ["$(3#j%n(B"]) + ("JWu" ["$(3#j%r(B"]) + ("JWi" ["$(3#j%o(B"]) + ("JWE" ["$(3#j%q(B"]) + ("JW'" ["$(3#j%r(B"]) + + ("ge" ?$(3#m(B) + ("gu" ?$(3#n(B) + ("gi" ?$(3#o(B) + ("ga" ?$(3#p(B) + ("gE" ?$(3#q(B) + ("g" ?$(3#r(B) + ("go" ?$(3#s(B) + ("gWe" ?$(3#u(B) + ("gWu" ?$(3#z(B) + ("gWi" ?$(3#w(B) + ("gW" ?$(3#x(B) + ("gWa" ?$(3#x(B) + ("gWE" ?$(3#y(B) + ("gW'" ?$(3#z(B) + + ("`ge" ?$(3%Y(B) + ("`gu" ?$(3%Z(B) + ("`gi" ?$(3%[(B) + ("`ga" ?$(3%\(B) + ("`gE" ?$(3%](B) + ("`g" ?$(3%^(B) + ("`go" ?$(3%_(B) + + ("g2e" ?$(3%Y(B) + ("g2u" ?$(3%Z(B) + ("g2i" ?$(3%[(B) + ("g2a" ?$(3%\(B) + ("g2E" ?$(3%](B) + ("g2" ?$(3%^(B) + ("g2o" ?$(3%_(B) + + ("gge" ?$(3%Y(B) + ("ggu" ?$(3%Z(B) + ("ggi" ?$(3%[(B) + ("gga" ?$(3%\(B) + ("ggE" ?$(3%](B) + ("gg" ?$(3%^(B) + ("ggo" ?$(3%_(B) + + ("Ge" ?$(3#}(B) + ("Gu" ?$(3#~(B) + ("Gi" ?$(3$!(B) + ("Ga" ?$(3$"(B) + ("GE" ?$(3$#(B) + ("G" ?$(3$$(B) + ("Go" ?$(3$%(B) + ("GWe" ?$(3%3(B) + ("GWu" ?$(3%c(B) + ("GWi" ?$(3%C(B) + ("GW" ?$(3$&(B) + ("GWa" ?$(3$&(B) + ("GWE" ?$(3%S(B) + ("GW'" ?$(3%c(B) + + ("te" ?$(3$'(B) + ("tu" ?$(3$((B) + ("ti" ?$(3$)(B) + ("ta" ?$(3$*(B) + ("tE" ?$(3$+(B) + ("t" ?$(3$,(B) + ("to" ?$(3$-(B) + ("tW" ?$(3$.(B) + ("tWa" ?$(3$.(B) + ("tWe" ["$(3$,%n(B"]) + ("tWu" ["$(3$,%r(B"]) + ("tWi" ["$(3$,%o(B"]) + ("tWE" ["$(3$,%q(B"]) + ("tW'" ["$(3$,%r(B"]) + + ("Ce" ?$(3$/(B) + ("Cu" ?$(3$0(B) + ("Ci" ?$(3$1(B) + ("Ca" ?$(3$2(B) + ("CE" ?$(3$3(B) + ("C" ?$(3$4(B) + ("Co" ?$(3$5(B) + ("CW" ?$(3$6(B) + ("CWa" ?$(3$6(B) + ("CWe" ["$(3$4%n(B"]) + ("CWu" ["$(3$4%r(B"]) + ("CWi" ["$(3$4%o(B"]) + ("CWE" ["$(3$4%q(B"]) + ("CW'" ["$(3$4%r(B"]) + + ("Pe" ?$(3$7(B) + ("Pu" ?$(3$8(B) + ("Pi" ?$(3$9(B) + ("Pa" ?$(3$:(B) + ("PE" ?$(3$;(B) + ("P" ?$(3$<(B) + ("Po" ?$(3$=(B) + ("PW" ?$(3$>(B) + ("PWa" ?$(3$>(B) + ("PWe" ["$(3$<%n(B"]) + ("PWu" ["$(3$<%r(B"]) + ("PWi" ["$(3$<%o(B"]) + ("PWE" ["$(3$<%q(B"]) + ("PW'" ["$(3$<%r(B"]) + + ("Se" ?$(3$?(B) + ("Su" ?$(3$@(B) + ("Si" ?$(3$A(B) + ("Sa" ?$(3$B(B) + ("SE" ?$(3$C(B) + ("S" ?$(3$D(B) + ("So" ?$(3$E(B) + ("SW" ?$(3$F(B) + ("SWa" ?$(3$F(B) + ("SWe" ["$(3$D%n(B"]) + ("SWu" ["$(3$D%r(B"]) + ("SWi" ["$(3$D%o(B"]) + ("SWE" ["$(3$D%q(B"]) + ("SW'" ["$(3$D%r(B"]) + + ("`Se" ?$(3$G(B) + ("`Su" ?$(3$H(B) + ("`Si" ?$(3$I(B) + ("`Sa" ?$(3$J(B) + ("`SE" ?$(3$K(B) + ("`S" ?$(3$L(B) + ("`So" ?$(3$M(B) + ("`SW" ?$(3$F(B) + ("`SWa" ?$(3$F(B) + ("`SWe" ["$(3$L%n(B"]) + ("`SWu" ["$(3$L%r(B"]) + ("`SWi" ["$(3$L%o(B"]) + ("`SWE" ["$(3$L%q(B"]) + ("`SW'" ["$(3$L%r(B"]) + + ("S2e" ?$(3$G(B) + ("S2u" ?$(3$H(B) + ("S2i" ?$(3$I(B) + ("S2a" ?$(3$J(B) + ("S2E" ?$(3$K(B) + ("S2" ?$(3$L(B) + ("S2o" ?$(3$M(B) + ("S2W" ?$(3$F(B) + ("S2Wa" ?$(3$F(B) + ("S2We" ["$(3$L%n(B"]) + ("S2Wu" ["$(3$L%r(B"]) + ("S2Wi" ["$(3$L%o(B"]) + ("S2WE" ["$(3$L%q(B"]) + ("S2W'" ["$(3$L%r(B"]) + + ("SSe" ?$(3$G(B) + ("SSu" ?$(3$H(B) + ("SSi" ?$(3$I(B) + ("SSa" ?$(3$J(B) + ("SSE" ?$(3$K(B) + ("SS" ?$(3$L(B) + ("SSo" ?$(3$M(B) + ("SSW" ?$(3$F(B) + ("SSWa" ?$(3$F(B) + ("SSWe" ["$(3$L%n(B"]) + ("SSWu" ["$(3$L%r(B"]) + ("SSWi" ["$(3$L%o(B"]) + ("SSWE" ["$(3$L%q(B"]) + ("SW'" ["$(3$L%r(B"]) + + ("fe" ?$(3$O(B) + ("fu" ?$(3$P(B) + ("fi" ?$(3$Q(B) + ("fa" ?$(3$R(B) + ("fE" ?$(3$S(B) + ("f" ?$(3$T(B) + ("fo" ?$(3$U(B) + ("fWe" ?$(3%4(B) + ("fWu" ?$(3%d(B) + ("fWi" ?$(3%D(B) + ("fW" ?$(3$V(B) + ("fWa" ?$(3$V(B) + ("fWE" ?$(3%T(B) + ("fW'" ?$(3%d(B) + ("fY" ?$(3$a(B) + ("fYa" ?$(3$a(B) + + ("Fe" ?$(3$O(B) + ("Fu" ?$(3$P(B) + ("Fi" ?$(3$Q(B) + ("Fa" ?$(3$R(B) + ("FE" ?$(3$S(B) + ("F" ?$(3$T(B) + ("Fo" ?$(3$U(B) + ("FWe" ?$(3%4(B) + ("FWu" ?$(3%d(B) + ("FWi" ?$(3%D(B) + ("FW" ?$(3$V(B) + ("FWa" ?$(3$V(B) + ("FWE" ?$(3%T(B) + ("FW'" ?$(3%d(B) + ("FY" ?$(3$a(B) + ("FYa" ?$(3$a(B) + + ("pe" ?$(3$W(B) + ("pu" ?$(3$X(B) + ("pi" ?$(3$Y(B) + ("pa" ?$(3$Z(B) + ("pE" ?$(3$[(B) + ("p" ?$(3$\(B) + ("po" ?$(3$](B) + ("pWe" ?$(3%5(B) + ("pWu" ?$(3%e(B) + ("pWi" ?$(3%E(B) + ("pW" ?$(3$^(B) + ("pWa" ?$(3$^(B) + ("pWE" ?$(3%U(B) + ("pW'" ?$(3%e(B) + + ("'" [""]) + ("''" ?') + (":" ?$(3$h(B) + ("::" ?$(3$i(B) + (":::" ?:) + ("." ?$(3$i(B) + (".." ?$(3%u(B) + ("..." ?.) + ("," ?$(3$j(B) + (",," ?,) + (";" ?$(3$k(B) + (";;" ?\;) + ("-:" ?$(3$l(B) + (":-" ?$(3$m(B) + ("*" ?*) + ("**" ?$(3$o(B) + (":|:" ?$(3$o(B) + ("?" ?$(3%x(B) + ("??" ?$(3$n(B) + ("`?" ?$(3$n(B) + ("???" ??) + ("<<" ?$(3%v(B) + (">>" ?$(3%w(B) + ("`!" ?$(3%t(B) + ("wWe" ?$(3%n(B) + ("wWu" ?$(3%r(B) + ("wWi" ?$(3%o(B) + ("wW" ?$(3%p(B) + ("wWa" ?$(3%p(B) + ("wWE" ?$(3%q(B) + ("wW'" ?$(3%r(B) + ("We" ?$(3%n(B) + ("Wu" ?$(3%r(B) + ("Wi" ?$(3%o(B) + ("W" ?$(3%p(B) + ("Wa" ?$(3%p(B) + ("WE" ?$(3%q(B) + ("W'" ?$(3%r(B) + ("`1" ?$(3$p(B) + ("`2" ?$(3$q(B) + ("`3" ?$(3$r(B) + ("`4" ?$(3$s(B) + ("`5" ?$(3$t(B) + ("`6" ?$(3$u(B) + ("`7" ?$(3$v(B) + ("`8" ?$(3$w(B) + ("`9" ?$(3$x(B) + ("`10" ?$(3$y(B) + ("`20" ?$(3$z(B) + ("`30" ?$(3${(B) + ("`40" ?$(3$|(B) + ("`50" ?$(3$}(B) + ("`60" ?$(3$~(B) + ("`70" ?$(3%!(B) + ("`80" ?$(3%"(B) + ("`90" ?$(3%#(B) + ("`100" ?$(3%$(B) + ("`1000" ["$(3$y%$(B"]) + ("`10000" ?$(3%%(B) +) + +;; The translation of `a' depends on the language (Tigrigna or Amharic). +(add-hook 'quail-mode-hook + (lambda nil + (quail-defrule "a" + (if (ethio-prefer-amharic-p) ?$(3"c(B ?$(3"f(B) + "quail-ethio"))) + +;;; quail/ethiopic.el ends here