summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Love <fx@gnu.org>2001-11-22 10:46:44 +0000
committerDave Love <fx@gnu.org>2001-11-22 10:46:44 +0000
commit1c864541f39e499770eb953ab0a009201330ec1e (patch)
treed783e61b61ab3fbe44ab9cb6cbf39e3dbdcdfabd
parentec0c05ff180696ecc7eaa3e6276a82f78a86ef79 (diff)
downloademacs-1c864541f39e499770eb953ab0a009201330ec1e.tar.gz
Add Unicode equivalents for rules.
(lao-post-read-conversion): New function.
-rw-r--r--lisp/language/lao-util.el113
1 files changed, 108 insertions, 5 deletions
diff --git a/lisp/language/lao-util.el b/lisp/language/lao-util.el
index 4f5cb960074..a347b6b01c7 100644
--- a/lisp/language/lao-util.el
+++ b/lisp/language/lao-util.el
@@ -1,9 +1,10 @@
-;;; lao-util.el --- utilities for Lao
+;;; lao-util.el --- utilities for Lao -*- coding: iso-2022-7bit; -*-
;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
;; Licensed to the Free Software Foundation.
+;; Copyright (C) 2001 Free Software Foundation, Inc.
-;; Keywords: multilingual, Lao
+;; Keywords: multilingual, Lao, i18n
;; This file is part of GNU Emacs.
@@ -22,9 +23,11 @@
;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
+;;; Commentary:
+
;;; Code:
-;; Setting information of Thai characters.
+;; Setting information for Lao characters.
(defconst lao-category-table (make-category-table))
(define-category ?c "Lao consonant" lao-category-table)
@@ -126,7 +129,72 @@
(?(1|(B consonant "LETTER NHOR NHUU" "MOUSE")
(?(1}(B consonant "LETTER MHOR MHAR" "DOG")
(?(1~(B invalid nil)
- ))
+ ;; Unicode equivalents
+ (?$,1D!(B consonant "LETTER KOR KAI'" "CHICKEN")
+ (?$,1D"(B consonant "LETTER KHOR KHAI'" "EGG")
+ (?$,1D$(B consonant "LETTER QHOR QHWARGN" "BUFFALO")
+ (?$,1D'(B consonant "LETTER NGOR NGUU" "SNAKE")
+ (?$,1D((B consonant "LETTER JOR JUA" "BUDDHIST NOVICE")
+ (?$,1D*(B consonant "LETTER XOR X\"ARNG" "ELEPHANT")
+ (?$,1D-(B consonant "LETTER YOR YUNG" "MOSQUITO")
+ (?$,1D4(B consonant "LETTER DOR DANG" "NOSE")
+ (?$,1D5(B consonant "LETTER TOR TAR" "EYE")
+ (?$,1D6(B consonant "LETTER THOR THUNG" "TO ASK,QUESTION")
+ (?$,1D7(B consonant "LETTER DHOR DHARM" "FLAG")
+ (?$,1D9(B consonant "LETTER NOR NOK" "BIRD")
+ (?$,1D:(B consonant "LETTER BOR BED" "FISHHOOK")
+ (?$,1D;(B consonant "LETTER POR PAR" "FISH")
+ (?$,1D<(B consonant "LETTER HPOR HPER\"" "BEE")
+ (?$,1D=(B consonant "LETTER FHOR FHAR" "WALL")
+ (?$,1D>(B consonant "LETTER PHOR PHUU" "MOUNTAIN")
+ (?$,1D?(B consonant "LETTER FOR FAI" "FIRE")
+ (?$,1DA(B consonant "LETTER MOR MAR\"" "HORSE")
+ (?$,1DB(B consonant "LETTER GNOR GNAR" "MEDICINE")
+ (?$,1DC(B consonant "LETTER ROR ROD" "CAR")
+ (?$,1DE(B consonant "LETTER LOR LIING" "MONKEY")
+ (?$,1DG(B consonant "LETTER WOR WII" "HAND FAN")
+ (?$,1DJ(B consonant "LETTER SOR SEA" "TIGER")
+ (?$,1DK(B consonant "LETTER HHOR HHAI" "JAR")
+ (?$,1DM(B consonant "LETTER OR OOW" "TAKE")
+ (?$,1DN(B consonant "LETTER HOR HEA" "BOAT")
+ (?$,1DO(B special "ELLIPSIS")
+ (?$,1DP(B vowel-base "VOWEL SIGN SARA A")
+ (?$,1DQ(B vowel-upper "VOWEL SIGN MAI KAN")
+ (?$,1DR(B vowel-base "VOWEL SIGN SARA AR")
+ (?$,1DS(B vowel-base "VOWEL SIGN SARA AM")
+ (?$,1DT(B vowel-upper "VOWEL SIGN SARA I")
+ (?$,1DU(B vowel-upper "VOWEL SIGN SARA II")
+ (?$,1DV(B vowel-upper "VOWEL SIGN SARA EU")
+ (?$,1DW(B vowel-upper "VOWEL SIGN SARA UR")
+ (?$,1DX(B vowel-lower "VOWEL SIGN SARA U")
+ (?$,1DY(B vowel-lower "VOWEL SIGN SARA UU")
+ (?$,1D[(B vowel-upper "VOWEL SIGN MAI KONG")
+ (?$,1D\(B semivowel-lower "SEMIVOWEL SIGN LO")
+ (?$,1D](B vowel-base "SEMIVOWEL SIGN SARA IA")
+ (?$,1D`(B vowel-base "VOWEL SIGN SARA EE")
+ (?$,1Da(B vowel-base "VOWEL SIGN SARA AA")
+ (?$,1Db(B vowel-base "VOWEL SIGN SARA OO")
+ (?$,1Dc(B vowel-base "VOWEL SIGN SARA EI MAI MUAN\"")
+ (?$,1Dd(B vowel-base "VOWEL SIGN SARA AI MAI MAY")
+ (?$,1Df(B special "KO LA (REPETITION)")
+ (?$,1Dh(B tone "TONE MAI EK")
+ (?$,1Di(B tone "TONE MAI THO")
+ (?$,1Dj(B tone "TONE MAI TI")
+ (?$,1Dk(B tone "TONE MAI JADTAWAR")
+ (?$,1Dl(B tone "CANCELLATION MARK")
+ (?$,1Dm(B vowel-upper "VOWEL SIGN SARA OR")
+ (?$,1Dp(B special "DIGIT ZERO")
+ (?$,1Dq(B special "DIGIT ONE")
+ (?$,1Dr(B special "DIGIT TWO")
+ (?$,1Ds(B special "DIGIT THREE")
+ (?$,1Dt(B special "DIGIT FOUR")
+ (?$,1Du(B special "DIGIT FIVE")
+ (?$,1Dv(B special "DIGIT SIX")
+ (?$,1Dw(B special "DIGIT SEVEN")
+ (?$,1Dx(B special "DIGIT EIGHT")
+ (?$,1Dy(B special "DIGIT NINE")
+ (?$,1D|(B consonant "LETTER NHOR NHUU" "MOUSE")
+ (?$,1D}(B consonant "LETTER MHOR MHAR" "DOG")))
elm)
(while l
(setq elm (car l) l (cdr l))
@@ -354,7 +422,37 @@
("(1d(B" (?(1d(B 0))
("(1c(B" (?(1c(B 0))
("(1`[R(B" (?(1`(B 0 ?(1[(B ?(1R(B))
- ("(1S(B" (0 ?(1S(B)))
+ ("(1S(B" (0 ?(1S(B))
+
+ ;; Unicode equivalents
+ ("$,1DP(B" (0 ?$,1DP(B) (0 ?$,1DQ(B))
+ ("$,1DR(B" (0 ?$,1DR(B))
+ ("$,1DT(B" (0 ?$,1DU(B))
+ ("$,1DU(B" (0 ?$,1DU(B))
+ ("$,1DV(B" (0 ?$,1DV(B))
+ ("$,1DW(B" (0 ?$,1DW(B))
+ ("$,1DX(B" (0 ?$,1DX(B))
+ ("$,1DY(B" (0 ?$,1DY(B))
+ ("$,1D`DP(B" (?$,1D`(B 0 ?$,1DP(B) (?$,1D`(B 0 ?$,1DQ(B))
+ ("$,1D`(B" (?$,1D`(B 0))
+ ("$,1DaDP(B" (?$,1Da(B 0 ?$,1DP(B) (?$,1Da(B 0 ?$,1DQ(B))
+ ("$,1Da(B" (?$,1Da(B 0))
+ ("$,1DbDP(B" (?$,1Db(B 0 ?$,1DP(B) (0 ?$,1D[(B) (?$,1D-(B ?$,1Db(B 0 ?$,1DQ(B) (?$,1DG(B ?$,1Db(B 0 ?$,1DQ(B))
+ ("$,1Db(B" (?$,1Db(B 0))
+ ("$,1D`DRDP(B" (?$,1D`(B 0 ?$,1DR(B ?$,1DP(B) (0 ?$,1DQ(B ?$,1DM(B))
+ ("$,1Dm(B" (0 ?$,1Dm(B) (0 ?$,1DM(B))
+ ("$,1D`DT(B" (?$,1D`(B 0 ?$,1DT(B))
+ ("$,1D`DU(B" (?$,1D`(B 0 ?$,1DU(B))
+ ("$,1D[DGDP(B" (0 ?$,1D[(B ?$,1DG(B ?$,1DP(B) (0 ?$,1DQ(B ?$,1DG(B))
+ ("$,1D[DG(B" (0 ?$,1D[(B ?$,1DG(B) (0 ?$,1DG(B))
+ ("$,1D`DQD]DP(B" (?$,1D`(B 0 ?$,1DQ(B ?$,1D](B ?$,1DP(B) (0 ?$,1DQ(B ?$,1D](B))
+ ("$,1D`DQD](B" (?$,1D`(B 0 ?$,1DQ(B ?$,1D](B) (0 ?$,1D](B))
+ ("$,1D`DVDM(B" (?$,1D`(B 0 ?$,1DV(B ?$,1DM(B))
+ ("$,1D`DWDM(B" (?$,1D`(B 0 ?$,1DW(B ?$,1DM(B))
+ ("$,1Dd(B" (?$,1Dd(B 0))
+ ("$,1Dc(B" (?$,1Dc(B 0))
+ ("$,1D`D[DR(B" (?$,1D`(B 0 ?$,1D[(B ?$,1DR(B))
+ ("$,1DS(B" (0 ?$,1DS(B)))
"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) ...)
@@ -485,6 +583,11 @@ syllable. In that case, FROM and TO are indexes to STR."
lao-str)))
;;;###autoload
+(defun lao-post-read-conversion (len)
+ (lao-compose-region (point) (+ (point) len))
+ len)
+
+;;;###autoload
(defun lao-composition-function (from to pattern &optional string)
"Compose Lao text in the region FROM and TO.
The text matches the regular expression PATTERN.