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.