comparison lisp/language/tibetan.el @ 29364:2891d66b723b

(tibetan-composable-pattern): More characters included. (tibetan-consonant-transcription-alist): Rule for "R" added. (tibetan-subjoined-transcription-alist): Rules for "+W", "+Y", and "+R" added. (tibetan-base-to-subjoined-alist): Rule for "RA" added.
author Kenichi Handa <handa@m17n.org>
date Thu, 01 Jun 2000 11:02:58 +0000
parents 9895d3c3e7ce
children 79fb788042f3
comparison
equal deleted inserted replaced
29363:1ebd8db9c3dc 29364:2891d66b723b
36 ;;; with a slight modification. And there are some subjoined 36 ;;; with a slight modification. And there are some subjoined
37 ;;; consonants which are not specified in Unicode. 37 ;;; consonants which are not specified in Unicode.
38 ;;; I hope I can add missing characters later. 38 ;;; I hope I can add missing characters later.
39 ;;; 39 ;;;
40 ;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 40 ;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
41 ;;;2120 // $(7!!(B $(7!"(B $(7!#(B $(7!$(B $(7!%(B $(7!&(B $(7!'(B $(7!((B $(7!)(B $(7!*(B $(7!+(B $(7!,(B $(7!-(B $(7!.(B $(7!/(B ; 41 ;;;2120 // $(7!!(B $(7!"(B $(7!#(B $(7!$(B $(7!%(B $(7!&(B $(7!'(B $(7!((B $(7!)(B $(7!*(B $(7!+(B $(7!,(B $(7!-(B $(7!.(B $(7!/(B ; obsolete glyphs (2123-5)
42 ;;;2130 $(7!0(B $(7!1(B $(7!2(B $(7!3(B $(7!4(B $(7!5(B $(7!6(B $(7!7(B $(7!8(B $(7!9(B $(7!:(B $(7!;(B $(7!<(B $(7!=(B $(7!>(B $(7!?(B ; Punctuations, 42 ;;;2130 $(7!0(B $(7!1(B $(7!2(B $(7!3(B $(7!4(B $(7!5(B $(7!6(B $(7!7(B $(7!8(B $(7!9(B $(7!:(B $(7!;(B $(7!<(B $(7!=(B $(7!>(B $(7!?(B ; Punctuations,
43 ;;;2140 $(7!@(B $(7!A(B $(7!B(B $(7!C(B $(7!D(B $(7!E(B $(7!F(B $(7!G(B $(7!H(B $(7!I(B $(7!J(B $(7!K(B $(7!L(B $(7!M(B $(7!N(B $(7!O(B ; Digits and 43 ;;;2140 $(7!@(B $(7!A(B $(7!B(B $(7!C(B $(7!D(B $(7!E(B $(7!F(B $(7!G(B $(7!H(B $(7!I(B $(7!J(B $(7!K(B $(7!L(B $(7!M(B $(7!N(B $(7!O(B ; Digits and
44 ;;;2150 $(7!P(B $(7!Q(B $(7!R(B $(7!S(B $(7!T(B $(7!U(B $(7!V(B $(7!W(B $(7!X(B $(7!Y(B $(7!Z(B $(7![(B $(7!\(B $(7!](B $(7!^(B $(7!_(B ; Special signs. 44 ;;;2150 $(7!P(B $(7!Q(B $(7!R(B $(7!S(B $(7!T(B $(7!U(B $(7!V(B $(7!W(B $(7!X(B $(7!Y(B $(7!Z(B $(7![(B $(7!\(B $(7!](B $(7!^(B $(7!_(B ; Special signs.
45 ;;;2160 $(7!`(B $(7!a(B $(7!b(B $(7!c(B $(7!d(B $(7!e(B $(7!f(B $(7!g(B $(7!h(B $(7!i(B $(7!j(B $(7!k(B $(7!l(B $(7!m(B $(7!n(B $(7!o(B ; 45 ;;;2160 $(7!`(B $(7!a(B $(7!b(B $(7!c(B $(7!d(B $(7!e(B $(7!f(B $(7!g(B $(7!h(B $(7!i(B $(7!j(B $(7!k(B $(7!l(B $(7!m(B $(7!n(B $(7!o(B ;
46 ;;;2170 $(7!p(B $(7!q(B $(7!r(B $(7!s(B $(7!t(B $(7!u(B $(7!v(B $(7!w(B $(7!x(B $(7!y(B $(7!z(B $(7!{(B $(7!|(B $(7!}(B $(7!~(B // ; 46 ;;;2170 $(7!p(B $(7!q(B $(7!r(B $(7!s(B $(7!t(B $(7!u(B $(7!v(B $(7!w(B $(7!x(B $(7!y(B $(7!z(B $(7!{(B $(7!|(B $(7!}(B $(7!~(B // ;
49 ;;;2220 // $(7"!(B $(7""(B $(7"#(B $(7"$(B $(7"%(B $(7"&(B $(7"'(B $(7"((B $(7")(B $(7"*(B $(7"+(B $(7",(B $(7"-(B $(7".(B $(7"/(B ; Base consonants 49 ;;;2220 // $(7"!(B $(7""(B $(7"#(B $(7"$(B $(7"%(B $(7"&(B $(7"'(B $(7"((B $(7")(B $(7"*(B $(7"+(B $(7",(B $(7"-(B $(7".(B $(7"/(B ; Base consonants
50 ;;;2230 $(7"0(B $(7"1(B $(7"2(B $(7"3(B $(7"4(B $(7"5(B $(7"6(B $(7"7(B $(7"8(B $(7"9(B $(7":(B $(7";(B $(7"<(B $(7"=(B $(7">(B $(7"?(B ; and 50 ;;;2230 $(7"0(B $(7"1(B $(7"2(B $(7"3(B $(7"4(B $(7"5(B $(7"6(B $(7"7(B $(7"8(B $(7"9(B $(7":(B $(7";(B $(7"<(B $(7"=(B $(7">(B $(7"?(B ; and
51 ;;;2240 $(7"@(B $(7"A(B $(7"B(B $(7"C(B $(7"D(B $(7"E(B $(7"F(B $(7"G(B $(7"H(B $(7"I(B $(7"J(B $(7"K(B $(7"L(B $(7"M(B $(7"N(B $(7"O(B ; Vowel signs. 51 ;;;2240 $(7"@(B $(7"A(B $(7"B(B $(7"C(B $(7"D(B $(7"E(B $(7"F(B $(7"G(B $(7"H(B $(7"I(B $(7"J(B $(7"K(B $(7"L(B $(7"M(B $(7"N(B $(7"O(B ; Vowel signs.
52 ;;;2250 $(7"P(B $(7"Q(B $(7"R(B $(7"S(B $(7"T(B $(7"U(B $(7"V(B $(7"W(B $(7"X(B $(7"Y(B $(7"Z(B $(7"[(B $(7"\(B $(7"](B $(7"^(B $(7"_(B ; (\x2251 = vowel a) 52 ;;;2250 $(7"P(B $(7"Q(B $(7"R(B $(7"S(B $(7"T(B $(7"U(B $(7"V(B $(7"W(B $(7"X(B $(7"Y(B $(7"Z(B $(7"[(B $(7"\(B $(7"](B $(7"^(B $(7"_(B ; (\x2251 = vowel a)
53 ;;;2260 $(7"`(B $(7"a(B $(7"b(B $(7"c(B $(7"d(B $(7"e(B $(7"f(B $(7"g(B $(7"h(B $(7"i(B $(7"j(B $(7"k(B $(7"l(B $(7"m(B $(7"n(B $(7"o(B ; Long vowels and 53 ;;;2260 $(7"`(B $(7"a(B $(7"b(B $(7"c(B $(7"d(B $(7"e(B $(7"f(B $(7"g(B $(7"h(B $(7"i(B $(7"j(B $(7"k(B $(7"l(B $(7"m(B $(7"n(B $(7"o(B ; Long vowels and
54 ;;;2270 $(7"p(B $(7"q(B $(7"r(B $(7"s(B $(7"t(B $(7"u(B $(7"v(B $(7"w(B $(7"x(B $(7"y(B $(7"z(B $(7"{(B $(7"|(B $(7"}(B $(7"~(B // ; vocalic r, l are 54 ;;;2270 $(7"p(B $(7"q(B $(7"r(B $(7"s(B $(7"t(B $(7"u(B $(7"v(B $(7"w(B $(7"x(B $(7"y(B $(7"z(B $(7"{(B $(7"|(B $(7"}(B $(7"~(B // ; vocalic r, l ARE
55 ;;; ; not atomically 55 ;;; ; atomically
56 ;;; ; encoded. 56 ;;; ; encoded.
57 ;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 57 ;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
58 ;;;2320 // $(7#!(B $(7#"(B $(7##(B $(7#$(B $(7#%(B $(7#&(B $(7#'(B $(7#((B $(7#)(B $(7#*(B $(7#+(B $(7#,(B $(7#-(B $(7#.(B $(7#/(B ; Subjoined consonants 58 ;;;2320 // $(7#!(B $(7#"(B $(7##(B $(7#$(B $(7#%(B $(7#&(B $(7#'(B $(7#((B $(7#)(B $(7#*(B $(7#+(B $(7#,(B $(7#-(B $(7#.(B $(7#/(B ; Subjoined consonants
59 ;;;2330 $(7#0(B $(7#1(B $(7#2(B $(7#3(B $(7#4(B $(7#5(B $(7#6(B $(7#7(B $(7#8(B $(7#9(B $(7#:(B $(7#;(B $(7#<(B $(7#=(B $(7#>(B $(7#?(B ; 59 ;;;2330 $(7#0(B $(7#1(B $(7#2(B $(7#3(B $(7#4(B $(7#5(B $(7#6(B $(7#7(B $(7#8(B $(7#9(B $(7#:(B $(7#;(B $(7#<(B $(7#=(B $(7#>(B $(7#?(B ;
60 ;;;2340 $(7#@(B $(7#A(B $(7#B(B $(7#C(B $(7#D(B $(7#E(B $(7#F(B $(7#G(B $(7#H(B $(7#I(B $(7#J(B $(7#K(B $(7#L(B $(7#M(B $(7#N(B $(7#O(B ; 'a chung (\x2341)is 60 ;;;2340 $(7#@(B $(7#A(B $(7#B(B $(7#C(B $(7#D(B $(7#E(B $(7#F(B $(7#G(B $(7#H(B $(7#I(B $(7#J(B $(7#K(B $(7#L(B $(7#M(B $(7#N(B $(7#O(B ;
61 ;;; ; here,
62 ;;; ; while in Unicode
63 ;;; ; it is classified
64 ;;; ; as a vowel sign
65 ;;; ; (\x0f71).
66 ;;;
67 ;;;2350 $(7#P(B $(7#Q(B $(7#R(B $(7#S(B $(7#T(B $(7#U(B $(7#V(B $(7#W(B $(7#X(B $(7#Y(B $(7#Z(B $(7#[(B $(7#\(B $(7#](B $(7#^(B $(7#_(B ; Hereafter, the chars 61 ;;;2350 $(7#P(B $(7#Q(B $(7#R(B $(7#S(B $(7#T(B $(7#U(B $(7#V(B $(7#W(B $(7#X(B $(7#Y(B $(7#Z(B $(7#[(B $(7#\(B $(7#](B $(7#^(B $(7#_(B ; Hereafter, the chars
68 ;;;2360 $(7#`(B $(7#a(B $(7#b(B $(7#c(B $(7#d(B $(7#e(B $(7#f(B $(7#g(B $(7#h(B $(7#i(B $(7#j(B $(7#k(B $(7#l(B $(7#m(B $(7#n(B $(7#o(B ; are not specified 62 ;;;2360 $(7#`(B $(7#a(B $(7#b(B $(7#c(B $(7#d(B $(7#e(B $(7#f(B $(7#g(B $(7#h(B $(7#i(B $(7#j(B $(7#k(B $(7#l(B $(7#m(B $(7#n(B $(7#o(B ; are not specified
69 ;;;2370 $(7#p(B $(7#q(B $(7#r(B $(7#s(B $(7#t(B $(7#u(B $(7#v(B $(7#w(B $(7#x(B $(7#y(B $(7#z(B $(7#{(B $(7#|(B $(7#}(B $(7#~(B // ; in Unicode. 63 ;;;2370 $(7#p(B $(7#q(B $(7#r(B $(7#s(B $(7#t(B $(7#u(B $(7#v(B $(7#w(B $(7#x(B $(7#y(B $(7#z(B $(7#{(B $(7#|(B $(7#}(B $(7#~(B // ; in Unicode.
70 ;;; ; The character \x2351 64 ;;;
71 ;;; ; is not used in our
72 ;;; ; implementation.
73 ;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 65 ;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
74 ;;;2420 // $(7$!(B $(7$"(B $(7$#(B $(7$$(B $(7$%(B $(7$&(B $(7$'(B $(7$((B $(7$)(B $(7$*(B $(7$+(B $(7$,(B $(7$-(B $(7$.(B $(7$/(B ; Precomposed 66 ;;;2420 // $(7$!(B $(7$"(B $(7$#(B $(7$$(B $(7$%(B $(7$&(B $(7$'(B $(7$((B $(7$)(B $(7$*(B $(7$+(B $(7$,(B $(7$-(B $(7$.(B $(7$/(B ; Precomposed
75 ;;;2430 $(7$0(B $(7$1(B $(7$2(B $(7$3(B $(7$4(B $(7$5(B $(7$6(B $(7$7(B $(7$8(B $(7$9(B $(7$:(B $(7$;(B $(7$<(B $(7$=(B $(7$>(B $(7$?(B ; consonants for 67 ;;;2430 $(7$0(B $(7$1(B $(7$2(B $(7$3(B $(7$4(B $(7$5(B $(7$6(B $(7$7(B $(7$8(B $(7$9(B $(7$:(B $(7$;(B $(7$<(B $(7$=(B $(7$>(B $(7$?(B ; consonants for
76 ;;;2440 $(7$@(B $(7$A(B $(7$B(B $(7$C(B $(7$D(B $(7$E(B $(7$F(B $(7$G(B $(7$H(B $(7$I(B $(7$J(B $(7$K(B $(7$L(B $(7$M(B $(7$N(B $(7$O(B ; ordinary Tibetan. 68 ;;;2440 $(7$@(B $(7$A(B $(7$B(B $(7$C(B $(7$D(B $(7$E(B $(7$F(B $(7$G(B $(7$H(B $(7$I(B $(7$J(B $(7$K(B $(7$L(B $(7$M(B $(7$N(B $(7$O(B ; ordinary Tibetan.
77 ;;;2450 $(7$P(B $(7$Q(B $(7$R(B $(7$S(B $(7$T(B $(7$U(B $(7$V(B $(7$W(B $(7$X(B $(7$Y(B $(7$Z(B $(7$[(B $(7$\(B $(7$](B $(7$^(B $(7$_(B ; They are decomposed 69 ;;;2450 $(7$P(B $(7$Q(B $(7$R(B $(7$S(B $(7$T(B $(7$U(B $(7$V(B $(7$W(B $(7$X(B $(7$Y(B $(7$Z(B $(7$[(B $(7$\(B $(7$](B $(7$^(B $(7$_(B ; They are decomposed
105 (coding-priority iso-2022-7bit tibetan-iso-8bit) 97 (coding-priority iso-2022-7bit tibetan-iso-8bit)
106 (input-method . "tibetan-wylie") 98 (input-method . "tibetan-wylie")
107 (features tibet-util) 99 (features tibet-util)
108 (documentation . t) 100 (documentation . t)
109 (sample-text . 101 (sample-text .
110 "Tibetan (4$(7"7r'"]0"7"]1"2$(8!;4$(7%Px!"Q0%P"Q1"2$(8!;(B) 4$(7#Rv##Sv##S0#R#S#S1!>"74$Px!"Q0$P"Q1$(8!;4$(7"Er'"S0"E"S1"G$(8!;$(7"74"2r'"[0"2"[1$(8!;4$(7"Dr'"[0"D"[1"#"G!>4"Ir'"]r'"_0"I"]"_1$(8!;4$(7"9x!"Q0"9"Q1$(8!;4$(7"/r'"S0"/"S1$(8!;4$(7"5x!"Q0"5"Q14#2x!#9r'"[0#2#9"[1$(8!;4$(7"Hx!#Ax!"Ur'"c0"H#A"U"c1!>(B"))) 102 "Tibetan (4$(7"7r'"]0"7"]14"20"21!;4%P0"G#!"Q14"20"21!;(B) $(7!4!5!5!>4"70"714$P0"!#C"Q1!;4"Er'"S0"E"S14"G0"G1!;4"70"714"2r'"[0"2"[1!;4"Dr'"[0"D"[14"#0"#14"G0"G1!>4"Ir'"]r'"_0"I"]"_1!;4"90"9"Q1!;4"/r'"S0"/"S1!;4"50"5"Q1#2#9"[!;4"Hx!"Rx!"Ur'"c0"H"A"U"c1!>(B")))
111 103
112 104
113 ;; `$(7"A(B' is included in the pattern for subjoined consonants because we 105 ;; `$(7"A(B' is included in the pattern for subjoined consonants because we
114 ;; treat it specially in tibetan-add-components. 106 ;; treat it specially in tibetan-add-components.
107 ;; modified by Tomabechi 1999/12/10
115 (defconst tibetan-composable-pattern 108 (defconst tibetan-composable-pattern
116 "[$(7"!(B-$(7"J(B][$(7"A#!(B-$(7#J(B]*[$(7"Q(B-$(7"^"a"e(B]?[$(7"_"c"d"g(B-$(7"l!I!e!g(B]?" 109 "[$(7"!(B-$(7"J"K(B][$(7"A#!(B-$(7#J#K#L#M(B]*$(7"R(B?[$(7"Q"S(B-$(7"^"a"e(B]?[$(7"_"c"d"g(B-$(7"l!I!e!g(B]*"
117 "Regexp matching a composable sequence of Tibetan characters.") 110 "Regexp matching a composable sequence of Tibetan characters.")
118 111
119 ;; Register a function to compose Tibetan characters. 112 ;; Register a function to compose Tibetan characters.
120 (aset composition-function-table (make-char 'tibetan) 113 (aset composition-function-table (make-char 'tibetan)
121 (list (cons tibetan-composable-pattern 'tibetan-composition-function))) 114 (list (cons tibetan-composable-pattern 'tibetan-composition-function)))
167 ("r" . "$(7"C(B") 160 ("r" . "$(7"C(B")
168 ("l" . "$(7"D(B") 161 ("l" . "$(7"D(B")
169 ("s" . "$(7"G(B") 162 ("s" . "$(7"G(B")
170 ("h" . "$(7"H(B") 163 ("h" . "$(7"H(B")
171 ("H" . "$(7"H(B") 164 ("H" . "$(7"H(B")
172 ("A" . "$(7"I(B"))) 165 ("A" . "$(7"I(B")
166 ;; Added by Tomabechi 1999/12/10
167 ("R" . "$(7"K(B") ;; fixed form RA
168 ))
173 169
174 170
175 (defconst tibetan-vowel-transcription-alist 171 (defconst tibetan-vowel-transcription-alist
176 '(("ai" . "$(7"\(B") 172 '(("ai" . "$(7"\(B")
177 ("au" . "$(7"^(B") 173 ("au" . "$(7"^(B")
265 ("brk" . "$(7"7%!(B") 261 ("brk" . "$(7"7%!(B")
266 ("brg" . "$(7"7%"(B") 262 ("brg" . "$(7"7%"(B")
267 ("brng" . "$(7"7%#(B") 263 ("brng" . "$(7"7%#(B")
268 ("brj" . "$(7"7%$(B") 264 ("brj" . "$(7"7%$(B")
269 ("brny" . "$(7"7%%(B") 265 ("brny" . "$(7"7%%(B")
270 ("brt" . "$(7"7%&(B") 266 ("brt" . "$(7"7%&(B")
271 ("brd" . "$(7"7%'(B") 267 ("brd" . "$(7"7%'(B")
272 ("brn" . "$(7"7%((B") 268 ("brn" . "$(7"7%((B")
273 ("brts" . "$(7"7%+(B") 269 ("brts" . "$(7"7%+(B")
274 ("brdz" . "$(7"7%,(B") 270 ("brdz" . "$(7"7%,(B")
275 ("brl" . "$(7"7$d(B") 271 ("brl" . "$(7"7$d(B")
309 ("st" . "$(7%T(B") 305 ("st" . "$(7%T(B")
310 ("sd" . "$(7%U(B") 306 ("sd" . "$(7%U(B")
311 ("sn" . "$(7%V(B") 307 ("sn" . "$(7%V(B")
312 ("sp" . "$(7%W(B") 308 ("sp" . "$(7%W(B")
313 ("sb" . "$(7%X(B") 309 ("sb" . "$(7%X(B")
314 ("sm" . "$(7%Y(B"))) 310 ("sm" . "$(7%Y(B"))
311 )
312
315 313
316 (defconst tibetan-subjoined-transcription-alist 314 (defconst tibetan-subjoined-transcription-alist
317 (sort '(("+k" . "$(7#!(B") 315 (sort '(("+k" . "$(7#!(B")
318 ("+kh" . "$(7#"(B") 316 ("+kh" . "$(7#"(B")
319 ("+g" . "$(7##(B") 317 ("+g" . "$(7##(B")
353 ("+SH" . "$(7#F(B") 351 ("+SH" . "$(7#F(B")
354 ("+s" . "$(7#G(B") 352 ("+s" . "$(7#G(B")
355 ("+h" . "$(7#H(B") 353 ("+h" . "$(7#H(B")
356 ("+A" . "$(7#I(B") 354 ("+A" . "$(7#I(B")
357 ("+kSH" . "$(7#J(B") 355 ("+kSH" . "$(7#J(B")
358 ("+R" . "$(7#P(B")) 356 ;; Added by Tomabechi 1999/12/10
357 ("+W" . "$(7#K(B") ;; fixed form subscribed WA
358 ("+Y" . "$(7#L(B") ;; fixed form subscribed YA
359 ("+R" . "$(7#M(B") ;; fixed form subscribed RA
360 )
359 (lambda (x y) (> (length (car x)) (length (car y)))))) 361 (lambda (x y) (> (length (car x)) (length (car y))))))
360 362
361 ;;; 363 ;;;
362 ;;; alist for Tibetan base consonant <-> subjoined consonant conversion. 364 ;;; alist for Tibetan base consonant <-> subjoined consonant conversion.
363 ;;; 365 ;;;
400 ("$(7"E(B" . "$(7#E(B") 402 ("$(7"E(B" . "$(7#E(B")
401 ("$(7"F(B" . "$(7#F(B") 403 ("$(7"F(B" . "$(7#F(B")
402 ("$(7"G(B" . "$(7#G(B") 404 ("$(7"G(B" . "$(7#G(B")
403 ("$(7"H(B" . "$(7#H(B") 405 ("$(7"H(B" . "$(7#H(B")
404 ("$(7"I(B" . "$(7#I(B") 406 ("$(7"I(B" . "$(7#I(B")
405 ("$(7"J(B" . "$(7#J(B"))) 407 ("$(7"J(B" . "$(7#J(B")
406 408 ;; Added by Tomabechi 1999/12/10
409 ("$(7"K(B" . "$(7#M(B") ;; Fixed form RA (224B->234D)
410 ))
407 ;;; 411 ;;;
408 ;;; alist for Tibetan consonantic components <-> precomposed glyph conversion. 412 ;;; alist for Tibetan consonantic components <-> precomposed glyph conversion.
409 ;;; (includes some punctuation conversion rules) 413 ;;; (includes some punctuation conversion rules)
410 ;;; 414 ;;;
411 (defconst tibetan-precomposition-rule-alist 415 (defconst tibetan-precomposition-rule-alist