;ELC ;;; compiled by nk@localhost.localdomain on Fri Dec 1 22:48:58 2006 ;;; from file /home/nk/pkg-build/test/mule-packages/mule-base/ethio-util.el ;;; emacs version 21.4 (patch 19) "Constant Variable" XEmacs Lucid. ;;; bytecomp version 2.27 XEmacs; 2000-09-12. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 19. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "20"))) (error "`ethio-util.el' was compiled for Emacs 20")) (or (boundp 'current-load-list) (setq current-load-list nil)) (require 'mule) ;;;###coding system: escape-quoted (byte-code "B!\"ć" [current-load-list exit-ethiopic-environment-data default-boundp set-default nil] 3) (defalias 'setup-ethiopic-environment #[nil "!" [set-language-environment "Ethiopic"] 2 "\ Setup multilingual environment for Ethiopic."]) (defalias 'setup-ethiopic-environment-internal #[nil "\n@@ !BB \n@A\"\nAg*\"\"\"\"" [exit-ethiopic-environment-data kb key-bindings ((" " . ethio-insert-space) ([(shift space)] . ethio-insert-ethio-space) ([(control ?\')] . ethio-gemination) ([f2] . ethio-toggle-space) ([(shift f2)] . ethio-replace-space) ([f3] . ethio-toggle-punctuation) ([f4] . ethio-sera-to-fidel-buffer) ([(shift f4)] . ethio-sera-to-fidel-region) ([(control f4)] . ethio-sera-to-fidel-mail-or-marker) ([f5] . ethio-fidel-to-sera-buffer) ([(shift f5)] . ethio-fidel-to-sera-region) ([(control f5)] . ethio-fidel-to-sera-mail-or-marker) ([f6] . ethio-modify-vowel) ([f7] . ethio-replace-space) ([f8] . ethio-input-special-character)) nil global-key-binding global-set-key add-hook quail-mode-hook ethio-select-a-translation find-file-hooks ethio-find-file write-file-hooks ethio-write-file after-save-hook] 4]) (defalias 'exit-ethiopic-environment #[nil "@@@A\"Aq\"\"\"\"" [exit-ethiopic-environment-data global-set-key remove-hook quail-mode-hook ethio-select-a-translation find-file-hooks ethio-find-file write-file-hooks ethio-write-file after-save-hook] 4 "\ Exit Ethiopic language environment"]) (defvar ethio-primary-language 'tigrigna "\ *Symbol that defines the primary language in SERA --> FIDEL conversion. The value should be one of: `tigrigna', `amharic' or `english'.") (defvar ethio-secondary-language 'english "\ *Symbol that defines the secondary language in SERA --> FIDEL conversion. The value should be one of: `tigrigna', `amharic' or `english'.") (defvar ethio-use-colon-for-colon nil "\ *Non-nil means associate ASCII colon with Ethiopic colon. If nil, associate ASCII colon with Ethiopic word separator, i.e., two vertically stacked dots. All SERA <--> FIDEL converters refer this variable.") (defvar ethio-use-three-dot-question nil "\ *Non-nil means associate ASCII question mark with Ethiopic old style question mark (three vertically stacked dots). If nil, associate ASCII question mark with Ethiopic stylised question mark. All SERA <--> FIDEL converters refer this variable.") (defvar ethio-quote-vowel-always nil "\ *Non-nil means always put an apostrophe before an isolated vowel (except at word initial) in FIDEL --> SERA conversion. If nil, put an apostrophe only between a sixth-form consonant and an isolated vowel.") (defvar ethio-W-sixth-always nil "\ *Non-nil means convert the Wu-form of a 12-form consonant to \"W'\" instead of \"Wu\" in FIDEL --> SERA conversion.") (defvar ethio-numeric-reduction 0 "\ *Degree of reduction in converting Ethiopic digits into Arabic digits. Should be 0, 1 or 2. For example, ({10}{9}{100}{80}{7}) is converted into: `10`9`100`80`7 if `ethio-numeric-reduction' is 0, `109100807 if `ethio-numeric-reduction' is 1, `10900807 if `ethio-numeric-reduction' is 2.") (defvar ethio-implicit-period-conversion t "\ *Non-nil means replacing the Ethiopic dot at the end of an Ethiopic sentence with an Ethiopic full stop.") (defvar ethio-java-save-lowercase nil "\ *Non-nil means save Ethiopic characters in lowercase hex numbers to Java files. If nil, use uppercases.") (byte-code " B" [ethio-sera-to-fidel-table current-load-list [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil (" " (?: (if ethio-use-colon-for-colon " $(3$l(B" "$(3$h(B") (32 (if ethio-use-colon-for-colon " $(3$l(B " "$(3$h(B")) (?- " $(3$m(B") (?: " $(3$i(B") (?| (if ethio-use-colon-for-colon " $(3$l(B|" " $(3$h(B|") (?: " $(3$o(B")))) nil nil nil nil nil nil ("" (?\' "$(3%s(B")) nil nil nil nil ("$(3$j(B") ("-" (?: "$(3$l(B")) ("$(3%u(B") nil nil nil nil nil nil nil nil nil nil nil ((if ethio-use-colon-for-colon "$(3$l(B" "$(3$h(B") (32 (if ethio-use-colon-for-colon "$(3$l(B " "$(3$h(B")) (?- "$(3$m(B") (?: "$(3$i(B") (?| (if ethio-use-colon-for-colon "$(3$l(B|" "$(3$h(B|") (?: "$(3$o(B"))) ("$(3$k(B") ("<" (?< "$(3%v(B")) nil (">" (?> "$(3%w(B")) ((if ethio-use-three-dot-question "$(3$n(B" "$(3%x(B")) nil ("$(3"f(B" (?2 "$(3#8(B")) ("$(3"((B" (?e "$(3"#(B") (?u "$(3"$(B") (?i "$(3"%(B") (?a "$(3"&(B") (?E "$(3"'(B") (?o "$(3")(B") (?W "$(3%b(B" (?e "$(3%2(B") (?u "$(3%b(B") (?i "$(3%B(B") (?a "$(3"*(B") (?E "$(3%R(B"))) ("$(3$4(B" (?e "$(3$/(B") (?u "$(3$0(B") (?i "$(3$1(B") (?a "$(3$2(B") (?E "$(3$3(B") (?o "$(3$5(B") (?W "$(3$6(B" (?a "$(3$6(B") (?e "$(3$4%n(B") (?u "$(3$4%r(B") (?i "$(3$4%o(B") (?E "$(3$4%q(B"))) ("$(3#b(B" (?e "$(3#](B") (?u "$(3#^(B") (?i "$(3#_(B") (?a "$(3#`(B") (?E "$(3#a(B") (?o "$(3#c(B") (?W "$(3#d(B" (?a "$(3#d(B") (?e "$(3#b%n(B") (?u "$(3#b%r(B") (?i "$(3#b%o(B") (?E "$(3#b%q(B"))) ("$(3"g(B" (?2 "$(3#9(B")) ("$(3$T(B" (?e "$(3$O(B") (?u "$(3$P(B") (?i "$(3$Q(B") (?a "$(3$R(B") (?E "$(3$S(B") (?o "$(3$U(B") (?W "$(3%d(B" (?e "$(3%4(B") (?u "$(3%d(B") (?i "$(3%D(B") (?a "$(3$V(B") (?E "$(3%T(B")) (?Y "$(3$a(B" (?a "$(3$a(B"))) ("$(3$$(B" (?e "$(3#}(B") (?u "$(3#~(B") (?i "$(3$!(B") (?a "$(3$"(B") (?E "$(3$#(B") (?o "$(3$%(B") (?W "$(3%c(B" (?e "$(3%3(B") (?u "$(3%c(B") (?i "$(3%C(B") (?a "$(3$&(B") (?E "$(3%S(B"))) ("$(3!6(B" (?e "$(3!1(B") (?u "$(3!2(B") (?i "$(3!3(B") (?a "$(3!4(B") (?E "$(3!5(B") (?o "$(3!7(B") (?W "$(3!8(B" (?a "$(3!8(B") (?e "$(3!6%n(B") (?u "$(3!6%r(B") (?i "$(3!6%o(B") (?E "$(3!6%q(B"))) ("$(3"h(B" (?2 "$(3#:(B")) ("$(3#j(B" (?e "$(3#e(B") (?u "$(3#f(B") (?i "$(3#g(B") (?a "$(3#h(B") (?E "$(3#i(B") (?o "$(3#k(B") (?W "$(3#l(B" (?a "$(3#l(B") (?e "$(3#j%n(B") (?u "$(3#j%r(B") (?i "$(3#j%o(B") (?E "$(3#j%q(B"))) ("$(3#"(B" (?e "$(3"{(B") (?u "$(3"|(B") (?i "$(3"}(B") (?a "$(3"~(B") (?E "$(3#!(B") (?o "$(3##(B") (?W "$(3#*(B" (?e "$(3#%(B") (?u "$(3#*(B") (?i "$(3#'(B") (?a "$(3#((B") (?E "$(3#)(B"))) ("$(3!.(B" (?e "$(3!)(B") (?u "$(3!*(B") (?i "$(3!+(B") (?a "$(3!,(B") (?E "$(3!-(B") (?o "$(3!/(B") (?W "$(3!0(B" (?a "$(3!0(B") (?e "$(3!.%n(B") (?u "$(3!.%r(B") (?i "$(3!.%o(B") (?E "$(3!.%q(B"))) ("$(3!>(B" (?e "$(3!9(B") (?u "$(3!:(B") (?i "$(3!;(B") (?a "$(3!<(B") (?E "$(3!=(B") (?o "$(3!?(B") (?W "$(3%a(B" (?e "$(3%1(B") (?u "$(3%a(B") (?i "$(3%A(B") (?a "$(3!@(B") (?E "$(3%Q(B")) (?Y "$(3$_(B" (?a "$(3$_(B"))) ("$(3"`(B" (?e "$(3"[(B") (?u "$(3"\(B") (?i "$(3"](B") (?a "$(3"^(B") (?E "$(3"_(B") (?o "$(3"a(B") (?W "$(3"b(B" (?a "$(3"b(B") (?e "$(3"`%n(B") (?u "$(3"`%r(B") (?i "$(3"`%o(B") (?E "$(3"`%q(B"))) ("$(3"i(B" (?2 "$(3#;(B")) ("$(3$<(B" (?e "$(3$7(B") (?u "$(3$8(B") (?i "$(3$9(B") (?a "$(3$:(B") (?E "$(3$;(B") (?o "$(3$=(B") (?W "$(3$>(B" (?a "$(3$>(B") (?e "$(3$<%n(B") (?u "$(3$<%r(B") (?i "$(3$<%o(B") (?E "$(3$<%q(B"))) ("$(3!v(B" (?e "$(3!q(B") (?u "$(3!r(B") (?i "$(3!s(B") (?a "$(3!t(B") (?E "$(3!u(B") (?o "$(3!w(B") (?W "$(3!~(B" (?e "$(3!y(B") (?u "$(3!~(B") (?i "$(3!{(B") (?a "$(3!|(B") (?E "$(3!}(B"))) ("$(3!N(B" (?e "$(3!I(B") (?u "$(3!J(B") (?i "$(3!K(B") (?a "$(3!L(B") (?E "$(3!M(B") (?o "$(3!O(B") (?W "$(3!P(B" (?a "$(3!P(B") (?e "$(3!N%n(B") (?u "$(3!N%r(B") (?i "$(3!N%o(B") (?E "$(3!N%q(B")) (?Y "$(3$`(B" (?a "$(3$`(B"))) ("$(3$D(B" (?e "$(3$?(B") (?u "$(3$@(B") (?i "$(3$A(B") (?a "$(3$B(B") (?E "$(3$C(B") (?o "$(3$E(B") (?W "$(3$F(B" (?a "$(3$F(B") (?e "$(3$D%n(B") (?u "$(3$D%r(B") (?i "$(3$D%o(B") (?E "$(3$D%q(B")) (?2 "$(3$L(B" (?e "$(3$G(B") (?u "$(3$H(B") (?i "$(3$I(B") (?a "$(3$J(B") (?E "$(3$K(B") (?o "$(3$M(B") (?W "$(3$F(B" (?a "$(3$F(B") (?e "$(3$L%n(B") (?u "$(3$L%r(B") (?i "$(3$L%o(B") (?E "$(3$L%q(B")))) ("$(3$,(B" (?e "$(3$'(B") (?u "$(3$((B") (?i "$(3$)(B") (?a "$(3$*(B") (?E "$(3$+(B") (?o "$(3$-(B") (?W "$(3$.(B" (?a "$(3$.(B") (?e "$(3$,%n(B") (?u "$(3$,%r(B") (?i "$(3$,%o(B") (?E "$(3$,%q(B"))) ("$(3"d(B" (?2 "$(3#6(B")) ("$(3"0(B" (?e "$(3"+(B") (?u "$(3",(B") (?i "$(3"-(B") (?a "$(3".(B") (?E "$(3"/(B") (?o "$(3"1(B") (?W "$(3"2(B" (?a "$(3"2(B") (?e "$(3"0%n(B") (?u "$(3"0%r(B") (?i "$(3"0%o(B") (?E "$(3"0%q(B"))) ("$(3%r(B" (?e "$(3%n(B") (?u "$(3%r(B") (?i "$(3%o(B") (?a "$(3%p(B") (?E "$(3%q(B")) ("$(3%N(B" (?e "$(3%I(B") (?u "$(3%J(B") (?i "$(3%K(B") (?a "$(3%L(B") (?E "$(3%M(B") (?o "$(3%O(B")) ("$(3#R(B" (?e "$(3#M(B") (?u "$(3#N(B") (?i "$(3#O(B") (?a "$(3#P(B") (?E "$(3#Q(B") (?o "$(3#S(B") (?W "$(3#T(B" (?a "$(3#T(B") (?e "$(3#R%n(B") (?u "$(3#R%r(B") (?i "$(3#R%o(B") (?E "$(3#R%q(B"))) ("$(3#J(B" (?e "$(3#E(B") (?u "$(3#F(B") (?i "$(3#G(B") (?a "$(3#H(B") (?E "$(3#I(B") (?o "$(3#K(B") (?W "$(3#L(B" (?a "$(3#L(B") (?e "$(3#J%n(B") (?u "$(3#J%r(B") (?i "$(3#J%o(B") (?E "$(3#J%q(B"))) nil nil nil nil nil ("" (?: "$(3$h(B") (?\? (if ethio-use-three-dot-question "$(3%x(B" "$(3$n(B")) (?! "$(3%t(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") (?g "$(3%^(B" (?e "$(3%Y(B") (?u "$(3%Z(B") (?i "$(3%[(B") (?a "$(3%\(B") (?E "$(3%](B") (?o "$(3%_(B")) (?h "$(3"H(B" (?e "$(3"C(B") (?u "$(3"D(B") (?i "$(3"E(B") (?a "$(3"F(B") (?E "$(3"G(B") (?o "$(3"I(B") (?W "$(3"P(B" (?e "$(3"K(B") (?u "$(3"P(B") (?i "$(3"M(B") (?a "$(3"N(B") (?E "$(3"O(B"))) (?k "$(3%>(B" (?e "$(3%9(B") (?u "$(3%:(B") (?i "$(3%;(B") (?a "$(3%<(B") (?E "$(3%=(B") (?o "$(3%?(B")) (?s "$(3!F(B" (?e "$(3!A(B") (?u "$(3!B(B") (?i "$(3!C(B") (?a "$(3!D(B") (?E "$(3!E(B") (?o "$(3!G(B") (?W "$(3!H(B" (?a "$(3!H(B") (?e "$(3!F%n(B") (?u "$(3!F%r(B") (?i "$(3!F%o(B") (?E "$(3!F%q(B"))) (?S "$(3$L(B" (?e "$(3$G(B") (?u "$(3$H(B") (?i "$(3$I(B") (?a "$(3$J(B") (?E "$(3$K(B") (?o "$(3$M(B") (?W "$(3$F(B" (?a "$(3$F(B") (?e "$(3$L%n(B") (?u "$(3$L%r(B") (?i "$(3$L%o(B") (?E "$(3$L%q(B"))) (?q "$(3%.(B" (?e "$(3%)(B") (?u "$(3%*(B") (?i "$(3%+(B") (?a "$(3%,(B") (?E "$(3%-(B") (?o "$(3%/(B"))) ("$(3"f(B" (?2 "$(3#8(B")) ("$(3"((B" (?e "$(3"#(B") (?u "$(3"$(B") (?i "$(3"%(B") (?a "$(3"&(B") (?E "$(3"'(B") (?o "$(3")(B") (?W "$(3%b(B" (?e "$(3%2(B") (?u "$(3%b(B") (?i "$(3%B(B") (?a "$(3"*(B") (?E "$(3%R(B"))) ("$(3"@(B" (?e "$(3";(B") (?u "$(3"<(B") (?i "$(3"=(B") (?a "$(3">(B") (?E "$(3"?(B") (?o "$(3"A(B") (?W "$(3"B(B" (?a "$(3"B(B") (?e "$(3"@%n(B") (?u "$(3"@%r(B") (?i "$(3"@%o(B") (?E "$(3"@%q(B"))) ("$(3#Z(B" (?e "$(3#U(B") (?u "$(3#V(B") (?i "$(3#W(B") (?a "$(3#X(B") (?E "$(3#Y(B") (?o "$(3#[(B") (?W "$(3#\(B" (?a "$(3#\(B") (?e "$(3#Z%o(B") (?u "$(3#Z%r(B") (?i "$(3#Z%p(B") (?E "$(3#Z%q(B"))) ("$(3"c(B" (?2 "$(3#5(B") (?a "$(3"j(B")) ("$(3$T(B" (?e "$(3$O(B") (?u "$(3$P(B") (?i "$(3$Q(B") (?a "$(3$R(B") (?E "$(3$S(B") (?o "$(3$U(B") (?W "$(3%d(B" (?e "$(3%4(B") (?u "$(3%d(B") (?i "$(3%D(B") (?a "$(3$V(B") (?E "$(3%T(B")) (?Y "$(3$a(B" (?a "$(3$a(B"))) ("$(3#r(B" (?e "$(3#m(B") (?u "$(3#n(B") (?i "$(3#o(B") (?a "$(3#p(B") (?E "$(3#q(B") (?o "$(3#s(B") (?W "$(3#z(B" (?e "$(3#u(B") (?u "$(3#z(B") (?i "$(3#w(B") (?a "$(3#x(B") (?E "$(3#y(B")) (?2 "$(3%^(B" (?e "$(3%Y(B") (?u "$(3%Z(B") (?i "$(3%[(B") (?a "$(3%\(B") (?E "$(3%](B") (?o "$(3%_(B"))) ("$(3!&(B" (?e "$(3!!(B") (?u "$(3!"(B") (?i "$(3!#(B") (?a "$(3!$(B") (?E "$(3!%(B") (?o "$(3!'(B") (?W "$(3"P(B" (?e "$(3"K(B") (?u "$(3"P(B") (?i "$(3"M(B") (?a "$(3"N(B") (?E "$(3"O(B")) (?2 "$(3"H(B" (?e "$(3"C(B") (?u "$(3"D(B") (?i "$(3"E(B") (?a "$(3"F(B") (?E "$(3"G(B") (?o "$(3"I(B") (?W "$(3"P(B" (?e "$(3"K(B") (?u "$(3"P(B") (?i "$(3"M(B") (?a "$(3"N(B") (?E "$(3"O(B")))) ("$(3"e(B" (?2 "$(3#7(B")) ("$(3#j(B" (?e "$(3#e(B") (?u "$(3#f(B") (?i "$(3#g(B") (?a "$(3#h(B") (?E "$(3#i(B") (?o "$(3#k(B") (?W "$(3#l(B" (?a "$(3#l(B") (?e "$(3#j%n(B") (?u "$(3#j%r(B") (?i "$(3#j%o(B") (?E "$(3#j%q(B"))) ("$(3"p(B" (?e "$(3"k(B") (?u "$(3"l(B") (?i "$(3"m(B") (?a "$(3"n(B") (?E "$(3"o(B") (?o "$(3"q(B") (?W "$(3"x(B" (?e "$(3"s(B") (?u "$(3"x(B") (?i "$(3"u(B") (?a "$(3"v(B") (?E "$(3"w(B")) (?2 "$(3%>(B" (?e "$(3%9(B") (?u "$(3%:(B") (?i "$(3%;(B") (?a "$(3%<(B") (?E "$(3%=(B") (?o "$(3%?(B"))) ("$(3!.(B" (?e "$(3!)(B") (?u "$(3!*(B") (?i "$(3!+(B") (?a "$(3!,(B") (?E "$(3!-(B") (?o "$(3!/(B") (?W "$(3!0(B" (?a "$(3!0(B") (?e "$(3!.%n(B") (?u "$(3!.%r(B") (?i "$(3!.%o(B") (?E "$(3!.%q(B"))) ("$(3!>(B" (?e "$(3!9(B") (?u "$(3!:(B") (?i "$(3!;(B") (?a "$(3!<(B") (?E "$(3!=(B") (?o "$(3!?(B") (?W "$(3%a(B" (?e "$(3%1(B") (?u "$(3%a(B") (?i "$(3%A(B") (?a "$(3!@(B") (?E "$(3%Q(B")) (?Y "$(3$_(B" (?a "$(3$_(B"))) ("$(3"X(B" (?e "$(3"S(B") (?u "$(3"T(B") (?i "$(3"U(B") (?a "$(3"V(B") (?E "$(3"W(B") (?o "$(3"Y(B") (?W "$(3"Z(B" (?a "$(3"Z(B") (?e "$(3"X%n(B") (?u "$(3"X%r(B") (?i "$(3"X%o(B") (?E "$(3"X%q(B"))) ("$(3"i(B" (?2 "$(3#;(B")) ("$(3$\(B" (?e "$(3$W(B") (?u "$(3$X(B") (?i "$(3$Y(B") (?a "$(3$Z(B") (?E "$(3$[(B") (?o "$(3$](B") (?W "$(3%e(B" (?e "$(3%5(B") (?u "$(3%e(B") (?i "$(3%E(B") (?a "$(3$^(B") (?E "$(3%U(B"))) ("$(3!f(B" (?e "$(3!a(B") (?u "$(3!b(B") (?i "$(3!c(B") (?a "$(3!d(B") (?E "$(3!e(B") (?o "$(3!g(B") (?W "$(3!n(B" (?e "$(3!i(B") (?u "$(3!n(B") (?i "$(3!k(B") (?a "$(3!l(B") (?E "$(3!m(B")) (?2 "$(3%.(B" (?e "$(3%)(B") (?u "$(3%*(B") (?i "$(3%+(B") (?a "$(3%,(B") (?E "$(3%-(B") (?o "$(3%/(B"))) ("$(3!N(B" (?e "$(3!I(B") (?u "$(3!J(B") (?i "$(3!K(B") (?a "$(3!L(B") (?E "$(3!M(B") (?o "$(3!O(B") (?W "$(3!P(B" (?a "$(3!P(B") (?e "$(3!N%n(B") (?u "$(3!N%r(B") (?i "$(3!N%o(B") (?E "$(3!N%q(B")) (?Y "$(3$`(B" (?a "$(3$`(B"))) ("$(3!V(B" (?e "$(3!Q(B") (?u "$(3!R(B") (?i "$(3!S(B") (?a "$(3!T(B") (?E "$(3!U(B") (?o "$(3!W(B") (?W "$(3!X(B" (?a "$(3!X(B") (?e "$(3!V%n(B") (?u "$(3!V%r(B") (?i "$(3!V%o(B") (?E "$(3!V%q(B")) (?2 "$(3!F(B" (?e "$(3!A(B") (?u "$(3!B(B") (?i "$(3!C(B") (?a "$(3!D(B") (?E "$(3!E(B") (?o "$(3!G(B") (?W "$(3!H(B" (?a "$(3!H(B") (?e "$(3!F%n(B") (?u "$(3!F%r(B") (?i "$(3!F%o(B") (?E "$(3!F%q(B")))) ("$(3"8(B" (?e "$(3"3(B") (?u "$(3"4(B") (?i "$(3"5(B") (?a "$(3"6(B") (?E "$(3"7(B") (?o "$(3"9(B") (?W "$(3":(B" (?a "$(3":(B") (?e "$(3"8%n(B") (?u "$(3"8%r(B") (?i "$(3"8%o(B") (?E "$(3"8%q(B"))) ("$(3"d(B" (?2 "$(3#6(B")) ("$(3"0(B" (?e "$(3"+(B") (?u "$(3",(B") (?i "$(3"-(B") (?a "$(3".(B") (?E "$(3"/(B") (?o "$(3"1(B") (?W "$(3"2(B" (?a "$(3"2(B") (?e "$(3"0%n(B") (?u "$(3"0%r(B") (?i "$(3"0%o(B") (?E "$(3"0%q(B"))) ("$(3#2(B" (?e "$(3#-(B") (?u "$(3#.(B") (?i "$(3#/(B") (?a "$(3#0(B") (?E "$(3#1(B") (?o "$(3#3(B") (?W "$(3%p(B" (?e "$(3%n(B") (?u "$(3%r(B") (?i "$(3%o(B") (?a "$(3%p(B") (?E "$(3%q(B"))) ("$(3!^(B" (?e "$(3!Y(B") (?u "$(3!Z(B") (?i "$(3![(B") (?a "$(3!\(B") (?E "$(3!](B") (?o "$(3!_(B") (?W "$(3!`(B" (?a "$(3!`(B") (?e "$(3!^%n(B") (?u "$(3!^%r(B") (?i "$(3!^%o(B") (?E "$(3!^%q(B"))) ("$(3#R(B" (?e "$(3#M(B") (?u "$(3#N(B") (?i "$(3#O(B") (?a "$(3#P(B") (?E "$(3#Q(B") (?o "$(3#S(B") (?W "$(3#T(B" (?a "$(3#T(B") (?e "$(3#R%n(B") (?u "$(3#R%r(B") (?i "$(3#R%o(B") (?E "$(3#R%q(B"))) ("$(3#B(B" (?e "$(3#=(B") (?u "$(3#>(B") (?i "$(3#?(B") (?a "$(3#@(B") (?E "$(3#A(B") (?o "$(3#C(B") (?W "$(3#D(B" (?a "$(3#D(B") (?e "$(3#B%n(B") (?u "$(3#B%r(B") (?i "$(3#B%o(B") (?E "$(3#B%q(B"))) nil nil nil nil nil]] 2) (defalias 'ethio-sera-to-fidel-region #[(beg end &optional secondary force) " \n} \")" [force secondary end beg ethio-sera-to-fidel-buffer] 3 "\ Convert the characters in region from SERA to FIDEL. The variable `ethio-primary-language' specifies the primary language and `ethio-secondary-language' specifies the secondary. If the 3rd parameter SECONDARY is given and non-nil, assume the region begins begins with the secondary language; otherwise with the primary language. If the 4th parameter FORCE is given and non-nil, perform conversion even if the buffer is read-only. See also the descriptions of the variables `ethio-use-colon-for-colon' and `ethio-use-three-dot-question'." "r\nP"]) (defalias 'ethio-sera-to-fidel-buffer #[(&optional secondary force) " !! ʉ ebm a a! a! a\n a I eb#!seb#!seb#ڊu`)`\"m." [ethio-use-colon-for-colon buffer-read-only next-language ethio-secondary-language ethio-primary-language current-language y-or-n-p "Buffer is read-only. Force to convert? " error "" nil english ethio-sera-to-fidel-english amharic ethio-sera-to-fidel-ethio tigrigna toggle re-search-forward "\\([$(3!!(B-$(3$a%)(B-$(3%e%n(B-$(3%r%s(B]\\)$(3%u(B\\([ ]\\)" t replace-match "\\1$(3$i(B\\2" "\\([$(3!!(B-$(3$a%)(B-$(3%e%n(B-$(3%r%s(B]\\)$(3%u(B$" "\\1$(3$i(B" "\\ce$(3%s(B" 0 compose-region -2 ethio-use-three-dot-question force case-fold-search secondary ethio-implicit-period-conversion] 9 "\ Convert the current buffer from SERA to FIDEL. The variable `ethio-primary-language' specifies the primary language and `ethio-secondary-language' specifies the secondary. If the 1st optional parameter SECONDARY is non-nil, assume the buffer begins with the secondary language; otherwise with the primary language. If the 2nd optional parametr FORCE is non-nil, perform conversion even if the buffer is read-only. See also the descriptions of the variables `ethio-use-colon-for-colon' and `ethio-use-three-dot-question'." "P"]) (defalias 'ethio-sera-to-fidel-english #[nil "m#s!gUuegU!X RN)" [new-language nil search-forward "\\" 0 delete-backward-char 1 ?\\ 32 delete-char toggle ethio-process-language-flag] 4 "\ Handle English section in SERA to FIDEL conversion. Conversion stops when a language switch is found. Then delete that switch and return the name of the new language as a symbol."]) (defalias 'ethio-sera-to-fidel-ethio #[(lang) "Ɖ'H(aɪʠm g! U U UЪ#S YuI!! ; U`u' Hg \"A up @`| ; c !c\n!!u!gU!!!  U! !ҕb ." [start table2 verbatim table new-language ch nil ?a tigrigna "$(3"f(B" "$(3"c(B" boundp sera-being-called-by-w3 ?< ?& search-forward ">" ";" 0 128 1 looking-at "`[1-9][0-9]*" delete-char ethio-convert-digit ?\\ assoc eval "\\\\~! ?" replace-match "" 32 toggle "~! ?" t ethio-process-language-flag ?~ ethio-tilde-escape "\\(,\\|\\.\\|;\\|:\\|'\\|`\\|?\\|\\\\\\)+" ethio-sera-to-fidel-table lang] 7 "\ Handle Ethiopic section in SERA to FIDEL conversion. Conversion stops when a language switch is found. Then delete that switch and return the name of the new language as a symbol. The parameter LANG (symbol, either `amharic' or `tigrigna') affects the conversion of \"a\"."]) (defalias 'ethio-process-language-flag #[nil "ĉ!Ȕȕ{!ɔɕ{! \n`ɕ|gU! !Ȕȕ{!`ȕ|gU! *" [ethio-secondary-language ethio-primary-language lang2 lang1 nil looking-at "~\\([a-z][a-z][a-z]?\\)~\\([a-z][a-z][a-z]?\\)[ \n\\]" ethio-flag-to-language 1 2 32 delete-char "~\\([a-z][a-z][a-z]?\\)[ \n\\]"] 3 "\ Process a language flag of the form \"~lang\" or \"~lang1~lang2\". If looking at \"~lang1~lang2\", set `ethio-primary-language' and `ethio-une-secondary-language' based on \"lang1\" and \"lang2\". Then delete the language flag \"~lang1~lang2\" from the buffer. Return value is the new primary language. If looking at \"~lang\", delete that language flag \"~lang\" from the buffer and return that language. In this case `ethio-primary-language' and `ethio-uni-secondary-language' are left unchanged. If an unsupported language flag is found, just return nil without changing anything."]) (defalias 'ethio-tilde-escape #[nil "`w\n`{\n`|gU! ɘʉ ˘ĉ ̘ĉ ͘ʉ Θc Иc Ҙc Ԙc ֘c*" [ethio-use-three-dot-question ethio-use-colon-for-colon p command nil "^ \n\\\\" 32 delete-char 1 "-:" t "`:" "?" "`|" "e" "$(3%j(B" "E" "$(3%k(B" "a" "$(3%l(B" "A" "$(3%m(B" "X" "$(3%i(B"] 2 "\ Handle a SERA tilde escape in Ethiopic section and delete it. Delete the escape even it is not recognised."]) (defalias 'ethio-flag-to-language #[(flag) "˜ÇĘŘƇǘȘɇ" [flag "en" "eng" english "ti" "tir" tigrigna "am" "amh" amharic] 2]) (defalias 'ethio-convert-digit #[nil "‰gYX!gU! Tr \"UZHc SUZHc Uc \"Uc ϥ\"\"*" [ch z nil ?1 ?9 delete-char 1 0 ?0 mod 2 [?$(3$y(B ?$(3$z(B ?$(3${(B ?$(3$|(B ?$(3$}(B ?$(3$~(B ?$(3%!(B ?$(3%"(B ?$(3%#(B] [?$(3$q(B ?$(3$r(B ?$(3$s(B ?$(3$t(B ?$(3$u(B ?$(3$v(B ?$(3$w(B ?$(3$x(B] ?2 "$(3$p(B" 4 "$(3%$(B" insert-char ?$(3%%(B] 4 "\ Convert Arabic digits to Ethiopic digits."]) (defalias 'ethio-sera-to-fidel-mail-or-marker #[(&optional arg) " a a!!!" [arg major-mode rmail-mode mail-mode ethio-sera-to-fidel-mail prefix-numeric-value ethio-sera-to-fidel-marker] 3 "\ Execute ethio-sera-to-fidel-mail or ethio-sera-to-fidel-marker depending on the current major mode. If in rmail-mode or in mail-mode, execute the former; otherwise latter." "P"]) (defalias 'ethio-sera-to-fidel-mail #[(&optional arg) "Ɖeb aɪ\nQ#`!#eb # b#!`#!`\"ceb #!` #!`\" d\"eb #` \" aTHdƓ+" [rmail-message-vector arg mail-header-separator buffer-read-only major-mode border nil search-forward rmail-mode "\n\n" "\n" t error "header separator not found" re-search-forward "^$" "^Subject: " "^\n" replace-match "" ethio-sera-to-fidel-region "^\n" 0 delete-backward-char 6 "$" line-end-position "^Subject: " rmail-current-message] 6 "\ Convert SERA to FIDEL to read/write mail and news. If the buffer contains the markers \"\" and \"\", convert the segments between them into FIDEL. If invoked interactively and there is no marker, convert the subject field and the body into FIDEL using `ethio-sera-to-fidel-region'." "p"]) (defalias 'ethio-sera-to-fidel-marker #[(&optional force) " !!eb#`#̔d$e)" [force buffer-read-only y-or-n-p "Buffer is read-only. Force to convert? " error "" re-search-forward "" nil t ethio-sera-to-fidel-region "" 0] 6 "\ Convert the regions surrounded by \"\" and \"\" from SERA to FIDEL. Assume that each region begins with `ethio-primary-language'. The markers \"\" and \"\" themselves are not deleted." "P"]) (byte-code " B" [ethio-fidel-to-sera-map current-load-list ["he" "hu" "hi" "ha" "hE" "h" "ho" "" "le" "lu" "li" "la" "lE" "l" "lo" "lWa" "He" "Hu" "Hi" "Ha" "HE" "H" "Ho" "HWa" "me" "mu" "mi" "ma" "mE" "m" "mo" "mWa" "`se" "`su" "`si" "`sa" "`sE" "`s" "`so" "`sWa" "re" "ru" "ri" "ra" "rE" "r" "ro" "rWa" "se" "su" "si" "sa" "sE" "s" "so" "sWa" "xe" "xu" "xi" "xa" "xE" "x" "xo" "xWa" "qe" "qu" "qi" "qa" "qE" "q" "qo" "" "qWe" "" "qWi" "qWa" "qWE" "qW'" "" "" "Qe" "Qu" "Qi" "Qa" "QE" "Q" "Qo" "" "QWe" "" "QWi" "QWa" "QWE" "QW'" "" "" "be" "bu" "bi" "ba" "bE" "b" "bo" "bWa" "ve" "vu" "vi" "va" "vE" "v" "vo" "vWa" "te" "tu" "ti" "ta" "tE" "t" "to" "tWa" "ce" "cu" "ci" "ca" "cE" "c" "co" "cWa" "`he" "`hu" "`hi" "`ha" "`hE" "`h" "`ho" "" "hWe" "" "hWi" "hWa" "hWE" "hW'" "" "" "ne" "nu" "ni" "na" "nE" "n" "no" "nWa" "Ne" "Nu" "Ni" "Na" "NE" "N" "No" "NWa" "e" "u" "i" "A" "E" "I" "o" "ea" "ke" "ku" "ki" "ka" "kE" "k" "ko" "" "kWe" "" "kWi" "kWa" "kWE" "kW'" "" "" "Ke" "Ku" "Ki" "Ka" "KE" "K" "Ko" "" "KWe" "" "KWi" "KWa" "KWE" "KW'" "" "" "we" "wu" "wi" "wa" "wE" "w" "wo" "" "`e" "`u" "`i" "`a" "`E" "`I" "`o" "" "ze" "zu" "zi" "za" "zE" "z" "zo" "zWa" "Ze" "Zu" "Zi" "Za" "ZE" "Z" "Zo" "ZWa" "ye" "yu" "yi" "ya" "yE" "y" "yo" "yWa" "de" "du" "di" "da" "dE" "d" "do" "dWa" "De" "Du" "Di" "Da" "DE" "D" "Do" "DWa" "je" "ju" "ji" "ja" "jE" "j" "jo" "jWa" "ge" "gu" "gi" "ga" "gE" "g" "go" "" "gWe" "" "gWi" "gWa" "gWE" "gW'" "" "" "Ge" "Gu" "Gi" "Ga" "GE" "G" "Go" "GWa" "Te" "Tu" "Ti" "Ta" "TE" "T" "To" "TWa" "Ce" "Cu" "Ci" "Ca" "CE" "C" "Co" "CWa" "Pe" "Pu" "Pi" "Pa" "PE" "P" "Po" "PWa" "Se" "Su" "Si" "Sa" "SE" "S" "So" "SWa" "`Se" "`Su" "`Si" "`Sa" "`SE" "`S" "`So" "" "fe" "fu" "fi" "fa" "fE" "f" "fo" "fWa" "pe" "pu" "pi" "pa" "pE" "p" "po" "pWa" "mYa" "rYa" "fYa" "" "" "" "" "" " " " : " "::" "," ";" "-:" ":-" "`?" ":|:" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "20" "30" "40" "50" "60" "70" "80" "90" "100" "10000" "" "" "" "`qe" "`qu" "`qi" "`qa" "`qE" "`q" "`qo" "" "mWe" "bWe" "GWe" "fWe" "pWe" "" "" "" "`ke" "`ku" "`ki" "`ka" "`kE" "`k" "`ko" "" "mWi" "bWi" "GWi" "fWi" "pWi" "" "" "" "Xe" "Xu" "Xi" "Xa" "XE" "X" "Xo" "" "mWE" "bWE" "GWE" "fWE" "pWE" "" "" "" "`ge" "`gu" "`gi" "`ga" "`gE" "`g" "`go" "" "mW'" "bW'" "GW'" "fW'" "pW'" "" "" "" "\\~X " "\\~e " "\\~E " "\\~a " "\\~A " "wWe" "wWi" "wWa" "wWE" "wW'" "''" "`!" "." "<<" ">>" "?"]] 2) (defalias 'ethio-prefer-amharic-p #[nil " a a?a" [ethio-secondary-language ethio-primary-language amharic tigrigna] 2]) (defalias 'ethio-language-to-flag #[(lang) "a‡aćaƇLJ" [lang english "eng" tigrigna "tir" amharic "amh" ""] 2]) (defalias 'ethio-fidel-to-sera-region #[(begin end &optional secondary force) " \n} \")" [force secondary end begin ethio-fidel-to-sera-buffer] 3 "\ Replace all the FIDEL characters in the region to the SERA format. The variable `ethio-primary-language' specifies the primary language and `ethio-secondary-language' specifies the secondary. If the 3dr parameter SECONDARY is given and non-nil, try to convert the region so that it begins in the secondary language; otherwise with the primary language. If the 4th parameter FORCE is given and non-nil, convert even if the buffer is read-only. See also the descriptions of the variables `ethio-use-colon-for-colon', `ethio-use-three-dot-question', `ethio-quote-vowel-always' and `ethio-numeric-reduction'." "r\nP"]) (defalias 'ethio-fidel-to-sera-buffer #[(&optional secondary force) "AC!!ʉ ̪ʉ@DAE I I I IF I I I I\" I Ied\"ebm?g !aB !! a@c X Y X Y X sG c Hc !$ Y X Y Y X Hcʉ|BU\n Hʉ|BU s HOcʉ| Hcʉ| Y X Y X acuʉ| HIJac@c Ucu au!cTbK!K LU MUN LUOP#uʉ|." [lonec fidel digit mode ethio-fidel-to-sera-map ch y-or-n-p "Buffer is read-only. Force to convert? " error "" nil ethio-prefer-amharic-p "\\~amh " "\\~tir " 353 "`:" 357 ":" " : " "-:" 359 "?" 463 "`?" mapcar #[(x) "\n HĪI" [ethio-W-sixth-always x ethio-fidel-to-sera-map 2 ?\' ?u] 3] (77 93 141 181 197 277 440 441 442 443 444 457) 160 "a" "e" decompose-region char-charset ethiopic ethio-char-to-ethiocode delete-char 1 346 384 444 453 457 (160 161 162 163 164 166 167) "'" ethio-lone-consonant-p t 360 458 448 452 0 "`" 2 (370 379 380) ?a ?z ?A ?Z english "\\~eng " ?\\ "\\" looking-at "[,.;:'`?]+" boundp flag buffer-read-only ethio-numeric-reduction force case-fold-search ethio-use-colon-for-colon ethio-use-three-dot-question ethio-quote-vowel-always secondary ethio-secondary-language ethio-primary-language sera-being-called-by-w3 ?< ?& search-forward ">" ";"] 9 "\ Replace all the FIDEL characters in the current buffer to the SERA format. The variable `ethio-primary-language' specifies the primary language and `ethio-secondary-language' specifies the secondary. If the 1st optional parameter SECONDARY is non-nil, try to convert the region so that it begins in the secondary language; otherwise with the primary language. If the 2nd optional parameter FORCE is non-nil, convert even if the buffer is read-only. See also the descriptions of the variables `ethio-use-colon-for-colon', `ethio-use-three-dot-question', `ethio-quote-vowel-always' and `ethio-numeric-reduction'." "P"]) (defalias 'ethio-lone-consonant-p #[(ethiocode) "W¦Us" [ethiocode 344 8 5 (389 405 421 437 440 441 442 443 444 457)] 2 "\ If ETHIOCODE is an Ethiopic lone consonant, return t."]) (defalias 'ethio-fidel-to-sera-mail-or-marker #[(&optional arg) " a a !" [arg major-mode rmail-mode mail-mode ethio-fidel-to-sera-mail ethio-fidel-to-sera-marker] 2 "\ Execute ethio-fidel-to-sera-mail or ethio-fidel-to-sera-marker depending on the current major mode. If in rmail-mode or in mail-mode, execute the former; otherwise latter." "P"]) (defalias 'ethio-fidel-to-sera-mail #[nil "Ɖeb\naɪQ#`!# d\" bcdbceb #`  # \" bcc*\naTHdƓ+" [mail-header-separator buffer-read-only major-mode beg end border nil search-forward rmail-mode "\n\n" "\n" t error "header separator not found" re-search-forward "\\ce" ethio-fidel-to-sera-region "" "" "^Subject: " line-end-position rmail-message-vector rmail-current-message] 4 "\ Convert FIDEL to SERA to read/write mail and news. If the body contains at least one Ethiopic character, 1) insert the string \"\" at the beginning of the body, 2) insert \"\" at the end of the body, and 3) convert the body into SERA. The very same procedure applies to the subject field, too." nil]) (defalias 'ethio-fidel-to-sera-marker #[(&optional force) " !!eb#`#̔d$e)" [force buffer-read-only y-or-n-p "Buffer is read-only. Force to convert? " error "" re-search-forward "" nil t ethio-fidel-to-sera-region "" 0] 6 "\ Convert the regions surrounded by \"\" and \"\" from FIDEL to SERA. The markers \"\" and \"\" themselves are not deleted." "P"]) (defalias 'ethio-modify-vowel #[nil "gƉ !a !! !a! !Х_ Ц Y X Y X Y! U !! Uւ Uނ U U₇ U䂇 U悇 U肇 Uꂇ U ւ₇ U  U! U킇 U U U U U U U  s! U  U \\ U \\ U \\ U \\ U \\ U  U! U U U U  U@ U U  AU! UB UC UD U  UE UC U  FU! UG UH UI U  UJ UH U  KU! UL UM UN U  UO UM U  PU! UQ UR US U  UT UR U  Us؁V! U \\ U \\ U @\\ U WU XUA UF UK UP U \\ U \\ U  YY ZX؁[! UY U\\ U] U^ UZ UZ U _X؁`! U U T U \\ U \\ U \\ U \\ U _\\ U ́a!\nbX!cde!!fP!cbX!e!c." [newch modulo composite base ch vowel nil char-charset composition string-to-char decompose-composite-char t ethiopic error "Not a valid character." ethio-char-to-ethiocode 8 344 380 448 452 458 160 ethio-prefer-amharic-p message "Modify vowel to: [auiAEIoW\"] " "Modify vowel to: [euiAEIoW\"] " read-char ?e ?u 161 ?i 162 ?A 163 ?E 164 ?I 165 ?o 166 ?W 167 ?a ?\" 208 "Modify vowel to: [euiaEIo\"] " 209 210 211 212 213 214 (72 88 136 176 192 272) "Modify vowel to: [euiaE'\"] " 5 2 3 4 ?\' 31 392 440 408 424 103 393 441 409 425 287 394 442 410 426 335 395 443 411 427 343 396 444 412 428 (392 408 424 440) "Modify vowel to: [eiEau'\"] " 0 1 453 457 "Modify vowel to: [eiaE'u\"] " 454 455 456 6 "Modify vowel to: [euiaE'o\"] " "Invalid vowel" delete-char compose-string char-to-string ethio-ethiocode-to-char "$(3%s(B"] 7 "\ Modify the vowel of the FIDEL that is under the cursor." nil]) (defalias 'ethio-ethiocode-to-char #[(ethiocode) "å\\\"\\#" [ethiocode make-char ethiopic 94 33 mod] 6]) (defalias 'ethio-char-to-ethiocode #[(ch) " !a !A@Z_8Z\\)" [char-components ch char-charset ethiopic split-char 33 94 2] 4]) (defalias 'ethio-replace-space #[(ch begin end) "\ns! }\nUeb##qeb#!Дbo\nUeb#!seb#!Дboeb#!Дboeb#!Дbo*" [end begin ch (?1 ?2 ?3) error "" ?1 search-forward "$(3$h(B" nil t replace-match " " re-search-forward "\\(\\ce\\) \\(\\ce\\)" "\\1 \\2" 2 ?2 " " "\\(\\ce\\) \\(\\ce\\)" "\\1 \\2" "\\(\\ce\\) ?\\(\\ce\\)" "\\1$(3$h(B\\2" "\\(\\ce\\) \\( *\\ce\\)"] 4 "\ Replace ASCII spaces with Ethiopic word separators in the region. In the specified region, replace word separators surrounded by two Ethiopic characters, depending on the first parameter CH, which should be 1, 2, or 3. If CH = 1, word separator will be replaced with an ASCII space. If CH = 2, with two ASCII spaces. If CH = 3, with the Ethiopic colon-like word separator. The second and third parameters BEGIN and END specify the region." "*cReplace spaces to: 1 (sg col), 2 (dbl col), 3 (Ethiopic)\nr"]) (defalias 'ethio-input-special-character #[(arg) "UcUcUcUcUc!" [arg ?1 "$(3%j(B" ?2 "$(3%k(B" ?3 "$(3%l(B" ?4 "$(3%m(B" ?5 "$(3%i(B" error ""] 2 "\ Allow the user to input special characters." "*cInput number: 1.$(3%j(B 2.$(3%k(B 3.$(3%l(B 4.$(3%m(B 5.$(3%i(B"]) (byte-code " B\nGW\n Hǘ\n HP! !# T^*Ƈ" [str current-load-list ethio-fidel-to-tex-map i ["heG" "huG" "hiG" "haG" "hEG" "hG" "hoG" "" "leG" "luG" "liG" "laG" "lEG" "lG" "loG" "lWaG" "HeG" "HuG" "HiG" "HaG" "HEG" "HG" "HoG" "HWaG" "meG" "muG" "miG" "maG" "mEG" "mG" "moG" "mWaG" "sseG" "ssuG" "ssiG" "ssaG" "ssEG" "ssG" "ssoG" "ssWaG" "reG" "ruG" "riG" "raG" "rEG" "rG" "roG" "rWaG" "seG" "suG" "siG" "saG" "sEG" "sG" "soG" "sWaG" "xeG" "xuG" "xiG" "xaG" "xEG" "xG" "xoG" "xWaG" "qeG" "quG" "qiG" "qaG" "qEG" "qG" "qoG" "" "qWeG" "" "qWiG" "qWaG" "qWEG" "qWG" "" "" "QeG" "QuG" "QiG" "QaG" "QEG" "QG" "QoG" "" "QWeG" "" "QWiG" "QWaG" "QWEG" "QWG" "" "" "beG" "buG" "biG" "baG" "bEG" "bG" "boG" "bWaG" "veG" "vuG" "viG" "vaG" "vEG" "vG" "voG" "vWaG" "teG" "tuG" "tiG" "taG" "tEG" "tG" "toG" "tWaG" "ceG" "cuG" "ciG" "caG" "cEG" "cG" "coG" "cWaG" "hheG" "hhuG" "hhiG" "hhaG" "hhEG" "hhG" "hhoG" "" "hWeG" "" "hWiG" "hWaG" "hWEG" "hWG" "" "" "neG" "nuG" "niG" "naG" "nEG" "nG" "noG" "nWaG" "NeG" "NuG" "NiG" "NaG" "NEG" "NG" "NoG" "NWaG" "eG" "uG" "iG" "AG" "EG" "IG" "oG" "eaG" "keG" "kuG" "kiG" "kaG" "kEG" "kG" "koG" "" "kWeG" "" "kWiG" "kWaG" "kWEG" "kWG" "" "" "KeG" "KuG" "KiG" "KaG" "KEG" "KG" "KoG" "" "KWeG" "" "KWiG" "KWaG" "KWEG" "KWG" "" "" "weG" "wuG" "wiG" "waG" "wEG" "wG" "woG" "" "eeG" "uuG" "iiG" "aaG" "EEG" "IIG" "ooG" "" "zeG" "zuG" "ziG" "zaG" "zEG" "zG" "zoG" "zWaG" "ZeG" "ZuG" "ZiG" "ZaG" "ZEG" "ZG" "ZoG" "ZWaG" "yeG" "yuG" "yiG" "yaG" "yEG" "yG" "yoG" "yWaG" "deG" "duG" "diG" "daG" "dEG" "dG" "doG" "dWaG" "DeG" "DuG" "DiG" "DaG" "DEG" "DG" "DoG" "DWaG" "jeG" "juG" "jiG" "jaG" "jEG" "jG" "joG" "jWaG" "geG" "guG" "giG" "gaG" "gEG" "gG" "goG" "" "gWeG" "" "gWiG" "gWaG" "gWEG" "gWG" "" "" "GeG" "GuG" "GiG" "GaG" "GEG" "GG" "GoG" "GWaG" "TeG" "TuG" "TiG" "TaG" "TEG" "TG" "ToG" "TWaG" "CeG" "CuG" "CiG" "CaG" "CEG" "CG" "CoG" "CWaG" "PeG" "PuG" "PiG" "PaG" "PEG" "PG" "PoG" "PWaG" "SeG" "SuG" "SiG" "SaG" "SEG" "SG" "SoG" "SWaG" "SSeG" "SSuG" "SSiG" "SSaG" "SSEG" "SSG" "SSoG" "" "feG" "fuG" "fiG" "faG" "fEG" "fG" "foG" "fWaG" "peG" "puG" "piG" "paG" "pEG" "pG" "poG" "pWaG" "mYaG" "rYaG" "fYaG" "" "" "" "" "" "" "spaceG" "periodG" "commaG" "semicolonG" "colonG" "precolonG" "oldqmarkG" "pbreakG" "andG" "huletG" "sostG" "aratG" "amstG" "sadstG" "sabatG" "smntG" "zeteNG" "asrG" "heyaG" "selasaG" "arbaG" "hemsaG" "slsaG" "sebaG" "semanyaG" "zeTanaG" "metoG" "asrxiG" "" "" "" "qqeG" "qquG" "qqiG" "qqaG" "qqEG" "qqG" "qqoG" "" "mWeG" "bWeG" "GWeG" "fWeG" "pWeG" "" "" "" "kkeG" "kkuG" "kkiG" "kkaG" "kkEG" "kkG" "kkoG" "" "mWiG" "bWiG" "GWiG" "fWiG" "pWiG" "" "" "" "XeG" "XuG" "GXiG" "XaG" "XEG" "XG" "XoG" "" "mWEG" "bWEG" "GWEG" "fWEG" "pWEG" "" "" "" "ggeG" "gguG" "ggiG" "ggaG" "ggEG" "ggG" "ggoG" "" "mWG" "bWG" "GWG" "fWG" "pWG" "" "" "" "ornamentG" "flandG" "iflandG" "africaG" "iafricaG" "wWeG" "wWiG" "wWaG" "wWEG" "wWG" "" "slaqG" "dotG" "lquoteG" "rquoteG" "qmarkG"] 0 nil "" put intern "ethio-tex-command-" ethio-fidel-char ethio-ethiocode-to-char] 6) (defalias 'ethio-fidel-to-tex-buffer #[nil "eb#ʼn#qed\"eb#!ucujeb#h!!Hұieb!)" [ethio-fidel-to-tex-map buffer-read-only nil search-forward "$(3%s(B" t replace-match "\\geminateG{}" decompose-region delete-backward-char 1 -1 "\\geminateG" re-search-forward "\\ce" "{\\" ethio-char-to-ethiocode backward-delete-char "}" set-buffer-modified-p] 5 "\ Convert each fidel characters in the current buffer into a fidel-tex command. Each command is always surrounded by braces." nil]) (defalias 'ethio-tex-to-fidel-buffer #[nil "Éeb#!seb#`w\n`{P!Nf\nS`|hUgU!! cJeb#֊u`)`\"meb#!seb!+" [buffer-read-only ch p nil re-search-forward "\\\\geminateG{\\(\\\\[a-zA-Z]+\\)}" t replace-match "\\1$(3%s(B" search-forward "\\" "a-zA-Z" intern "ethio-tex-command-" ethio-fidel-char ?{ ?} backward-delete-char 1 delete-char "\\ce$(3%s(B" 0 compose-region -2 "\\geminateG{}" "$(3%s(B" set-buffer-modified-p] 5 "\ Convert fidel-tex commands in the current buffer into fidel chars." nil]) (defalias 'ethio-fidel-to-java-buffer #[nil "ed\"eb#h!\\V \\! \"c[ \"cR)" [ethio-java-save-lowercase ucode nil decompose-region re-search-forward "\\ce" t ethio-char-to-ethiocode 4608 5052 59952 delete-backward-char 1 format "\\u%4x"] 5 "\ Convert Ethiopic characters into the Java escape sequences. Each escape sequence is of the form \\uXXXX, where XXXX is the character's codepoint (in hex) in Unicode. If `ethio-java-save-lowercase' is non-nil, use [0-9a-f]. Otherwise, [0-9A-F]."]) (defalias 'ethio-java-to-fidel-buffer #[nil "eb#ǔǕ{P!YX!Z!cXYSXN!Z!cAeb#Ҋu`)`\"m)" [ucode nil re-search-forward "\\\\u\\([0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]\\)" t read "?\\x" 1 4608 5052 replace-match "" ethio-ethiocode-to-char 65009 65023 64560 "\\ce$(3%s(B" 0 compose-region -2] 5 "\ Convert the Java escape sequences into corresponding Ethiopic characters."]) (defalias 'ethio-find-file #[nil " \"\"!) \"!eb#͔TfU!k!e!* \" !) \" !)" [sera-being-called-by-w3 string-match "\\.sera$" buffer-file-name ethio-sera-to-fidel-buffer nil force set-buffer-modified-p "\\.html$" t ethio-sera-to-fidel-marker re-search-forward "&[lr]aquote;" 0 ?l replace-match "$(3%v(B" "$(3%w(B" "\\.tex$" ethio-tex-to-fidel-buffer "\\.java$" ethio-java-to-fidel-buffer] 4 "\ Transcribe file content into Ethiopic dependig on filename suffix."]) (defalias 'ethio-write-file #[nil " \"\"eb !) \" H H I I!eb# I \nI!, \" !) \" !)" [sera-being-called-by-w3 lq rq ethio-fidel-to-sera-map string-match "\\.sera$" buffer-file-name ethio-fidel-to-sera-buffer nil force ethio-record-user-preference set-buffer-modified-p "\\.html$" t 461 462 "«te;" "»te;" ethio-fidel-to-sera-marker search-forward "" "\\.tex$" ethio-fidel-to-tex-buffer "\\.java$" ethio-fidel-to-java-buffer] 4 "\ Transcribe Ethiopic characters in ASCII depending on the file extension."]) (defalias 'ethio-record-user-preference #[nil "!ĕb ƪc Ȫʪ˱" [ethio-use-three-dot-question ethio-use-colon-for-colon looking-at "\\\\~\\(tir?\\|amh?\\) " 0 ethio-prefer-amharic-p "\\~amh " "\\~tir " "\\~-: " "\\~`: " "\\~`| " "\\~`? "] 2]) (byte-code "B!\"!" [current-load-list ethio-prefer-ascii-space default-boundp set-default t make-variable-buffer-local] 3) (defalias 'ethio-toggle-space #[nil "? " [ethio-prefer-ascii-space force-mode-line-update] 1 "\ Toggle ASCII space and Ethiopic separator for keyboard input." nil]) (defalias 'ethio-insert-space #[(arg) " \"xhs) \" \"" [ethio-prefer-ascii-space arg insert-char 32 " " nil (?$(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) ?$(3$h(B] 3 "\ 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." "*p"]) (defalias 'ethio-insert-ethio-space #[(arg) "\"" [arg insert-char ?$(3$h(B] 3 "\ Insert the Ethiopic word delimiter (the colon-like character). With ARG, insert that many delimiters." "*p"]) (byte-code "B!\"!" [current-load-list ethio-prefer-ascii-punctuation default-boundp set-default nil make-variable-buffer-local] 3) (defalias 'ethio-toggle-punctuation #[nil "?Ī\n\n@ @#\nA Am *" [ethio-prefer-ascii-punctuation puncs keys ("." ".." "..." "," ",," ";" ";;" ":" "::" ":::" "*" "**") (?\. [".."] ["..."] ?\, [",,"] ?\; [";;"] ?: ["::"] [":::"] ?* ["**"]) (?$(3$i(B ?$(3%u(B ?\. ?$(3$j(B ?\, ?$(3$k(B ?\; ?$(3$h(B ?$(3$i(B ?: ?* ?$(3$o(B) quail-defrule "ethiopic" force-mode-line-update] 4 "\ Toggle Ethiopic punctuations and ASCII punctuations for keyboard input." nil]) (defalias 'ethio-gemination #[nil "h!acÊu`)`\"uh!aNJu`)`\"!!" [char-charset ethiopic "$(3%s(B" compose-region -2 1 leading-code-composition decompose-region -1 delete-backward-char error ""] 3 "\ Compose the character before the point with the Ethiopic gemination mark. If the character is already composed, decompose it and remove the gemination mark." "*"]) (provide 'ethio-util)