;;; I hope I can add missing characters later.
;;;
;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
-;;;2120 // \e$(7!!\e(B \e$(7!"\e(B \e$(7!#\e(B \e$(7!$\e(B \e$(7!%\e(B \e$(7!&\e(B \e$(7!'\e(B \e$(7!(\e(B \e$(7!)\e(B \e$(7!*\e(B \e$(7!+\e(B \e$(7!,\e(B \e$(7!-\e(B \e$(7!.\e(B \e$(7!/\e(B ;
+;;;2120 // \e$(7!!\e(B \e$(7!"\e(B \e$(7!#\e(B \e$(7!$\e(B \e$(7!%\e(B \e$(7!&\e(B \e$(7!'\e(B \e$(7!(\e(B \e$(7!)\e(B \e$(7!*\e(B \e$(7!+\e(B \e$(7!,\e(B \e$(7!-\e(B \e$(7!.\e(B \e$(7!/\e(B ; obsolete glyphs (2123-5)
;;;2130 \e$(7!0\e(B \e$(7!1\e(B \e$(7!2\e(B \e$(7!3\e(B \e$(7!4\e(B \e$(7!5\e(B \e$(7!6\e(B \e$(7!7\e(B \e$(7!8\e(B \e$(7!9\e(B \e$(7!:\e(B \e$(7!;\e(B \e$(7!<\e(B \e$(7!=\e(B \e$(7!>\e(B \e$(7!?\e(B ; Punctuations,
;;;2140 \e$(7!@\e(B \e$(7!A\e(B \e$(7!B\e(B \e$(7!C\e(B \e$(7!D\e(B \e$(7!E\e(B \e$(7!F\e(B \e$(7!G\e(B \e$(7!H\e(B \e$(7!I\e(B \e$(7!J\e(B \e$(7!K\e(B \e$(7!L\e(B \e$(7!M\e(B \e$(7!N\e(B \e$(7!O\e(B ; Digits and
;;;2150 \e$(7!P\e(B \e$(7!Q\e(B \e$(7!R\e(B \e$(7!S\e(B \e$(7!T\e(B \e$(7!U\e(B \e$(7!V\e(B \e$(7!W\e(B \e$(7!X\e(B \e$(7!Y\e(B \e$(7!Z\e(B \e$(7![\e(B \e$(7!\\e(B \e$(7!]\e(B \e$(7!^\e(B \e$(7!_\e(B ; Special signs.
;;;2240 \e$(7"@\e(B \e$(7"A\e(B \e$(7"B\e(B \e$(7"C\e(B \e$(7"D\e(B \e$(7"E\e(B \e$(7"F\e(B \e$(7"G\e(B \e$(7"H\e(B \e$(7"I\e(B \e$(7"J\e(B \e$(7"K\e(B \e$(7"L\e(B \e$(7"M\e(B \e$(7"N\e(B \e$(7"O\e(B ; Vowel signs.
;;;2250 \e$(7"P\e(B \e$(7"Q\e(B \e$(7"R\e(B \e$(7"S\e(B \e$(7"T\e(B \e$(7"U\e(B \e$(7"V\e(B \e$(7"W\e(B \e$(7"X\e(B \e$(7"Y\e(B \e$(7"Z\e(B \e$(7"[\e(B \e$(7"\\e(B \e$(7"]\e(B \e$(7"^\e(B \e$(7"_\e(B ; (\x2251 = vowel a)
;;;2260 \e$(7"`\e(B \e$(7"a\e(B \e$(7"b\e(B \e$(7"c\e(B \e$(7"d\e(B \e$(7"e\e(B \e$(7"f\e(B \e$(7"g\e(B \e$(7"h\e(B \e$(7"i\e(B \e$(7"j\e(B \e$(7"k\e(B \e$(7"l\e(B \e$(7"m\e(B \e$(7"n\e(B \e$(7"o\e(B ; Long vowels and
-;;;2270 \e$(7"p\e(B \e$(7"q\e(B \e$(7"r\e(B \e$(7"s\e(B \e$(7"t\e(B \e$(7"u\e(B \e$(7"v\e(B \e$(7"w\e(B \e$(7"x\e(B \e$(7"y\e(B \e$(7"z\e(B \e$(7"{\e(B \e$(7"|\e(B \e$(7"}\e(B \e$(7"~\e(B // ; vocalic r, l are
-;;; ; not atomically
+;;;2270 \e$(7"p\e(B \e$(7"q\e(B \e$(7"r\e(B \e$(7"s\e(B \e$(7"t\e(B \e$(7"u\e(B \e$(7"v\e(B \e$(7"w\e(B \e$(7"x\e(B \e$(7"y\e(B \e$(7"z\e(B \e$(7"{\e(B \e$(7"|\e(B \e$(7"}\e(B \e$(7"~\e(B // ; vocalic r, l ARE
+;;; ; atomically
;;; ; encoded.
;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
;;;2320 // \e$(7#!\e(B \e$(7#"\e(B \e$(7##\e(B \e$(7#$\e(B \e$(7#%\e(B \e$(7#&\e(B \e$(7#'\e(B \e$(7#(\e(B \e$(7#)\e(B \e$(7#*\e(B \e$(7#+\e(B \e$(7#,\e(B \e$(7#-\e(B \e$(7#.\e(B \e$(7#/\e(B ; Subjoined consonants
;;;2330 \e$(7#0\e(B \e$(7#1\e(B \e$(7#2\e(B \e$(7#3\e(B \e$(7#4\e(B \e$(7#5\e(B \e$(7#6\e(B \e$(7#7\e(B \e$(7#8\e(B \e$(7#9\e(B \e$(7#:\e(B \e$(7#;\e(B \e$(7#<\e(B \e$(7#=\e(B \e$(7#>\e(B \e$(7#?\e(B ;
-;;;2340 \e$(7#@\e(B \e$(7#A\e(B \e$(7#B\e(B \e$(7#C\e(B \e$(7#D\e(B \e$(7#E\e(B \e$(7#F\e(B \e$(7#G\e(B \e$(7#H\e(B \e$(7#I\e(B \e$(7#J\e(B \e$(7#K\e(B \e$(7#L\e(B \e$(7#M\e(B \e$(7#N\e(B \e$(7#O\e(B ; 'a chung (\x2341)is
-;;; ; here,
-;;; ; while in Unicode
-;;; ; it is classified
-;;; ; as a vowel sign
-;;; ; (\x0f71).
-;;;
+;;;2340 \e$(7#@\e(B \e$(7#A\e(B \e$(7#B\e(B \e$(7#C\e(B \e$(7#D\e(B \e$(7#E\e(B \e$(7#F\e(B \e$(7#G\e(B \e$(7#H\e(B \e$(7#I\e(B \e$(7#J\e(B \e$(7#K\e(B \e$(7#L\e(B \e$(7#M\e(B \e$(7#N\e(B \e$(7#O\e(B ;
;;;2350 \e$(7#P\e(B \e$(7#Q\e(B \e$(7#R\e(B \e$(7#S\e(B \e$(7#T\e(B \e$(7#U\e(B \e$(7#V\e(B \e$(7#W\e(B \e$(7#X\e(B \e$(7#Y\e(B \e$(7#Z\e(B \e$(7#[\e(B \e$(7#\\e(B \e$(7#]\e(B \e$(7#^\e(B \e$(7#_\e(B ; Hereafter, the chars
;;;2360 \e$(7#`\e(B \e$(7#a\e(B \e$(7#b\e(B \e$(7#c\e(B \e$(7#d\e(B \e$(7#e\e(B \e$(7#f\e(B \e$(7#g\e(B \e$(7#h\e(B \e$(7#i\e(B \e$(7#j\e(B \e$(7#k\e(B \e$(7#l\e(B \e$(7#m\e(B \e$(7#n\e(B \e$(7#o\e(B ; are not specified
;;;2370 \e$(7#p\e(B \e$(7#q\e(B \e$(7#r\e(B \e$(7#s\e(B \e$(7#t\e(B \e$(7#u\e(B \e$(7#v\e(B \e$(7#w\e(B \e$(7#x\e(B \e$(7#y\e(B \e$(7#z\e(B \e$(7#{\e(B \e$(7#|\e(B \e$(7#}\e(B \e$(7#~\e(B // ; in Unicode.
-;;; ; The character \x2351
-;;; ; is not used in our
-;;; ; implementation.
+;;;
;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
;;;2420 // \e$(7$!\e(B \e$(7$"\e(B \e$(7$#\e(B \e$(7$$\e(B \e$(7$%\e(B \e$(7$&\e(B \e$(7$'\e(B \e$(7$(\e(B \e$(7$)\e(B \e$(7$*\e(B \e$(7$+\e(B \e$(7$,\e(B \e$(7$-\e(B \e$(7$.\e(B \e$(7$/\e(B ; Precomposed
;;;2430 \e$(7$0\e(B \e$(7$1\e(B \e$(7$2\e(B \e$(7$3\e(B \e$(7$4\e(B \e$(7$5\e(B \e$(7$6\e(B \e$(7$7\e(B \e$(7$8\e(B \e$(7$9\e(B \e$(7$:\e(B \e$(7$;\e(B \e$(7$<\e(B \e$(7$=\e(B \e$(7$>\e(B \e$(7$?\e(B ; consonants for
(features tibet-util)
(documentation . t)
(sample-text .
-"Tibetan (\e4\e$(7"7r'"]\e0"7"]\e1"2\e$(8!;\e4\e$(7%Px!"Q\e0%P"Q\e1"2\e$(8!;\e(B) \e4\e$(7#Rv##Sv##S\e0#R#S#S\e1!>"7\e4$Px!"Q\e0$P"Q\e1\e$(8!;\e4\e$(7"Er'"S\e0"E"S\e1"G\e$(8!;\e$(7"7\e4"2r'"[\e0"2"[\e1\e$(8!;\e4\e$(7"Dr'"[\e0"D"[\e1"#"G!>\e4"Ir'"]r'"_\e0"I"]"_\e1\e$(8!;\e4\e$(7"9x!"Q\e0"9"Q\e1\e$(8!;\e4\e$(7"/r'"S\e0"/"S\e1\e$(8!;\e4\e$(7"5x!"Q\e0"5"Q\e1\e4#2x!#9r'"[\e0#2#9"[\e1\e$(8!;\e4\e$(7"Hx!#Ax!"Ur'"c\e0"H#A"U"c\e1!>\e(B")))
+"Tibetan (\e4\e$(7"7r'"]\e0"7"]\e1\e4"2\e0"2\e1!;\e4%P\e0"G#!"Q\e1\e4"2\e0"2\e1!;\e(B) \e$(7!4!5!5!>\e4"7\e0"7\e1\e4$P\e0"!#C"Q\e1!;\e4"Er'"S\e0"E"S\e1\e4"G\e0"G\e1!;\e4"7\e0"7\e1\e4"2r'"[\e0"2"[\e1!;\e4"Dr'"[\e0"D"[\e1\e4"#\e0"#\e1\e4"G\e0"G\e1!>\e4"Ir'"]r'"_\e0"I"]"_\e1!;\e4"9\e0"9"Q\e1!;\e4"/r'"S\e0"/"S\e1!;\e4"5\e0"5"Q\e1#2#9"[!;\e4"Hx!"Rx!"Ur'"c\e0"H"A"U"c\e1!>\e(B")))
;; `\e$(7"A\e(B' is included in the pattern for subjoined consonants because we
;; treat it specially in tibetan-add-components.
+;; modified by Tomabechi 1999/12/10
(defconst tibetan-composable-pattern
- "[\e$(7"!\e(B-\e$(7"J\e(B][\e$(7"A#!\e(B-\e$(7#J\e(B]*[\e$(7"Q\e(B-\e$(7"^"a"e\e(B]?[\e$(7"_"c"d"g\e(B-\e$(7"l!I!e!g\e(B]?"
+ "[\e$(7"!\e(B-\e$(7"J"K\e(B][\e$(7"A#!\e(B-\e$(7#J#K#L#M\e(B]*\e$(7"R\e(B?[\e$(7"Q"S\e(B-\e$(7"^"a"e\e(B]?[\e$(7"_"c"d"g\e(B-\e$(7"l!I!e!g\e(B]*"
"Regexp matching a composable sequence of Tibetan characters.")
;; Register a function to compose Tibetan characters.
("s" . "\e$(7"G\e(B")
("h" . "\e$(7"H\e(B")
("H" . "\e$(7"H\e(B")
- ("A" . "\e$(7"I\e(B")))
+ ("A" . "\e$(7"I\e(B")
+ ;; Added by Tomabechi 1999/12/10
+ ("R" . "\e$(7"K\e(B") ;; fixed form RA
+ ))
(defconst tibetan-vowel-transcription-alist
("brng" . "\e$(7"7%#\e(B")
("brj" . "\e$(7"7%$\e(B")
("brny" . "\e$(7"7%%\e(B")
- ("brt" . "\e$(7"7%&\e(B")
+ ("brt" . "\e$(7"7%&\e(B")
("brd" . "\e$(7"7%'\e(B")
("brn" . "\e$(7"7%(\e(B")
("brts" . "\e$(7"7%+\e(B")
("sn" . "\e$(7%V\e(B")
("sp" . "\e$(7%W\e(B")
("sb" . "\e$(7%X\e(B")
- ("sm" . "\e$(7%Y\e(B")))
+ ("sm" . "\e$(7%Y\e(B"))
+ )
+
(defconst tibetan-subjoined-transcription-alist
(sort '(("+k" . "\e$(7#!\e(B")
("+h" . "\e$(7#H\e(B")
("+A" . "\e$(7#I\e(B")
("+kSH" . "\e$(7#J\e(B")
- ("+R" . "\e$(7#P\e(B"))
+ ;; Added by Tomabechi 1999/12/10
+ ("+W" . "\e$(7#K\e(B") ;; fixed form subscribed WA
+ ("+Y" . "\e$(7#L\e(B") ;; fixed form subscribed YA
+ ("+R" . "\e$(7#M\e(B") ;; fixed form subscribed RA
+ )
(lambda (x y) (> (length (car x)) (length (car y))))))
;;;
("\e$(7"G\e(B" . "\e$(7#G\e(B")
("\e$(7"H\e(B" . "\e$(7#H\e(B")
("\e$(7"I\e(B" . "\e$(7#I\e(B")
- ("\e$(7"J\e(B" . "\e$(7#J\e(B")))
-
+ ("\e$(7"J\e(B" . "\e$(7#J\e(B")
+ ;; Added by Tomabechi 1999/12/10
+ ("\e$(7"K\e(B" . "\e$(7#M\e(B") ;; Fixed form RA (224B->234D)
+ ))
;;;
;;; alist for Tibetan consonantic components <-> precomposed glyph conversion.
;;; (includes some punctuation conversion rules)