Mercurial > emacs
comparison lisp/language/lao-util.el @ 41890:fc0965c8ee87
Add Unicode equivalents for rules.
(lao-post-read-conversion): New function.
author | Dave Love <fx@gnu.org> |
---|---|
date | Fri, 07 Dec 2001 18:18:33 +0000 |
parents | 67b464da13ec |
children | 7480394b28f4 0eccf1b3ae81 |
comparison
equal
deleted
inserted
replaced
41889:9aacf033589b | 41890:fc0965c8ee87 |
---|---|
1 ;;; lao-util.el --- utilities for Lao -*- coding: iso-2022-7bit; -*- | 1 ;;; lao-util.el --- utilities for Lao -*- coding: iso-2022-7bit; -*- |
2 | 2 |
3 ;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN. | 3 ;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN. |
4 ;; Licensed to the Free Software Foundation. | 4 ;; Licensed to the Free Software Foundation. |
5 ;; Copyright (C) 2001 Free Software Foundation, Inc. | |
5 | 6 |
6 ;; Keywords: multilingual, Lao | 7 ;; Keywords: multilingual, Lao |
7 | 8 |
8 ;; This file is part of GNU Emacs. | 9 ;; This file is part of GNU Emacs. |
9 | 10 |
126 (?(1z(B invalid nil) | 127 (?(1z(B invalid nil) |
127 (?(1{(B invalid nil) | 128 (?(1{(B invalid nil) |
128 (?(1|(B consonant "LETTER NHOR NHUU" "MOUSE") | 129 (?(1|(B consonant "LETTER NHOR NHUU" "MOUSE") |
129 (?(1}(B consonant "LETTER MHOR MHAR" "DOG") | 130 (?(1}(B consonant "LETTER MHOR MHAR" "DOG") |
130 (?(1~(B invalid nil) | 131 (?(1~(B invalid nil) |
131 )) | 132 ;; Unicode equivalents |
133 (?$,1D!(B consonant "LETTER KOR KAI'" "CHICKEN") | |
134 (?$,1D"(B consonant "LETTER KHOR KHAI'" "EGG") | |
135 (?$,1D$(B consonant "LETTER QHOR QHWARGN" "BUFFALO") | |
136 (?$,1D'(B consonant "LETTER NGOR NGUU" "SNAKE") | |
137 (?$,1D((B consonant "LETTER JOR JUA" "BUDDHIST NOVICE") | |
138 (?$,1D*(B consonant "LETTER XOR X\"ARNG" "ELEPHANT") | |
139 (?$,1D-(B consonant "LETTER YOR YUNG" "MOSQUITO") | |
140 (?$,1D4(B consonant "LETTER DOR DANG" "NOSE") | |
141 (?$,1D5(B consonant "LETTER TOR TAR" "EYE") | |
142 (?$,1D6(B consonant "LETTER THOR THUNG" "TO ASK,QUESTION") | |
143 (?$,1D7(B consonant "LETTER DHOR DHARM" "FLAG") | |
144 (?$,1D9(B consonant "LETTER NOR NOK" "BIRD") | |
145 (?$,1D:(B consonant "LETTER BOR BED" "FISHHOOK") | |
146 (?$,1D;(B consonant "LETTER POR PAR" "FISH") | |
147 (?$,1D<(B consonant "LETTER HPOR HPER\"" "BEE") | |
148 (?$,1D=(B consonant "LETTER FHOR FHAR" "WALL") | |
149 (?$,1D>(B consonant "LETTER PHOR PHUU" "MOUNTAIN") | |
150 (?$,1D?(B consonant "LETTER FOR FAI" "FIRE") | |
151 (?$,1DA(B consonant "LETTER MOR MAR\"" "HORSE") | |
152 (?$,1DB(B consonant "LETTER GNOR GNAR" "MEDICINE") | |
153 (?$,1DC(B consonant "LETTER ROR ROD" "CAR") | |
154 (?$,1DE(B consonant "LETTER LOR LIING" "MONKEY") | |
155 (?$,1DG(B consonant "LETTER WOR WII" "HAND FAN") | |
156 (?$,1DJ(B consonant "LETTER SOR SEA" "TIGER") | |
157 (?$,1DK(B consonant "LETTER HHOR HHAI" "JAR") | |
158 (?$,1DM(B consonant "LETTER OR OOW" "TAKE") | |
159 (?$,1DN(B consonant "LETTER HOR HEA" "BOAT") | |
160 (?$,1DO(B special "ELLIPSIS") | |
161 (?$,1DP(B vowel-base "VOWEL SIGN SARA A") | |
162 (?$,1DQ(B vowel-upper "VOWEL SIGN MAI KAN") | |
163 (?$,1DR(B vowel-base "VOWEL SIGN SARA AR") | |
164 (?$,1DS(B vowel-base "VOWEL SIGN SARA AM") | |
165 (?$,1DT(B vowel-upper "VOWEL SIGN SARA I") | |
166 (?$,1DU(B vowel-upper "VOWEL SIGN SARA II") | |
167 (?$,1DV(B vowel-upper "VOWEL SIGN SARA EU") | |
168 (?$,1DW(B vowel-upper "VOWEL SIGN SARA UR") | |
169 (?$,1DX(B vowel-lower "VOWEL SIGN SARA U") | |
170 (?$,1DY(B vowel-lower "VOWEL SIGN SARA UU") | |
171 (?$,1D[(B vowel-upper "VOWEL SIGN MAI KONG") | |
172 (?$,1D\(B semivowel-lower "SEMIVOWEL SIGN LO") | |
173 (?$,1D](B vowel-base "SEMIVOWEL SIGN SARA IA") | |
174 (?$,1D`(B vowel-base "VOWEL SIGN SARA EE") | |
175 (?$,1Da(B vowel-base "VOWEL SIGN SARA AA") | |
176 (?$,1Db(B vowel-base "VOWEL SIGN SARA OO") | |
177 (?$,1Dc(B vowel-base "VOWEL SIGN SARA EI MAI MUAN\"") | |
178 (?$,1Dd(B vowel-base "VOWEL SIGN SARA AI MAI MAY") | |
179 (?$,1Df(B special "KO LA (REPETITION)") | |
180 (?$,1Dh(B tone "TONE MAI EK") | |
181 (?$,1Di(B tone "TONE MAI THO") | |
182 (?$,1Dj(B tone "TONE MAI TI") | |
183 (?$,1Dk(B tone "TONE MAI JADTAWAR") | |
184 (?$,1Dl(B tone "CANCELLATION MARK") | |
185 (?$,1Dm(B vowel-upper "VOWEL SIGN SARA OR") | |
186 (?$,1Dp(B special "DIGIT ZERO") | |
187 (?$,1Dq(B special "DIGIT ONE") | |
188 (?$,1Dr(B special "DIGIT TWO") | |
189 (?$,1Ds(B special "DIGIT THREE") | |
190 (?$,1Dt(B special "DIGIT FOUR") | |
191 (?$,1Du(B special "DIGIT FIVE") | |
192 (?$,1Dv(B special "DIGIT SIX") | |
193 (?$,1Dw(B special "DIGIT SEVEN") | |
194 (?$,1Dx(B special "DIGIT EIGHT") | |
195 (?$,1Dy(B special "DIGIT NINE") | |
196 (?$,1D|(B consonant "LETTER NHOR NHUU" "MOUSE") | |
197 (?$,1D}(B consonant "LETTER MHOR MHAR" "DOG"))) | |
132 elm) | 198 elm) |
133 (while l | 199 (while l |
134 (setq elm (car l) l (cdr l)) | 200 (setq elm (car l) l (cdr l)) |
135 (let ((char (car elm)) | 201 (let ((char (car elm)) |
136 (ptype (nth 1 elm))) | 202 (ptype (nth 1 elm))) |
354 ("(1`VM(B" (?(1`(B 0 ?(1V(B ?(1M(B)) | 420 ("(1`VM(B" (?(1`(B 0 ?(1V(B ?(1M(B)) |
355 ("(1`WM(B" (?(1`(B 0 ?(1W(B ?(1M(B)) | 421 ("(1`WM(B" (?(1`(B 0 ?(1W(B ?(1M(B)) |
356 ("(1d(B" (?(1d(B 0)) | 422 ("(1d(B" (?(1d(B 0)) |
357 ("(1c(B" (?(1c(B 0)) | 423 ("(1c(B" (?(1c(B 0)) |
358 ("(1`[R(B" (?(1`(B 0 ?(1[(B ?(1R(B)) | 424 ("(1`[R(B" (?(1`(B 0 ?(1[(B ?(1R(B)) |
359 ("(1S(B" (0 ?(1S(B))) | 425 ("(1S(B" (0 ?(1S(B)) |
426 | |
427 ;; Unicode equivalents | |
428 ("$,1DP(B" (0 ?$,1DP(B) (0 ?$,1DQ(B)) | |
429 ("$,1DR(B" (0 ?$,1DR(B)) | |
430 ("$,1DT(B" (0 ?$,1DU(B)) | |
431 ("$,1DU(B" (0 ?$,1DU(B)) | |
432 ("$,1DV(B" (0 ?$,1DV(B)) | |
433 ("$,1DW(B" (0 ?$,1DW(B)) | |
434 ("$,1DX(B" (0 ?$,1DX(B)) | |
435 ("$,1DY(B" (0 ?$,1DY(B)) | |
436 ("$,1D`DP(B" (?$,1D`(B 0 ?$,1DP(B) (?$,1D`(B 0 ?$,1DQ(B)) | |
437 ("$,1D`(B" (?$,1D`(B 0)) | |
438 ("$,1DaDP(B" (?$,1Da(B 0 ?$,1DP(B) (?$,1Da(B 0 ?$,1DQ(B)) | |
439 ("$,1Da(B" (?$,1Da(B 0)) | |
440 ("$,1DbDP(B" (?$,1Db(B 0 ?$,1DP(B) (0 ?$,1D[(B) (?$,1D-(B ?$,1Db(B 0 ?$,1DQ(B) (?$,1DG(B ?$,1Db(B 0 ?$,1DQ(B)) | |
441 ("$,1Db(B" (?$,1Db(B 0)) | |
442 ("$,1D`DRDP(B" (?$,1D`(B 0 ?$,1DR(B ?$,1DP(B) (0 ?$,1DQ(B ?$,1DM(B)) | |
443 ("$,1Dm(B" (0 ?$,1Dm(B) (0 ?$,1DM(B)) | |
444 ("$,1D`DT(B" (?$,1D`(B 0 ?$,1DT(B)) | |
445 ("$,1D`DU(B" (?$,1D`(B 0 ?$,1DU(B)) | |
446 ("$,1D[DGDP(B" (0 ?$,1D[(B ?$,1DG(B ?$,1DP(B) (0 ?$,1DQ(B ?$,1DG(B)) | |
447 ("$,1D[DG(B" (0 ?$,1D[(B ?$,1DG(B) (0 ?$,1DG(B)) | |
448 ("$,1D`DQD]DP(B" (?$,1D`(B 0 ?$,1DQ(B ?$,1D](B ?$,1DP(B) (0 ?$,1DQ(B ?$,1D](B)) | |
449 ("$,1D`DQD](B" (?$,1D`(B 0 ?$,1DQ(B ?$,1D](B) (0 ?$,1D](B)) | |
450 ("$,1D`DVDM(B" (?$,1D`(B 0 ?$,1DV(B ?$,1DM(B)) | |
451 ("$,1D`DWDM(B" (?$,1D`(B 0 ?$,1DW(B ?$,1DM(B)) | |
452 ("$,1Dd(B" (?$,1Dd(B 0)) | |
453 ("$,1Dc(B" (?$,1Dc(B 0)) | |
454 ("$,1D`D[DR(B" (?$,1D`(B 0 ?$,1D[(B ?$,1DR(B)) | |
455 ("$,1DS(B" (0 ?$,1DS(B))) | |
360 "Alist of Lao vowel string vs the corresponding re-ordering rule. | 456 "Alist of Lao vowel string vs the corresponding re-ordering rule. |
361 Each element has this form: | 457 Each element has this form: |
362 (VOWEL NO-MAA-SAKOD-RULE WITH-MAA-SAKOD-RULE (MAA-SAKOD-0 RULE-0) ...) | 458 (VOWEL NO-MAA-SAKOD-RULE WITH-MAA-SAKOD-RULE (MAA-SAKOD-0 RULE-0) ...) |
363 | 459 |
364 VOWEL is a vowel string (e.g. \"(1`Q]P(B\"). | 460 VOWEL is a vowel string (e.g. \"(1`Q]P(B\"). |
485 (if (< from to) | 581 (if (< from to) |
486 (concat lao-str (substring str from to)) | 582 (concat lao-str (substring str from to)) |
487 lao-str))) | 583 lao-str))) |
488 | 584 |
489 ;;;###autoload | 585 ;;;###autoload |
586 (defun lao-post-read-conversion (len) | |
587 (lao-compose-region (point) (+ (point) len)) | |
588 len) | |
589 | |
590 ;;;###autoload | |
490 (defun lao-composition-function (from to pattern &optional string) | 591 (defun lao-composition-function (from to pattern &optional string) |
491 "Compose Lao text in the region FROM and TO. | 592 "Compose Lao text in the region FROM and TO. |
492 The text matches the regular expression PATTERN. | 593 The text matches the regular expression PATTERN. |
493 Optional 4th argument STRING, if non-nil, is a string containing text | 594 Optional 4th argument STRING, if non-nil, is a string containing text |
494 to compose. | 595 to compose. |