;ELC ;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:47:04 2003 ;;; from file /home/pot/gnu/emacs-pretest.new/lisp/language/ethio-util.el ;;; in Emacs version 21.3 ;;; with bytecomp version 2.85.4.1 ;;; with all optimizations. ;;; This file contains multibyte non-ASCII characters ;;; and therefore cannot be loaded into Emacs 19. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "20"))) (error "`ethio-util.el' was compiled for Emacs 20 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\301B\302\301!\204\f\303\303\207" [current-load-list exit-ethiopic-environment-data boundp nil] 2) (defalias 'setup-ethiopic-environment-internal #[nil "\303\304\211\203\" @@\211\305!B\nB\306 @A\"\210 A\211\204*\307\310\311\"\210\307\312\313\"\210\307\314\315\"\210\307\316\313\"\207" [kb key-bindings exit-ethiopic-environment-data ((" " . ethio-insert-space) ([33554464] . ethio-insert-ethio-space) ([67108903] . ethio-gemination) ([f3] . ethio-fidel-to-sera-buffer) ([S-f3] . ethio-fidel-to-sera-region) ([C-f3] . ethio-fidel-to-sera-mail-or-marker) ([f4] . ethio-sera-to-fidel-buffer) ([S-f4] . ethio-sera-to-fidel-region) ([C-f4] . ethio-sera-to-fidel-mail-or-marker) ([S-f5] . ethio-toggle-punctuation) ([S-f6] . ethio-modify-vowel) ([S-f7] . ethio-replace-space) ([S-f8] . ethio-input-special-character) ([C-f9] . ethio-toggle-space) ([S-f9] . ethio-replace-space)) nil global-key-binding global-set-key add-hook quail-activate-hook ethio-select-a-translation find-file-hooks ethio-find-file write-file-hooks ethio-write-file after-save-hook] 4]) #@36 Exit Ethiopic language environment (defalias 'exit-ethiopic-environment #[nil "\203\301@@@A\"\210A\211\204\302\303\304\"\210\302\305\306\"\210\302\307\310\"\210\302\311\306\"\207" [exit-ethiopic-environment-data global-set-key remove-hook quail-activate-hook ethio-select-a-translation find-file-hooks ethio-find-file write-file-hooks ethio-write-file after-save-hook] 4 (#$ . 1711)]) #@137 *Symbol that defines the primary language in SERA --> FIDEL conversion. The value should be one of: `tigrigna', `amharic' or `english'. (defvar ethio-primary-language 'tigrigna (#$ . -2112)) #@139 *Symbol that defines the secondary language in SERA --> FIDEL conversion. The value should be one of: `tigrigna', `amharic' or `english'. (defvar ethio-secondary-language 'english (#$ . -2310)) #@207 *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-colon-for-colon nil (#$ . -2511)) #@246 *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-use-three-dot-question nil (#$ . -2776)) #@206 *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-quote-vowel-always nil (#$ . -3083)) #@113 *Non-nil means convert the Wu-form of a 12-form consonant to "W'" instead of "Wu" in FIDEL --> SERA conversion. (defvar ethio-W-sixth-always nil (#$ . -3346)) #@309 *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-numeric-reduction 0 (#$ . -3512)) #@106 *Non-nil means replacing the Ethiopic dot at the end of an Ethiopic sentence with an Ethiopic full stop. (defvar ethio-implicit-period-conversion t (#$ . -3875)) #@105 *Non-nil means save Ethiopic characters in lowercase hex numbers to Java files. If nil, use uppercases. (defvar ethio-java-save-lowercase nil (#$ . -4044)) (byte-code "\301B\302\301\207" [current-load-list ethio-sera-to-fidel-table [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 (" " (58 (if ethio-use-colon-for-colon " " "") (32 (if ethio-use-colon-for-colon " " "")) (45 " ") (58 " ") (124 (if ethio-use-colon-for-colon " |" " |") (58 " ")))) nil nil nil nil nil nil ("" (39 "")) nil nil nil nil ("") ("-" (58 "")) ("") nil nil nil nil nil nil nil nil nil nil nil ((if ethio-use-colon-for-colon "" "") (32 (if ethio-use-colon-for-colon " " "")) (45 "") (58 "") (124 (if ethio-use-colon-for-colon "|" "|") (58 ""))) ("") ("<" (60 "")) nil (">" (62 "")) ((if ethio-use-three-dot-question "" "")) nil ("" (50 "")) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) ("" (50 "")) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 "")) (89 "" (97 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) ("" (50 "")) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 "")) (89 "" (97 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) ("" (50 "")) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "Ν") (117 "Ν") (105 "Ν") (69 "Ν")) (89 "" (97 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "ĝ") (117 "ĝ") (105 "ĝ") (69 "ĝ")) (50 "" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "̝") (117 "̝") (105 "̝") (69 "̝")))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) ("" (50 "")) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "")) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "")) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "ҝ") (117 "ҝ") (105 "ҝ") (69 "ҝ"))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "ʝ") (117 "ʝ") (105 "ʝ") (69 "ʝ"))) nil nil nil nil nil ("" (58 "") (63 (if ethio-use-three-dot-question "" "")) (33 "") (101 "") (117 "") (85 "") (105 "") (97 "") (65 "") (69 "") (73 "") (111 "") (79 "") (103 "" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "")) (104 "" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 ""))) (107 "" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "")) (115 "" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "Ɲ") (117 "Ɲ") (105 "Ɲ") (69 "Ɲ"))) (83 "" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "̝") (117 "̝") (105 "̝") (69 "̝"))) (113 "" (101 "") (117 "") (105 "") (97 "") (69 "") (111 ""))) ("" (50 "")) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "ڝ") (117 "ڝ") (105 "ڝ") (69 "ڝ"))) ("" (50 "") (97 "")) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 "")) (89 "" (97 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 "")) (50 "" (101 "") (117 "") (105 "") (97 "") (69 "") (111 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 "")) (50 "" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 "")))) ("" (50 "")) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 "")) (50 "" (101 "") (117 "") (105 "") (97 "") (69 "") (111 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 "")) (89 "" (97 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "؝") (117 "؝") (105 "؝") (69 "؝"))) ("" (50 "")) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 "")) (50 "" (101 "") (117 "") (105 "") (97 "") (69 "") (111 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "Ν") (117 "Ν") (105 "Ν") (69 "Ν")) (89 "" (97 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "֝") (117 "֝") (105 "֝") (69 "֝")) (50 "" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "Ɲ") (117 "Ɲ") (105 "Ɲ") (69 "Ɲ")))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) ("" (50 "")) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (101 "") (117 "") (105 "") (97 "") (69 ""))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "ޝ") (117 "ޝ") (105 "ޝ") (69 "ޝ"))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "ҝ") (117 "ҝ") (105 "ҝ") (69 "ҝ"))) ("" (101 "") (117 "") (105 "") (97 "") (69 "") (111 "") (87 "" (97 "") (101 "") (117 "") (105 "") (69 ""))) nil nil nil nil nil]] 2) #@541 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'. (defalias 'ethio-sera-to-fidel-region #[(beg end &optional secondary force) "\214 }\210\304\n \")\207" [beg end secondary force ethio-sera-to-fidel-buffer] 3 (#$ . 14194) "r\nP"]) #@526 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'. (defalias 'ethio-sera-to-fidel-buffer #[(&optional secondary force) "\203 \204\306\307!\204\310\311!\210\n \f \312\211\211\211\203. \202/\neb\210m\204~\313=\203D\314 \202`\315=\203Q\316\315!\202`\317=\203^\316\317!\202`\314 \211\320=\204m\202y\n=\203x \202y\n\2024 \203\247eb\210\321\322\312\323#\203\225\324\325!\210\202\206eb\210\321\326\312\323#\203\247\324\327!\210\202\230eb\210\321\330\312\331#\205\277\332\212\333u\210`)`\"\210\202\252.\207" [buffer-read-only force ethio-primary-language ethio-secondary-language ethio-use-colon-for-colon ethio-use-three-dot-question 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 "\\([---]\\)\\([ ]\\)" t replace-match "\\1\\2" "\\([---]\\)$" "\\1" "\\ce" 0 compose-region -2 next-language current-language case-fold-search secondary ethio-implicit-period-conversion] 9 (#$ . 14922) "P"]) #@181 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-english #[nil "\301m\204=\204=\302\303\301\304#\203\305\306!\210g\307U\203\"\306u\210\202g\310U\2031\311\306!\210\312\202\313 \211\204\312\202)\207" [new-language nil search-forward "\\" 0 delete-backward-char 1 92 32 delete-char toggle ethio-process-language-flag] 4 (#$ . 16544)]) #@274 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-sera-to-fidel-ethio #[(lang) "\306\211\211\211\211\211'\307H(\310=\203\311\202\312\240\210m\204 \204g\313\314!\203R\f\203R\315U\204?\316U\203R\317\315U\203J\320\202K\321\306\322#\210\202\323Y\203^\324u\210\202\325\326!\203n\327\324!\210\330 \210\202\331U\204\256`\324u\210'H\332g\n\"A\211\203\220 \324u\210\202~\n@\211\203 `|\210;\203\246c\210\202\333!c\210\202\f\203\307\325\334!\203\301\335\336!\210\306\202\324u\210\202\327\324!\210g\211\337U\203\334\327\324!\210\340\202\325\341!\203\353\335\336!\210\342\202\343 \211\204\344U\203\327\324!\210\345 \210\202\325\346!\203\322\225b\210\202\340\202 .\207" [ch table2 table start verbatim new-language nil 97 tigrigna "" "" boundp sera-being-called-by-w3 60 38 search-forward ">" ";" 0 128 1 looking-at "`[1-9][0-9]*" delete-char ethio-convert-digit 92 assoc eval "\\\\~! ?" replace-match "" 32 toggle "~! ?" t ethio-process-language-flag 126 ethio-tilde-escape "\\(,\\|\\.\\|;\\|:\\|'\\|`\\|?\\|\\\\\\)+" ethio-sera-to-fidel-table lang] 7 (#$ . 17065)]) #@573 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-process-language-flag #[nil "\304\211\305\306!\2039\307\310\224\310\225{!\211\2039\307\311\224\311\225{!\211\2039 `\311\225|\210g\312U\2035\313\310!\210\n\202_\305\314!\203^\307\310\224\310\225{!\211\203^`\310\225|\210g\312U\203Z\313\310!\210 \202_\304*\207" [lang2 lang1 ethio-primary-language ethio-secondary-language 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 (#$ . 18463)]) #@108 Handle a SERA tilde escape in Ethiopic section and delete it. Delete the escape even it is not recognised. (defalias 'ethio-tilde-escape #[nil "`\304\305\304w\210 `{ `|\210g\306U\203\307\310!\210\311\230\203&\312\211\202\202\313\230\2032\304\211\202\202\314\230\203>\304\211\202\202\315\230\203J\312\211\202\202\316\230\203U\317c\202\202\320\230\203`\321c\202\202\322\230\203k\323c\202\202\324\230\203v\325c\202\202\326\230\203\201\327c\202\202\304*\207" [command p ethio-use-colon-for-colon ethio-use-three-dot-question nil "^ \n\\\\" 32 delete-char 1 "-:" t "`:" "?" "`|" "e" "" "E" "" "a" "" "A" "" "X" ""] 2 (#$ . 19562)]) (defalias 'ethio-flag-to-language #[(flag) "\301\230\204\f\302\230\203\303\207\304\230\204\305\230\203\306\207\307\230\204(\310\230\203*\311\207\312\207" [flag "en" "eng" english "ti" "tir" tigrigna "am" "amh" amharic nil] 2]) #@43 Convert Arabic digits to Ethiopic digits. (defalias 'ethio-convert-digit #[nil "\302\211g\211\303Y\205m \304X\205m\305\306!\210\307g\310U\203(\305\306!\210T\202\311\312\"\306U\203>\313 \303ZHc\210S\202W \303U\204N\314 \315ZHc\210\202W\307U\203W\316c\210\311\317\"\312U\203c\320c\210\321\322\317\245\"\210\202*\207" [z ch nil 49 57 delete-char 1 0 48 mod 2 [348793 348794 348795 348796 348797 348798 348833 348834 348835] [348785 348786 348787 348788 348789 348790 348791 348792] 50 "" 4 "" insert-char 348837] 4 (#$ . 20494)]) #@173 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. (defalias 'ethio-sera-to-fidel-mail-or-marker #[(&optional arg) "\302=\204\f\303=\203\304\305 !!\207\306 !\207" [major-mode arg rmail-mode mail-mode ethio-sera-to-fidel-mail prefix-numeric-value ethio-sera-to-fidel-marker] 3 (#$ . 21061) "P"]) #@294 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'. (defalias 'ethio-sera-to-fidel-mail #[(&optional arg) "\306\211\212\307 \210\310y\210`\311\312\306\313#\204 eb\210\311\314\313#\203gb\210\311\315\306\313#\203C\316\317!\210\320`\311\321\306\322#\203=\316\317!\210`\"\210\202#eb\210\311\314\313#\203\201\320\323\324!\210`\311\325\326 \322#\203a\316\317!\210`\"\210\202\201\n\203\201\320d\"\210eb\210\311\327\313#\203\201\320`\326 \"\210 \330=\205\216\f THd\306\223+\207" [border buffer-read-only arg major-mode rmail-message-vector rmail-current-message nil rfc822-goto-eoh 1 re-search-forward "^$" t "^Subject: " "^\n" replace-match "" ethio-sera-to-fidel-region "^\n" 0 delete-backward-char 6 "$" line-end-position "^Subject: " rmail-mode] 6 (#$ . 21489) "p"]) #@203 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. (defalias 'ethio-sera-to-fidel-marker #[(&optional force) "\203 \204\302\303!\204\304\305!\210\212eb\210\306\307\310\311#\2055\312`\306\313\310\311#\203-\314\224\202.d\310\301$\210\202)\207" [buffer-read-only force y-or-n-p "Buffer is read-only. Force to convert? " error "" re-search-forward "" nil t ethio-sera-to-fidel-region "" 0] 6 (#$ . 22551) "P"]) (byte-code "\301B\302\301\207" [current-load-list ethio-fidel-to-sera-map ["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 "\302=\206\303=?\205 \302=\207" [ethio-primary-language ethio-secondary-language amharic tigrigna] 2]) (defalias 'ethio-language-to-flag #[(lang) "\301=\203\302\207\303=\203\304\207\305=\203\306\207\307\207" [lang english "eng" tigrigna "tir" amharic "amh" ""] 2]) #@609 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'. (defalias 'ethio-fidel-to-sera-region #[(begin end &optional secondary force) "\214 }\210\304\n \")\207" [begin end secondary force ethio-fidel-to-sera-buffer] 3 (#$ . 25849) "r\nP"]) #@615 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'. (defalias 'ethio-fidel-to-sera-buffer #[(&optional secondary force) "\203 \204\306\307!\204\310\311!\210\312\211\211\211\211\313 \203 \314\202!\315\312\211@ABC\203BD\316\317I\210D\320\321I\210\202ND\316\322I\210D\320\323I\210E\203bD\324\325I\210D\326\327I\210\202nD\324\327I\210D\326\325I\210\330\331\332\"\210\313 \203\201D\333\334I\210\202\207D\333\335I\210\336ed\"\210eb\210m?\205>g\337\n!\340=\203y\341\n!\342\343!\210 \340=\204\261\fc\210\340\n\344X\204\317\n\345Y\203\303\n\346X\204\317\n\347Y\203\372\n\350X\203\372\n\351>\203\347A\204\344F\203\347@\203\347\352c\210D\nHc\210\353\n!A\354@\312\202\217\n\316Y\203\n\355X\204\n\356Y\204\n\357Y\203)\n\360X\203)D\nHc\210\312A\312@\312\202\217G\361U\2044 \204G\362D\nH\261\210\312A\312@\354\202\217G\363U\203h\n\364>\203hD\nH\343\312Oc\210\312A\312@\354\202\217D\nHc\210\312A\312@\354\202\217\n\365Y\203\205\n\366X\204\221\n\367Y\203\252\n\370X\203\252 \371=\204\232\372c\210\343u\210\371\312A\312@\312\202\217 \204\314H\203\270I\202\272J\211\371=\203\307\372c\210\202\314\fc\210\340\n\373U\203\333\374c\210\343u\210\2023 \371=\203\347\343u\210\2023\375\376!\203\370\374c\210\361\225Tb\210\2023\377\201K!\2030K\2030\n\201LU\204\n\201MU\2030\201N\n\201LU\203&\201O\202)\201P\312\361#\210\2023\343u\210\312A\312@\312\202\217.\207" [buffer-read-only force ch mode flag digit 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) " H\303\n\203\f\304\202 \305I\207" [ethio-fidel-to-sera-map x ethio-W-sixth-always 2 39 117] 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) 97 122 65 90 english "\\~eng " 92 "\\" looking-at "[,.;:'`?]+" boundp fidel lonec case-fold-search ethio-use-colon-for-colon ethio-fidel-to-sera-map ethio-use-three-dot-question ethio-quote-vowel-always ethio-numeric-reduction secondary ethio-secondary-language ethio-primary-language sera-being-called-by-w3 60 38 search-forward ">" ";"] 9 (#$ . 26649) "P"]) #@55 If ETHIOCODE is an Ethiopic lone consonant, return t. (defalias 'ethio-lone-consonant-p #[(ethiocode) "\301W\203\302\246\303U\206\304>\207" [ethiocode 344 8 5 (389 405 421 437 440 441 442 443 444 457)] 2 (#$ . 29612)]) #@173 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. (defalias 'ethio-fidel-to-sera-mail-or-marker #[(&optional arg) "\302=\204\f\303=\203\304 \207\305 !\207" [major-mode arg rmail-mode mail-mode ethio-fidel-to-sera-mail ethio-fidel-to-sera-marker] 2 (#$ . 29845) "P"]) #@309 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. (defalias 'ethio-fidel-to-sera-mail #[nil "\306\211\212\307 \210\310y\210`\311\312\306\313#\203&\314d\"\210b\210\315c\210db\210\316c\210eb\210\311\317\313#\203P`\320 \311\312\n\313#\203O\314 \n\"\210 b\210\315c\210\306\210\316c\210*\f\321=\205^ THd\306\223+\207" [border buffer-read-only end beg major-mode rmail-message-vector nil rfc822-goto-eoh 1 re-search-forward "\\ce" t ethio-fidel-to-sera-region "" "" "^Subject: " line-end-position rmail-mode rmail-current-message] 4 (#$ . 30246) nil]) #@141 Convert the regions surrounded by "" and "" from FIDEL to SERA. The markers "" and "" themselves are not deleted. (defalias 'ethio-fidel-to-sera-marker #[(&optional force) "\203 \204\302\303!\204\304\305!\210\212eb\210\306\307\310\311#\2055\312`\306\313\310\311#\203-\314\224\202.d\310\301$\210\202)\207" [buffer-read-only force y-or-n-p "Buffer is read-only. Force to convert? " error "" re-search-forward "" nil t ethio-fidel-to-sera-region "" 0] 6 (#$ . 31085) "P"]) #@57 Modify the vowel of the FIDEL that is under the cursor. (defalias 'ethio-modify-vowel #[nil "g\306\211\211\211\211\307 !\310=\203\311\312 !!\313\202+\307 !\314=\204+\315\316!\210\317 !\211\320\245\320_ \320\246 \321Y\203E \322X\204W \323Y\203Q \324X\204W \325Y\203[\315\316!\210\n\326U\203\347\327 \203m\330\331!\210\202q\330\332!\210\333 \211\334U\203~\326\202) \335U\203\210\336\202) \337U\203\222\340\202) \341U\203\234\342\202) \343U\203\246\344\202) \345U\203\260\346\202) \347U\203\272\350\202) \351U\203\304\352\202) \353U\203\327\327 \203\323\326\202)\342\202) \354U\203\343\313 \202)\306\202)\n\355U\203J\330\356!\210\333 \211\334U\203\376\355\202) \335U\203\357\202) \337U\203\360\202) \353U\203\361\202) \343U\203&\362\202) \345U\2030\363\202) \347U\203:\364\202) \354U\203F\313 \202)\306\202)\n\365>\203\255\330\366!\210\333 \211\334U\203a\n\202) \335U\203m\n\367\\\202) \337U\203y\n\370\\\202) \353U\203\205\n\371\\\202) \343U\203\221\n\372\\\202) \373U\203\235\n\367\\\202) \354U\203\251\313 \202)\306\202) \374U\203\330\366!\210\333 \211\334U\203\304\375\202) \335U\203\316\376\202) \337U\203\330\377\202) \353U\203\342 \202) \343U\203\356\201@\202) \373U\203\370\376\202) \354U\203\313 \202)\306\202) \201AU\203m\330\366!\210\333 \211\334U\203#\201B\202) \335U\203/\201C\202) \337U\203;\201D\202) \353U\203E \202) \343U\203Q\201E\202) \373U\203]\201C\202) \354U\203i\313 \202)\306\202) \201FU\203\322\330\366!\210\333 \211\334U\203\210\201G\202) \335U\203\224\201H\202) \337U\203\240\201I\202) \353U\203\252 \202) \343U\203\266\201J\202) \373U\203\302\201H\202) \354U\203\316\313 \202)\306\202) \201KU\2037\330\366!\210\333 \211\334U\203\355\201L\202) \335U\203\371\201M\202) \337U\203\201N\202) \353U\203 \202) \343U\203\201O\202) \373U\203'\201M\202) \354U\2033\313 \202)\306\202) \201PU\203\234\330\366!\210\333 \211\334U\203R\201Q\202) \335U\203^\201R\202) \337U\203j\201S\202) \353U\203t \202) \343U\203\200\201T\202) \373U\203\214\201R\202) \354U\203\230\313 \202)\306\202)\n\201U>\203C\330\201V!\210\333 \211\334U\203\271\375\\\202) \337U\203\305\377\\\202) \343U\203\323\201@\\\202) \353U\203\201WU\203\345\374\202)\201XU\203\363\201A\202)\370U\203\377\201F\202)\371U\203 \201K\202)\372U\203\201P\202)\306\202) \373U\203'\376\\\202) \335U\2033\376\\\202) \354U\203?\313 \202)\306\202) \201YY\203\264 \201ZX\203\264\330\201[!\210\333 \211\334U\203h\201Y\202) \337U\203t\201\\\202) \353U\203\200\201]\202) \343U\203\214\201^\202) \373U\203\230\201Z\202) \335U\203\244\201Z\202) \354U\203\260\313 \202)\306\202)\201_X\203(\330\201`!\210\333 \211\334U\203\317\n\202) \335U\203\332\nT\202) \337U\203\346\n\370\\\202) \353U\203\362\n\371\\\202) \343U\203\376\n\372\\\202) \373U\203\n\n\367\\\202) \347U\203\n\201_\\\202) \354U\203$\313 \202)\306\202)\306\211\2046\315\201a!\202e\f\203W\201b\201X!\210\201c\201d\201e !!\201fP!c\202e\201b\201X!\210\201e !c.\207" [modulo vowel base newch composite ch 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 101 117 161 105 162 65 163 69 164 73 165 111 166 87 167 97 34 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 39 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 ""] 7 (#$ . 31613) nil]) (defalias 'ethio-ethiocode-to-char #[(ethiocode) "\301\302\303!\304H\305\245\306\\\307\305\"\306\\#\207" [ethiocode make-char-internal charset-info ethiopic 0 94 33 mod] 6]) (defalias 'ethio-char-to-ethiocode #[(ch) "\302!\303=\205\304!\211A@\305Z\306_\307 8\305Z\\)\207" [ch char-components char-charset ethiopic split-char 33 94 2] 4]) #@443 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. (defalias 'ethio-replace-space #[(ch begin end) "\303>\204\n\304\305!\210\212\214 \n}\210\306U\203@eb\210\307\310\311\312#\203*\313\314\311\312#\210\202eb\210\315\316\311\312#\205\232\313\317!\210\320\224b\210\202-\321U\203neb\210\307\310\311\312#\203X\313\322!\210\202Ieb\210\315\323\311\312#\205\232\313\324!\210\320\224b\210\202[eb\210\315\325\311\312#\203\204\313\326!\210\320\224b\210\202qeb\210\315\327\311\312#\205\232\313\326!\210\320\224b\210\202\207*\207" [ch begin end (49 50 51) error "" 49 search-forward "" nil t replace-match " " re-search-forward "\\(\\ce\\) \\(\\ce\\)" "\\1 \\2" 2 50 " " "\\(\\ce\\) \\(\\ce\\)" "\\1 \\2" "\\(\\ce\\) ?\\(\\ce\\)" "\\1\\2" "\\(\\ce\\) \\( *\\ce\\)"] 4 (#$ . 36012) "*cReplace spaces to: 1 (sg col), 2 (dbl col), 3 (Ethiopic)\nr"]) #@45 Allow the user to input special characters. (defalias 'ethio-input-special-character #[(arg) "\301U\203 \302c\207\303U\203\304c\207\305U\203\306c\207\307U\203$\310c\207\311U\203-\312c\207\313\314!\207" [arg 49 "" 50 "" 51 "" 52 "" 53 "" error ""] 2 (#$ . 37274) "*cInput number: 1. 2. 3. 4. 5."]) (byte-code "\301B\304\305\306\211 GW\2030 H\211\307\230\204)\310\311\312 HP!\313\314 !#\210 T\211\202 *\306\207" [current-load-list ethio-fidel-to-tex-map str 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) #@124 Convert each fidel characters in the current buffer into a fidel-tex command. Each command is always surrounded by braces. (defalias 'ethio-fidel-to-tex-buffer #[nil "\302eb\210\303\304\302\305#\203\306\307\305\211#\210\202\310ed\"\210eb\210\303\304\302\305#\2036\311\312!\210\313u\210\314c\210\312u\210\202eb\210\315\316\302\305#\203R\317 \320h!\321\312!\210H\322\261\210\2029eb\210\323\302!)\207" [buffer-read-only ethio-fidel-to-tex-map nil search-forward "" 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 (#$ . 40710) nil]) #@68 Convert fidel-tex commands in the current buffer into fidel chars. (defalias 'ethio-tex-to-fidel-buffer #[nil "\303\211\211eb\210\304\305\303\306#\203\307\310!\210\202 eb\210\311\312\303\306#\203V`\313\303w\210\314\315 `{P!\316N\211\203 S`|\210h\317U\203Pg\320U\203P\321\322!\210\323\322!\210c\210\202eb\210\304\324\303\325#\203n\326\212\327u\210`)`\"\210\202Yeb\210\311\330\303\306#\203\200\307\331!\210\202qeb\210\332\303!+\207" [ch p buffer-read-only nil re-search-forward "\\\\geminateG{\\(\\\\[a-zA-Z]+\\)}" t replace-match "\\1" search-forward "\\" "a-zA-Z" intern "ethio-tex-command-" ethio-fidel-char 123 125 backward-delete-char 1 delete-char "\\ce" 0 compose-region -2 "\\geminateG{}" "" set-buffer-modified-p] 5 (#$ . 41406) nil]) #@245 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-fidel-to-java-buffer #[nil "\302\303ed\"\210eb\210\304\305\302\306#\205=\307h!\310\\\211\311V\203\"\312\\\313\314!\210 \2033\315\316\"c\210\202\n\315\316\"\226c\210\202\n)\207" [ucode ethio-java-save-lowercase nil decompose-region re-search-forward "\\ce" t ethio-char-to-ethiocode 4608 5052 59952 delete-backward-char 1 format "\\u%4x"] 5 (#$ . 42187)]) #@75 Convert the Java escape sequences into corresponding Ethiopic characters. (defalias 'ethio-java-to-fidel-buffer #[nil "\301eb\210\302\303\301\304#\203K\305\306\307\224\307\225{P!\211\310Y\2031\311X\2031\312\313!\210\314\310Z!c\210\202\315Y\203\316X\203\312\313!\210\314\317Z!c\210\202eb\210\302\320\301\321#\205c\322\212\323u\210`)`\"\210\202N)\207" [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" 0 compose-region -2] 5 (#$ . 42820)]) #@68 Transcribe file content into Ethiopic dependig on filename suffix. (defalias 'ethio-find-file #[nil "\301\302\303 \"\203\212\304\305\306\"\210\307\305!)\207\301\310\303 \"\203I\311\212\312\306!\210eb\210\313\314\305\311#\203D\315\224Tf\316U\203=\317\320!\210\202%\317\321!\210\202%\307\305!*\207\301\322\303 \"\203Z\212\323 \210\307\305!)\207\301\324\303 \"\203k\212\325 \210\307\305!)\207\305\207" [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 108 replace-match "" "" "\\.tex$" ethio-tex-to-fidel-buffer "\\.java$" ethio-java-to-fidel-buffer] 4 (#$ . 43417)]) #@74 Transcribe Ethiopic characters in ASCII depending on the file extension. (defalias 'ethio-write-file #[nil "\304\305\306 \"\203\212\307\310\311\"\210eb\210\312 \210\313\310!)\207\304\314\306 \"\203W\212\315\316H\317H\316\320I\210\317\321I\210\322\311!\210eb\210\323\324\310\315#\203H\312 \210\316\nI\210\317 I\210\313\310!,\207\304\325\306 \"\203h\212\326 \210\313\310!)\207\304\327\306 \"\203y\212\330 \210\313\310!)\207\310\207" [ethio-fidel-to-sera-map rq lq sera-being-called-by-w3 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 (#$ . 44156)]) (defalias 'ethio-record-user-preference #[nil "\302\303!\203 \304\225b\210\202\305 \203\306\202\307c\210\203!\310\202\"\311 \203*\312\202+\313\261\207" [ethio-use-colon-for-colon ethio-use-three-dot-question looking-at "\\\\~\\(tir?\\|amh?\\) " 0 ethio-prefer-amharic-p "\\~amh " "\\~tir " "\\~-: " "\\~`: " "\\~`| " "\\~`? "] 2]) (byte-code "\301B\302\301!\204\f\303\304\301!\207" [current-load-list ethio-prefer-ascii-space boundp t make-variable-buffer-local] 2) #@63 Toggle ASCII space and Ethiopic separator for keyboard input. (defalias 'ethio-toggle-space #[nil "? \303\232\203\f\304 \305 \207" [ethio-prefer-ascii-space current-input-method current-input-method-title "ethiopic" quail-title force-mode-line-update] 2 (#$ . 45463) nil]) #@570 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. (defalias 'ethio-insert-space #[(arg) "\203 \302\303 \"\207\212\304\305x\210h\306>)\203\302\303 \"\207\302\307 \"\207" [ethio-prefer-ascii-space arg insert-char 32 " " nil (348776 348777 348778 348779 348780 348781 348782 348783 348916 348917 348918 348919 348920) 348776] 3 (#$ . 45747) "*p"]) #@103 Insert the Ethiopic word delimiter (the colon-like character). With ARG, insert that many delimiters. (defalias 'ethio-insert-ethio-space #[(arg) "\301\302\"\207" [arg insert-char 348776] 3 (#$ . 46622) "*p"]) (byte-code "\301B\302\301!\204\f\303\304\301!\207" [current-load-list ethio-prefer-ascii-punctuation boundp nil make-variable-buffer-local] 2) #@73 Toggle Ethiopic punctuations and ASCII punctuations for keyboard input. (defalias 'ethio-toggle-punctuation #[nil "?\305\203 \306\202\307 \203$\310 @\n@\311#\210 A\nA\202 \311\232\203-\312 \313 *\207" [ethio-prefer-ascii-punctuation keys puncs current-input-method current-input-method-title ("." ".." "..." "," ",," ";" ";;" ":" "::" ":::" "*" "**") (46 [".."] ["..."] 44 [",,"] 59 [";;"] 58 ["::"] [":::"] 42 ["**"]) (348777 348917 46 348778 44 348779 59 348776 348777 58 42 348783) quail-defrule "ethiopic" quail-title force-mode-line-update] 4 (#$ . 46986) nil]) #@159 Compose the character before the point with the Ethiopic gemination mark. If the characater is already composed, decompose it and remove the gemination mark. (defalias 'ethio-gemination #[nil "\300h!\301=\203\302c\210\303\212\304u\210`)`\"\210\305u\207\300h!\306=\203.\307\212\310u\210`)`\"\210\311\305!\207\312\313!\207" [char-charset ethiopic "" compose-region -2 1 leading-code-composition decompose-region -1 delete-backward-char error ""] 3 (#$ . 47575) "*"]) (provide 'ethio-util)