;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:47:10 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/language/lao-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 "`lao-util.el' was compiled for Emacs 20 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\301B\306 \307\310\311	#\210\307\312\313	#\210\307\314\315	#\210\307\316\317	#\210\320\321\203\207 @A\n@\nA@\f\322=\203C \323\310	#\210\202m \f\324>\203R \323\314	#\210\202m \f\325=\203a \323\312	#\210\202m \f\326=\203m \323\316	#\210\327\330\f#\210\327\331\332\n8#\210\327\333\334\n8#\210*\202# *\321\207" [current-load-list lao-category-table elm l ptype char make-category-table define-category 99 "Lao consonant" 115 "Lao semi-vowel" 118 "Lao upper/lower vowel" 116 "Lao tone" ((7073 consonant "LETTER KOR  KAI'" "CHICKEN") (7074 consonant "LETTER KHOR KHAI'" "EGG") (7075 invalid nil) (7076 consonant "LETTER QHOR QHWARGN" "BUFFALO") (7077 invalid nil) (32 invalid nil) (7079 consonant "LETTER NGOR NGUU" "SNAKE") (7080 consonant "LETTER JOR JUA" "BUDDHIST NOVICE") (7081 invalid nil) (7082 consonant "LETTER XOR X\"ARNG" "ELEPHANT") (7083 invalid nil) (7084 invalid nil) (7085 consonant "LETTER YOR YUNG" "MOSQUITO") (7086 invalid nil) (7086 invalid nil) (7086 invalid nil) (7086 invalid nil) (7086 invalid nil) (7086 invalid nil) (7092 consonant "LETTER DOR DANG" "NOSE") (7093 consonant "LETTER TOR TAR" "EYE") (7094 consonant "LETTER THOR THUNG" "TO ASK,QUESTION") (7095 consonant "LETTER DHOR DHARM" "FLAG") (7096 invalid nil) (7097 consonant "LETTER NOR NOK" "BIRD") (7098 consonant "LETTER BOR BED" "FISHHOOK") (7099 consonant "LETTER POR PAR" "FISH") (7100 consonant "LETTER HPOR HPER\"" "BEE") (7101 consonant "LETTER FHOR FHAR" "WALL") (7102 consonant "LETTER PHOR PHUU" "MOUNTAIN") (7103 consonant "LETTER FOR FAI" "FIRE") (7104 invalid nil) (7105 consonant "LETTER MOR MAR\"" "HORSE") (7106 consonant "LETTER GNOR GNAR" "MEDICINE") (7107 consonant "LETTER ROR ROD" "CAR") (7108 invalid nil) (7109 consonant "LETTER LOR LIING" "MONKEY") (7110 invalid nil) (7111 consonant "LETTER WOR WII" "HAND FAN") (7112 invalid nil) (7113 invalid nil) (7114 consonant "LETTER SOR SEA" "TIGER") (7115 consonant "LETTER HHOR HHAI" "JAR") (7116 invalid nil) (7117 consonant "LETTER OR OOW" "TAKE") (7118 consonant "LETTER HOR HEA" "BOAT") (7119 special "ELLIPSIS") (7120 vowel-base "VOWEL SIGN SARA A") (7121 vowel-upper "VOWEL SIGN MAI KAN") (7122 vowel-base "VOWEL SIGN SARA AR") (7123 vowel-base "VOWEL SIGN SARA AM") (7124 vowel-upper "VOWEL SIGN SARA I") (7125 vowel-upper "VOWEL SIGN SARA II") (7126 vowel-upper "VOWEL SIGN SARA EU") (7127 vowel-upper "VOWEL SIGN SARA UR") (7128 vowel-lower "VOWEL SIGN SARA U") (7129 vowel-lower "VOWEL SIGN SARA UU") (7130 invalid nil) (7131 vowel-upper "VOWEL SIGN MAI KONG") (7132 semivowel-lower "SEMIVOWEL SIGN LO") (7133 vowel-base "SEMIVOWEL SIGN SARA IA") (7134 invalid nil) (7135 invalid nil) (7136 vowel-base "VOWEL SIGN SARA EE") (7137 vowel-base "VOWEL SIGN SARA AA") (7138 vowel-base "VOWEL SIGN SARA OO") (7139 vowel-base "VOWEL SIGN SARA EI MAI MUAN\"") (7140 vowel-base "VOWEL SIGN SARA AI MAI MAY") (7141 invalid nil) (7142 special "KO LA (REPETITION)") (7143 invalid nil) (7144 tone "TONE MAI EK") (7145 tone "TONE MAI THO") (7146 tone "TONE MAI TI") (7147 tone "TONE MAI JADTAWAR") (7148 tone "CANCELLATION MARK") (7149 vowel-upper "VOWEL SIGN SARA OR") (7150 invalid nil) (7151 invalid nil) (7152 special "DIGIT ZERO") (7153 special "DIGIT ONE") (7154 special "DIGIT TWO") (7155 special "DIGIT THREE") (7156 special "DIGIT FOUR") (7157 special "DIGIT FIVE") (7158 special "DIGIT SIX") (7159 special "DIGIT SEVEN") (7160 special "DIGIT EIGHT") (7161 special "DIGIT NINE") (7162 invalid nil) (7163 invalid nil) (7164 consonant "LETTER NHOR NHUU" "MOUSE") (7165 consonant "LETTER MHOR MHAR" "DOG") (7166 invalid nil)) nil consonant modify-category-entry (vowel-upper vowel-lower) semivowel-lower tone put-char-code-property phonetic-type name 2 meaning 3] 5)
#@55 Regular expression matching a Lao composite sequence.
(defvar lao-composition-pattern "\\cc\\(\\ct\\|\\cv\\ct?\\|\\cs\\(\\ct\\|\\cv\\ct?\\)?\\)" (#$ . 4375))
(defalias 'lao-compose-string #[(str) "\305 \306	!\210\307\216\310\311\f\n#\211\203\" \312\f\n\310\225#\210\310\225\202 )\f*\207" [current-category-table lao-category-table idx lao-composition-pattern str category-table set-category-table ((set-category-table current-category-table)) 0 string-match compose-string] 4])
(byte-code "\301B\306\307\310\"\302B\311\303B\306\312\313\"\304B\314\305B\315\316B\317\301\207" [current-load-list lao-transcription-consonant-alist lao-transcription-semi-vowel-alist lao-transcription-vowel-alist lao-transcription-maa-sakod-alist lao-transcription-tone-alist sort (("k" . "š§¡") ("kh" . "š§¢") ("qh" . "š§¤") ("ng" . "š§§") ("j" . "š§¨") ("s" . "š§Ê") ("x" . "š§ª") ("y" . "š§­") ("d" . "š§´") ("t" . "š§µ") ("th" . "š§¶") ("dh" . "š§·") ("n" . "š§¹") ("b" . "š§º") ("p" . "š§»") ("hp" . "š§¼") ("fh" . "š§½") ("ph" . "š§¾") ("f" . "š§¿") ("m" . "š§Á") ("gn" . "š§Â") ("l" . "š§Å") ("r" . "š§Ã") ("v" . "š§Ç") ("w" . "š§Ç") ("hh" . "š§Ë") ("O" . "š§Í") ("h" . "š§Î") ("nh" . "š§ü") ("mh" . "š§ý") ("lh" . ["š§Ëš§Ü"]) ("ngh" . ["š§Ëš§§"]) ("yh" . ["š§Ëš§Ý"]) ("wh" . ["š§Ëš§Ç"]) ("hl" . ["š§Ëš§Å"]) ("hy" . ["š§Ëš§­"]) ("hn" . ["š§Ëš§¹"]) ("hm" . ["š§Ëš§Á"])) #[(x y) "@G	@GV\207" [x y] 2] (("r" . "š§Ü")) (("a" . "š§Ð") ("ar" . "š§Ò") ("i" . "š§Ô") ("ii" . "š§Õ") ("eu" . "š§Ö") ("ur" . "š§×") ("u" . "š§Ø") ("uu" . "š§Ù") ("e" . ["š§àš§Ð"]) ("ee" . "š§à") ("ae" . ["š§áš§Ð"]) ("aa" . "š§á") ("o" . ["š§âš§Ð"]) ("oo" . "š§â") ("oe" . ["š§àš§Òš§Ð"]) ("or" . "š§í") ("er" . ["š§àš§Ô"]) ("ir" . ["š§àš§Õ"]) ("ua" . ["š§Ûš§Çš§Ð"]) ("uaa" . ["š§Ûš§Ç"]) ("ie" . ["š§àš§Ñš§Ýš§Ð"]) ("ia" . ["š§àš§Ñš§Ý"]) ("ea" . ["š§àš§Öš§Í"]) ("eaa" . ["š§àš§×š§Í"]) ("ai" . "š§ä") ("ei" . "š§ã") ("ao" . ["š§àš§Ûš§Ò"]) ("aM" . "š§Ó")) #[(x y) "@G	@GV\207" [x y] 2] (("k" . "š§¡") ("g" . "š§§") ("y" . "š§­") ("d" . "š§´") ("n" . "š§¹") ("b" . "š§º") ("m" . "š§Á") ("v" . "š§Ç") ("w" . "š§Ç")) (("'" . "š§è") ("\"" . "š§é") ("^" . "š§ê") ("+" . "š§ë") ("~" . "š§ì")) lao-transcription-punctuation-alist (("\\0" . "š§ð") ("\\1" . "š§ñ") ("\\2" . "š§ò") ("\\3" . "š§ó") ("\\4" . "š§ô") ("\\5" . "š§õ") ("\\6" . "š§ö") ("\\7" . "š§÷") ("\\8" . "š§ø") ("\\9" . "š§ù") ("\\\\" . "š§æ") ("\\$" . "š§Ï"))] 3)
#@61 Regexp of Roman transcription pattern for one Lao syllable.
(defconst lao-transcription-pattern (byte-code "\306\307\310\311#\312\307\310	\311#\313\307\310\n\311#\312\307\310\311#\314\307\315\f\311#\316\307\317\311#\260\f\207" [lao-transcription-consonant-alist lao-transcription-semi-vowel-alist lao-transcription-vowel-alist lao-transcription-maa-sakod-alist lao-transcription-tone-alist lao-transcription-punctuation-alist "\\(" mapconcat car "\\|" "\\)\\(" "\\)?\\(\\(" "\\)?\\(" #[(x) "\301@!\207" [x regexp-quote] 2] "\\)?\\)?\\|" #[(x) "\301@!\207" [x regexp-quote] 2]] 15) (#$ . 6783))
#@61 Regexp of Roman transcription pattern for one Lao syllable.
(defconst lao-transcription-pattern (byte-code "\306\307\310\311\"!\312\307\310\311	\"!\313\307\310\311\n\"!\312\307\310\311\"!\314\307\310\311\f\"!\315\307\310\311\"!\260\f\207" [lao-transcription-consonant-alist lao-transcription-semi-vowel-alist lao-transcription-vowel-alist lao-transcription-maa-sakod-alist lao-transcription-tone-alist lao-transcription-punctuation-alist "\\(" regexp-opt mapcar car "\\)\\(" "\\)?\\(\\(" "\\)?\\(" "\\)?\\)?\\|"] 15) (#$ . 7388))
#@862 Alist of Lao vowel string vs the corresponding re-ordering rule.
Each element has this form:
	(VOWEL NO-MAA-SAKOD-RULE WITH-MAA-SAKOD-RULE (MAA-SAKOD-0 RULE-0) ...)

VOWEL is a vowel string (e.g. "š§àš§Ñš§Ýš§Ð").

NO-MAA-SAKOD-RULE is a rule to re-order and modify VOWEL following a
consonant.  It is a list vowel characters or 0.  The element 0
indicate the place to embed a consonant.

Optional WITH-MAA-SAKOD-RULE is a rule to re-order and modify VOWEL
follwoing a consonant and preceding a maa-sakod character.  If it is
nil, NO-MAA-SAKOD-RULE is used.  The maa-sakod character is alwasy
appended at the tail.

For instance, rule `("š§àš§×š§Í" (?š§à t ?š§× ?š§Í))' tells that this vowel
string following a consonant `š§¡' should be re-ordered as "š§àš§¡š§×š§Í".

Optional (MAA-SAKOD-n RULE-n) are rules specially applied to maa-sakod
character MAA-SAKOD-n.
(defconst lao-vowel-reordering-rule '(("š§Ð" (0 7120) (0 7121)) ("š§Ò" (0 7122)) ("š§Ô" (0 7125)) ("š§Õ" (0 7125)) ("š§Ö" (0 7126)) ("š§×" (0 7127)) ("š§Ø" (0 7128)) ("š§Ù" (0 7129)) ("š§àš§Ð" (7136 0 7120) (7136 0 7121)) ("š§à" (7136 0)) ("š§áš§Ð" (7137 0 7120) (7137 0 7121)) ("š§á" (7137 0)) ("š§âš§Ð" (7138 0 7120) (0 7131) (7085 7138 0 7121) (7111 7138 0 7121)) ("š§â" (7138 0)) ("š§àš§Òš§Ð" (7136 0 7122 7120) (0 7121 7117)) ("š§í" (0 7149) (0 7117)) ("š§àš§Ô" (7136 0 7124)) ("š§àš§Õ" (7136 0 7125)) ("š§Ûš§Çš§Ð" (0 7131 7111 7120) (0 7121 7111)) ("š§Ûš§Ç" (0 7131 7111) (0 7111)) ("š§àš§Ñš§Ýš§Ð" (7136 0 7121 7133 7120) (0 7121 7133)) ("š§àš§Ñš§Ý" (7136 0 7121 7133) (0 7133)) ("š§àš§Öš§Í" (7136 0 7126 7117)) ("š§àš§×š§Í" (7136 0 7127 7117)) ("š§ä" (7140 0)) ("š§ã" (7139 0)) ("š§àš§Ûš§Ò" (7136 0 7131 7122)) ("š§Ó" (0 7123))) (#$ . 7928))
#@430 Transcribe a Romanized Lao syllable in the region FROM and TO to Lao string.
Only the first syllable is transcribed.
The value has the form: (START END LAO-STRING), where
START and END are the beggining and end positions of the Roman Lao syllable,
LAO-STRING is the Lao character transcription of it.

Optional 3rd arg STR, if non-nil, is a string to search for Roman Lao
syllable.  In that case, FROM and TO are indexes to STR.
(defalias 'lao-transcribe-single-roman-syllable-to-lao #[(from to &optional str) "\203 \306	\n#\211\2036 \nY\203 \307\2026 \310\225\2026 \212\nb\210\311	\312#\211\2033 \310\224\2025 \307)\n\205\263\313\314\"\313\315\"\313\316\"\313\317\"\313\320\"\307\307 \307!\307\"\307#\307$\307%\310\225\f\204 \321\313\310\"&\"A\202\253\321\f'\"A\322!\203\224 \310HG$\203\305 \321(\"A $\314U\203\264  P\202\301 \310\314O \314\307OQ\202\310 \203\253\307)\321*\"A!\322!!\203\346 !\310H!\321!+\")\204\374 )A@)\202\321,\"A\211\"\310H)AA\236A\206\323)8\206)A@))\204)\324\325!\"\210\326)\203W)@\310U\203GP\211G%\202N)@CP)A\211)\2043%\204b\324\327\"\210G-%-W\203\203\330%H\331\"\332>\203\203%T\211%\202h)\"\203\216\"P\203\252\321.\"A#\310%O#%\307OQ)\n\333!E.\f\207" [str lao-transcription-pattern from to consonant semivowel string-match nil 0 re-search-forward t match-string 1 3 5 8 9 assoc vectorp 2 error "Lao vowel %S has no re-ordering rule" "" "Lao vowel %S has malformed re-ordering rule" get-char-code-property phonetic-type (vowel-lower vowel-upper) lao-compose-string vowel maa-sakod tone lao-consonant lao-semivowel lao-vowel lao-maa-sakod lao-tone clen cidx lao-transcription-punctuation-alist lao-transcription-consonant-alist lao-transcription-semi-vowel-alist rule lao-transcription-vowel-alist lao-vowel-reordering-rule lao-transcription-maa-sakod-alist len lao-transcription-tone-alist] 6 (#$ . 9645)])
#@62 Transcribe Romanized Lao string STR to Lao character string.
(defalias 'lao-transcribe-roman-to-lao-string #[(str) "\306G\307\310\311\f#\211\203= 	@	A@\312	8\211\f\fV\2032 \n\f\fOQ\2026 \nP+\202	 \fW\203L \n\fOP\202M \n,\207" [str val lao-str to from lao 0 "" nil lao-transcribe-single-roman-syllable-to-lao 2 end start] 5 (#$ . 11640)])
#@228 Compose Lao text in the region FROM and TO.
The text matches the regular expression PATTERN.
Optional 4th argument STRING, if non-nil, is a string containing text
to compose.

The return value is number of composed characters.
(defalias 'lao-composition-function #[(from to pattern &optional string) "T	W\205  	Z\n\203 \303\n	#\210\202 \304	\"\210	Z\210\207" [from to string compose-string compose-region] 5 (#$ . 12009)])
(defalias 'lao-compose-region #[(from to) "\214	}\210eb\210\305 \306!\210\307\216\310\f\311\312#\205\" \313\314\224`\"\210\202 +\207" [from to current-category-table lao-category-table lao-composition-pattern category-table set-category-table ((set-category-table current-category-table)) re-search-forward nil t compose-region 0] 4 nil "r"])
(provide 'lao-util)
