Commit | Line | Data |
---|---|---|
e8af40ee | 1 | ;;; tibetan.el --- support for Tibetan language -*- coding: iso-2022-7bit; -*- |
80d75b56 | 2 | |
eb2ffb18 | 3 | ;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, |
114f9c96 | 4 | ;; 2009, 2010 Free Software Foundation, Inc. |
38141d20 | 5 | ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, |
114f9c96 | 6 | ;; 2006, 2007, 2008, 2009, 2010 |
eaa61218 KH |
7 | ;; National Institute of Advanced Industrial Science and Technology (AIST) |
8 | ;; Registration Number H14PRO021 | |
8f924df7 KH |
9 | ;; Copyright (C) 2003 |
10 | ;; National Institute of Advanced Industrial Science and Technology (AIST) | |
11 | ;; Registration Number H13PRO009 | |
80d75b56 | 12 | |
eb2ffb18 GM |
13 | ;; Author: Toru TOMABECHI <Toru.Tomabechi@orient.unil.ch> |
14 | ;; Created: Feb. 17. 1997 | |
8f924df7 | 15 | ;; Keywords: multilingual, Tibetan, i18n |
80d75b56 KH |
16 | |
17 | ;; This file is part of GNU Emacs. | |
18 | ||
4936186e | 19 | ;; GNU Emacs is free software: you can redistribute it and/or modify |
80d75b56 | 20 | ;; it under the terms of the GNU General Public License as published by |
4936186e GM |
21 | ;; the Free Software Foundation, either version 3 of the License, or |
22 | ;; (at your option) any later version. | |
80d75b56 KH |
23 | |
24 | ;; GNU Emacs is distributed in the hope that it will be useful, | |
25 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
26 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
27 | ;; GNU General Public License for more details. | |
28 | ||
29 | ;; You should have received a copy of the GNU General Public License | |
4936186e | 30 | ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
80d75b56 | 31 | |
eb2ffb18 | 32 | ;;; History: |
80d75b56 | 33 | |
a1506d29 | 34 | ;; 1997.03.13 Modification for special signs and punctuations. |
80d75b56 | 35 | |
e8af40ee PJ |
36 | ;;; Commentary: |
37 | ||
80d75b56 KH |
38 | ;;; Code: |
39 | ||
80d75b56 KH |
40 | ;;; Tibetan Character set. |
41 | ;;; \x2130 -- \x234a is a subset of Unicode v.2 \x0f00 - \x0fb9 | |
42 | ;;; with a slight modification. And there are some subjoined | |
43 | ;;; consonants which are not specified in Unicode. | |
44 | ;;; I hope I can add missing characters later. | |
45 | ;;; | |
46 | ;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | |
ab3f4890 | 47 | ;;;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) |
80d75b56 KH |
48 | ;;;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, |
49 | ;;;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 | |
50 | ;;;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. | |
51 | ;;;2160 \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 ; | |
52 | ;;;2170 \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 // ; | |
53 | ;;; | |
54 | ;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | |
55 | ;;;2220 // \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 ; Base consonants | |
56 | ;;;2230 \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 ; and | |
57 | ;;;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. | |
58 | ;;;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) | |
59 | ;;;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 | |
ab3f4890 KH |
60 | ;;;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 |
61 | ;;; ; atomically | |
a1506d29 | 62 | ;;; ; encoded. |
80d75b56 KH |
63 | ;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |
64 | ;;;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 | |
65 | ;;;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 ; | |
ab3f4890 | 66 | ;;;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 ; |
80d75b56 KH |
67 | ;;;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 |
68 | ;;;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 | |
69 | ;;;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. | |
ab3f4890 | 70 | ;;; |
80d75b56 KH |
71 | ;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |
72 | ;;;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 | |
73 | ;;;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 | |
74 | ;;;2440 \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 ; ordinary Tibetan. | |
75 | ;;;2450 \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 ; They are decomposed | |
a1506d29 | 76 | ;;;2460 \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 ; into base and |
80d75b56 KH |
77 | ;;;2470 \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 // ; subjoined consonants |
78 | ;;; ; when written on a | |
79 | ;;; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ; file in Tibetan | |
80 | ;;;2520 // \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 ; coding system. | |
81 | ;;;2530 \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 ; | |
82 | ;;;2540 \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 ; | |
83 | ;;;2550 \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 ; | |
84 | ;;;2560 \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 ; | |
85 | ;;;2570 \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 // ; | |
86 | ;;; | |
87 | ||
88 | ||
e1915ab3 KH |
89 | (define-coding-system 'tibetan-iso-8bit |
90 | "8-bit encoding for ASCII (MSB=0) and TIBETAN (MSB=1)." | |
91 | :coding-type 'iso-2022 | |
92 | :mnemonic ?Q | |
93 | :designation [ascii tibetan nil nil] | |
94 | :charset-list '(ascii tibetan)) | |
80d75b56 | 95 | |
a79a3c79 | 96 | (define-coding-system-alias 'tibetan 'tibetan-iso-8bit) |
80d75b56 | 97 | |
80d75b56 | 98 | (set-language-info-alist |
a564ccf9 | 99 | "Tibetan" '((charset tibetan tibetan-1-column) |
a79a3c79 KH |
100 | (coding-system tibetan-iso-8bit) |
101 | (coding-priority iso-2022-7bit tibetan-iso-8bit) | |
a564ccf9 KH |
102 | (input-method . "tibetan-wylie") |
103 | (features tibet-util) | |
80d75b56 | 104 | (documentation . t) |
c9af0b68 | 105 | (sample-text . "Tibetan (\e$(7"7"]"2!;"G#!"Q"2!;\e(B) \e$(7!4!5!5!>"7"!#C"Q!;"E"S"G!;"7"2"[!;"D"["#"G!>"I"]"_!;"9"Q!;"/"S!;"5"Q"2#9"[!;"H"A"U"c!>\e(B"))) |
80d75b56 | 106 | |
d169c89e KH |
107 | ;; `\e$(7"A\e(B' is included in the pattern for subjoined consonants because we |
108 | ;; treat it specially in tibetan-add-components. | |
ab3f4890 | 109 | ;; modified by Tomabechi 1999/12/10 |
3e799ba1 KH |
110 | ;; modified by Tomabechi 2000/06/08 |
111 | ;; To allow infinite addition of vowels/modifiers | |
112 | ;; as specified in Unicode v.3 | |
113 | ;; \e$(7"A\e(B is removed from the class of subjoined. Tomabechi 2000/06/08 | |
114 | ;; (for Unicode support) | |
d169c89e | 115 | (defconst tibetan-composable-pattern |
8f924df7 | 116 | "[\e$(7"!\e(B-\e$(7"J"K\e(B][\e$(7#!\e(B-\e$(7#J#K#L#M\e(B]*[\e$,1FP\e$(7"Q"R"S\e(B-\e$(7"^"a"b"e\e(B]*[\e$(7"_"c"d"g\e(B-\e$(7"l!I!e!g\e(B]*" |
d169c89e KH |
117 | "Regexp matching a composable sequence of Tibetan characters.") |
118 | ||
80d75b56 KH |
119 | ;;; |
120 | ;;; Definitions of conversion data. | |
121 | ;;; | |
122 | ||
123 | ||
124 | ;;; alists for tibetan char <-> transcription conversion | |
125 | ;;; longer transcription should come first | |
126 | (defconst tibetan-consonant-transcription-alist | |
127 | '(("tsh" . "\e$(7";\e(B") | |
128 | ("dzh" . "\e$(7"=\e(B") | |
129 | ("kSH" . "\e$(7"J\e(B") | |
130 | ("kh" . "\e$(7""\e(B") | |
131 | ("gh" . "\e$(7"$\e(B") | |
132 | ("ng" . "\e$(7"%\e(B") | |
133 | ("ch" . "\e$(7"'\e(B") | |
134 | ("ny" . "\e$(7"*\e(B") | |
135 | ("TH" . "\e$(7",\e(B") | |
136 | ("DH" . "\e$(7".\e(B") | |
137 | ("th" . "\e$(7"1\e(B") | |
138 | ("dh" . "\e$(7"3\e(B") | |
139 | ("ph" . "\e$(7"6\e(B") | |
140 | ("bh" . "\e$(7"8\e(B") | |
141 | ("ts" . "\e$(7":\e(B") | |
142 | ("dz" . "\e$(7"<\e(B") | |
143 | ("zh" . "\e$(7"?\e(B") | |
144 | ("sh" . "\e$(7"E\e(B") | |
145 | ("SH" . "\e$(7"F\e(B") | |
146 | ("k" . "\e$(7"!\e(B") | |
147 | ("g" . "\e$(7"#\e(B") | |
148 | ("c" . "\e$(7"&\e(B") | |
149 | ("j" . "\e$(7"(\e(B") | |
150 | ("T" . "\e$(7"+\e(B") | |
151 | ("D" . "\e$(7"-\e(B") | |
152 | ("N" . "\e$(7"/\e(B") | |
153 | ("t" . "\e$(7"0\e(B") | |
154 | ("d" . "\e$(7"2\e(B") | |
155 | ("n" . "\e$(7"4\e(B") | |
156 | ("p" . "\e$(7"5\e(B") | |
157 | ("b" . "\e$(7"7\e(B") | |
158 | ("m" . "\e$(7"9\e(B") | |
159 | ("w" . "\e$(7">\e(B") | |
160 | ("z" . "\e$(7"@\e(B") | |
161 | ("'" . "\e$(7"A\e(B") | |
162 | ("y" . "\e$(7"B\e(B") | |
163 | ("r" . "\e$(7"C\e(B") | |
164 | ("l" . "\e$(7"D\e(B") | |
165 | ("s" . "\e$(7"G\e(B") | |
166 | ("h" . "\e$(7"H\e(B") | |
167 | ("H" . "\e$(7"H\e(B") | |
ab3f4890 KH |
168 | ("A" . "\e$(7"I\e(B") |
169 | ;; Added by Tomabechi 1999/12/10 | |
170 | ("R" . "\e$(7"K\e(B") ;; fixed form RA | |
171 | )) | |
80d75b56 KH |
172 | |
173 | ||
174 | (defconst tibetan-vowel-transcription-alist | |
3e799ba1 KH |
175 | '( |
176 | ;; Composite Vowels | |
177 | ;; Added by Tomabechi 2000/06/08 | |
178 | ("frr" . "\e$(7"X\e(B") | |
179 | ("fll" . "\e$(7"Z\e(B") | |
180 | ("fa" . "\e$(7"R\e(B") | |
181 | ("fi" . "\e$(7"T\e(B") | |
182 | ("fu" . "\e$(7"V\e(B") | |
183 | ("fr" . "\e$(7"W\e(B") | |
184 | ("fl" . "\e$(7"Y\e(B") | |
185 | ("fI" . "\e$(7"b\e(B") | |
186 | ;; Normal Vowels | |
187 | ("ai" . "\e$(7"\\e(B") | |
80d75b56 KH |
188 | ("au" . "\e$(7"^\e(B") |
189 | ("ee" . "\e$(7"\\e(B") | |
190 | ("oo" . "\e$(7"^\e(B") | |
191 | ("a" . "\e$(7"Q\e(B") ; invisible vowel sign (\x2251) | |
192 | ("i" . "\e$(7"S\e(B") | |
193 | ("u" . "\e$(7"U\e(B") | |
194 | ("e" . "\e$(7"[\e(B") | |
195 | ("o" . "\e$(7"]\e(B") | |
196 | ("E" . "\e$(7"\\e(B") | |
197 | ("O" . "\e$(7"^\e(B") | |
198 | ("I" . "\e$(7"a\e(B") | |
80d75b56 | 199 | ("," . "\e$(7"e\e(B") ; idem. |
80d75b56 KH |
200 | )) |
201 | ||
d169c89e KH |
202 | (defconst tibetan-modifier-transcription-alist |
203 | '(("M" . "\e$(7"_\e(B") | |
204 | ("~" . "\e$(7"c\e(B") | |
205 | ("`" . "\e$(7"d\e(B") | |
206 | ("x" . "\e$(7"i\e(B") | |
207 | ("X" . "\e$(7"j\e(B") | |
208 | ("v" . "\e$(7"g\e(B") | |
209 | ("V" . "\e$(7"h\e(B") | |
210 | ("q" . "\e$(7"k\e(B") | |
211 | ("Q" . "\e$(7"l\e(B") | |
212 | ("_/" . "\e$(7!I\e(B") | |
213 | ("_o" . "\e$(7!g\e(B") | |
214 | ("_O" . "\e$(7!e\e(B"))) | |
215 | ||
80d75b56 KH |
216 | (defconst tibetan-precomposed-transcription-alist |
217 | '(("phyw" . "\e$(7$G\e(B") | |
218 | ("tshw" . "\e$(7$)\e(B") | |
219 | ("rtsw" . "\e$(7%.\e(B") | |
220 | ("khw" . "\e$(7$"\e(B") | |
221 | ("nyw" . "\e$(7$%\e(B") | |
222 | ("tsw" . "\e$(7$(\e(B") | |
223 | ("zhw" . "\e$(7$*\e(B") | |
224 | ("shw" . "\e$(7$.\e(B") | |
225 | ("khy" . "\e$(7$A\e(B") | |
226 | ("phy" . "\e$(7$D\e(B") | |
227 | ("khr" . "\e$(7$Q\e(B") | |
228 | ("thr" . "\e$(7$T\e(B") | |
229 | ("phr" . "\e$(7$W\e(B") | |
230 | ("shr" . "\e$(7$Z\e(B") | |
231 | ("dzr" . "\e$(7$^\e(B") | |
232 | ("grw" . "\e$(7$_\e(B") | |
233 | ("rng" . "\e$(7%#\e(B") | |
234 | ("rny" . "\e$(7%%\e(B") | |
235 | ("rts" . "\e$(7%+\e(B") | |
236 | ("rdz" . "\e$(7%,\e(B") | |
237 | ("rgw" . "\e$(7%-\e(B") | |
238 | ("rky" . "\e$(7%0\e(B") | |
239 | ("rgy" . "\e$(7%1\e(B") | |
240 | ("rmy" . "\e$(7%2\e(B") | |
241 | ("lng" . "\e$(7%B\e(B") | |
242 | ("sng" . "\e$(7%R\e(B") | |
243 | ("sny" . "\e$(7%S\e(B") | |
244 | ("sts" . "\e$(7%Z\e(B") | |
245 | ("sky" . "\e$(7%`\e(B") | |
246 | ("sgy" . "\e$(7%a\e(B") | |
247 | ("spy" . "\e$(7%b\e(B") | |
248 | ("sby" . "\e$(7%c\e(B") | |
249 | ("smy" . "\e$(7%d\e(B") | |
250 | ("skr" . "\e$(7%p\e(B") | |
251 | ("sgr" . "\e$(7%q\e(B") | |
252 | ("snr" . "\e$(7%r\e(B") | |
253 | ("spr" . "\e$(7%s\e(B") | |
254 | ("sbr" . "\e$(7%t\e(B") | |
255 | ("smr" . "\e$(7%u\e(B") | |
256 | ("kw" . "\e$(7$!\e(B") | |
257 | ("gw" . "\e$(7$#\e(B") | |
258 | ("cw" . "\e$(7$$\e(B") | |
259 | ("tw" . "\e$(7$&\e(B") | |
260 | ("dw" . "\e$(7$'\e(B") | |
261 | ("zw" . "\e$(7$+\e(B") | |
262 | ("rw" . "\e$(7$,\e(B") | |
263 | ("lw" . "\e$(7$-\e(B") | |
264 | ("sw" . "\e$(7$/\e(B") | |
265 | ("hw" . "\e$(7$0\e(B") | |
266 | ("ky" . "\e$(7$@\e(B") | |
267 | ("gy" . "\e$(7$B\e(B") | |
268 | ("py" . "\e$(7$C\e(B") | |
269 | ("by" . "\e$(7$E\e(B") | |
270 | ("my" . "\e$(7$F\e(B") | |
271 | ("kr" . "\e$(7$P\e(B") | |
272 | ("gr" . "\e$(7$R\e(B") | |
273 | ("tr" . "\e$(7$S\e(B") | |
274 | ("dr" . "\e$(7$U\e(B") | |
275 | ("pr" . "\e$(7$V\e(B") | |
276 | ("brk" . "\e$(7"7%!\e(B") | |
277 | ("brg" . "\e$(7"7%"\e(B") | |
278 | ("brng" . "\e$(7"7%#\e(B") | |
279 | ("brj" . "\e$(7"7%$\e(B") | |
280 | ("brny" . "\e$(7"7%%\e(B") | |
ab3f4890 | 281 | ("brt" . "\e$(7"7%&\e(B") |
80d75b56 KH |
282 | ("brd" . "\e$(7"7%'\e(B") |
283 | ("brn" . "\e$(7"7%(\e(B") | |
284 | ("brts" . "\e$(7"7%+\e(B") | |
285 | ("brdz" . "\e$(7"7%,\e(B") | |
286 | ("brl" . "\e$(7"7$d\e(B") | |
287 | ("br" . "\e$(7$X\e(B") | |
288 | ("mr" . "\e$(7$Y\e(B") | |
289 | ("sr" . "\e$(7$[\e(B") | |
290 | ("hr" . "\e$(7$\\e(B") | |
291 | ("jr" . "\e$(7$]\e(B") | |
292 | ("kl" . "\e$(7$`\e(B") | |
293 | ("gl" . "\e$(7$a\e(B") | |
294 | ("blt" . "\e$(7"7%E\e(B") | |
295 | ("bld" . "\e$(7"7%F\e(B") | |
296 | ("bl" . "\e$(7$b\e(B") | |
297 | ("zl" . "\e$(7$c\e(B") | |
298 | ("rl" . "\e$(7$d\e(B") | |
299 | ("sl" . "\e$(7$e\e(B") | |
300 | ("rk" . "\e$(7%!\e(B") | |
301 | ("rg" . "\e$(7%"\e(B") | |
302 | ("rj" . "\e$(7%$\e(B") | |
303 | ("rt" . "\e$(7%&\e(B") | |
304 | ("rd" . "\e$(7%'\e(B") | |
305 | ("rn" . "\e$(7%(\e(B") | |
306 | ("rb" . "\e$(7%)\e(B") | |
307 | ("rm" . "\e$(7%*\e(B") | |
308 | ("lk" . "\e$(7%@\e(B") | |
309 | ("lg" . "\e$(7%A\e(B") | |
310 | ("lc" . "\e$(7%C\e(B") | |
311 | ("lj" . "\e$(7%D\e(B") | |
312 | ("lt" . "\e$(7%E\e(B") | |
313 | ("ld" . "\e$(7%F\e(B") | |
314 | ("ln" . "\e$(7!!\e(B") ; dummy \x2121 | |
315 | ("lp" . "\e$(7%G\e(B") | |
316 | ("lb" . "\e$(7%H\e(B") | |
317 | ("lh" . "\e$(7%I\e(B") | |
318 | ("sk" . "\e$(7%P\e(B") | |
319 | ("sg" . "\e$(7%Q\e(B") | |
320 | ("st" . "\e$(7%T\e(B") | |
321 | ("sd" . "\e$(7%U\e(B") | |
322 | ("sn" . "\e$(7%V\e(B") | |
323 | ("sp" . "\e$(7%W\e(B") | |
324 | ("sb" . "\e$(7%X\e(B") | |
ab3f4890 KH |
325 | ("sm" . "\e$(7%Y\e(B")) |
326 | ) | |
327 | ||
80d75b56 KH |
328 | |
329 | (defconst tibetan-subjoined-transcription-alist | |
d169c89e KH |
330 | (sort '(("+k" . "\e$(7#!\e(B") |
331 | ("+kh" . "\e$(7#"\e(B") | |
332 | ("+g" . "\e$(7##\e(B") | |
333 | ("+gh" . "\e$(7#$\e(B") | |
334 | ("+ng" . "\e$(7#%\e(B") | |
335 | ("+c" . "\e$(7#&\e(B") | |
336 | ("+ch" . "\e$(7#'\e(B") | |
337 | ("+j" . "\e$(7#(\e(B") | |
338 | ("+ny" . "\e$(7#*\e(B") | |
339 | ("+T" . "\e$(7#+\e(B") | |
340 | ("+TH" . "\e$(7#,\e(B") | |
341 | ("+D" . "\e$(7#-\e(B") | |
342 | ("+DH" . "\e$(7#.\e(B") | |
343 | ("+N" . "\e$(7#/\e(B") | |
344 | ("+t" . "\e$(7#0\e(B") | |
345 | ("+th" . "\e$(7#1\e(B") | |
346 | ("+d" . "\e$(7#2\e(B") | |
347 | ("+dh" . "\e$(7#3\e(B") | |
348 | ("+n" . "\e$(7#4\e(B") | |
349 | ("+p" . "\e$(7#5\e(B") | |
350 | ("+ph" . "\e$(7#6\e(B") | |
351 | ("+b" . "\e$(7#7\e(B") | |
352 | ("+bh" . "\e$(7#8\e(B") | |
353 | ("+m" . "\e$(7#9\e(B") | |
354 | ("+ts" . "\e$(7#:\e(B") | |
355 | ("+tsh" . "\e$(7#;\e(B") | |
356 | ("+dz" . "\e$(7#<\e(B") | |
357 | ("+dzh" . "\e$(7#=\e(B") | |
358 | ("+w" . "\e$(7#>\e(B") | |
359 | ("+zh" . "\e$(7#?\e(B") | |
360 | ("+z" . "\e$(7#@\e(B") | |
361 | ("+'" . "\e$(7#A\e(B") | |
362 | ("+y" . "\e$(7#B\e(B") | |
363 | ("+r" . "\e$(7#C\e(B") | |
364 | ("+l" . "\e$(7#D\e(B") | |
365 | ("+sh" . "\e$(7#E\e(B") | |
366 | ("+SH" . "\e$(7#F\e(B") | |
367 | ("+s" . "\e$(7#G\e(B") | |
368 | ("+h" . "\e$(7#H\e(B") | |
369 | ("+A" . "\e$(7#I\e(B") | |
370 | ("+kSH" . "\e$(7#J\e(B") | |
ab3f4890 KH |
371 | ;; Added by Tomabechi 1999/12/10 |
372 | ("+W" . "\e$(7#K\e(B") ;; fixed form subscribed WA | |
373 | ("+Y" . "\e$(7#L\e(B") ;; fixed form subscribed YA | |
374 | ("+R" . "\e$(7#M\e(B") ;; fixed form subscribed RA | |
375 | ) | |
d169c89e | 376 | (lambda (x y) (> (length (car x)) (length (car y)))))) |
80d75b56 KH |
377 | |
378 | ;;; | |
379 | ;;; alist for Tibetan base consonant <-> subjoined consonant conversion. | |
380 | ;;; | |
381 | (defconst tibetan-base-to-subjoined-alist | |
382 | '(("\e$(7"!\e(B" . "\e$(7#!\e(B") | |
383 | ("\e$(7""\e(B" . "\e$(7#"\e(B") | |
384 | ("\e$(7"#\e(B" . "\e$(7##\e(B") | |
385 | ("\e$(7"$\e(B" . "\e$(7#$\e(B") | |
386 | ("\e$(7"%\e(B" . "\e$(7#%\e(B") | |
387 | ("\e$(7"&\e(B" . "\e$(7#&\e(B") | |
388 | ("\e$(7"'\e(B" . "\e$(7#'\e(B") | |
389 | ("\e$(7"(\e(B" . "\e$(7#(\e(B") | |
390 | ("\e$(7"*\e(B" . "\e$(7#*\e(B") | |
391 | ("\e$(7"+\e(B" . "\e$(7#+\e(B") | |
392 | ("\e$(7",\e(B" . "\e$(7#,\e(B") | |
393 | ("\e$(7"-\e(B" . "\e$(7#-\e(B") | |
394 | ("\e$(7".\e(B" . "\e$(7#.\e(B") | |
395 | ("\e$(7"/\e(B" . "\e$(7#/\e(B") | |
396 | ("\e$(7"0\e(B" . "\e$(7#0\e(B") | |
397 | ("\e$(7"1\e(B" . "\e$(7#1\e(B") | |
398 | ("\e$(7"2\e(B" . "\e$(7#2\e(B") | |
399 | ("\e$(7"3\e(B" . "\e$(7#3\e(B") | |
400 | ("\e$(7"4\e(B" . "\e$(7#4\e(B") | |
401 | ("\e$(7"5\e(B" . "\e$(7#5\e(B") | |
402 | ("\e$(7"6\e(B" . "\e$(7#6\e(B") | |
403 | ("\e$(7"7\e(B" . "\e$(7#7\e(B") | |
404 | ("\e$(7"8\e(B" . "\e$(7#8\e(B") | |
405 | ("\e$(7"9\e(B" . "\e$(7#9\e(B") | |
406 | ("\e$(7":\e(B" . "\e$(7#:\e(B") | |
407 | ("\e$(7";\e(B" . "\e$(7#;\e(B") | |
408 | ("\e$(7"<\e(B" . "\e$(7#<\e(B") | |
409 | ("\e$(7"=\e(B" . "\e$(7#=\e(B") | |
410 | ("\e$(7">\e(B" . "\e$(7#>\e(B") | |
411 | ("\e$(7"?\e(B" . "\e$(7#?\e(B") | |
412 | ("\e$(7"@\e(B" . "\e$(7#@\e(B") | |
413 | ("\e$(7"A\e(B" . "\e$(7#A\e(B") | |
414 | ("\e$(7"B\e(B" . "\e$(7#B\e(B") | |
415 | ("\e$(7"C\e(B" . "\e$(7#C\e(B") | |
416 | ("\e$(7"D\e(B" . "\e$(7#D\e(B") | |
417 | ("\e$(7"E\e(B" . "\e$(7#E\e(B") | |
418 | ("\e$(7"F\e(B" . "\e$(7#F\e(B") | |
419 | ("\e$(7"G\e(B" . "\e$(7#G\e(B") | |
420 | ("\e$(7"H\e(B" . "\e$(7#H\e(B") | |
421 | ("\e$(7"I\e(B" . "\e$(7#I\e(B") | |
ab3f4890 KH |
422 | ("\e$(7"J\e(B" . "\e$(7#J\e(B") |
423 | ;; Added by Tomabechi 1999/12/10 | |
424 | ("\e$(7"K\e(B" . "\e$(7#M\e(B") ;; Fixed form RA (224B->234D) | |
425 | )) | |
3e799ba1 KH |
426 | |
427 | ;;; alist for Tibetan composite vowels (long i, vocalic r, etc.) | |
428 | ;;; New varialble. created by Tomabechi 2000/06/08 | |
429 | (defconst tibetan-composite-vowel-alist | |
430 | '(;; LONG A | |
431 | ;; ("\e$(7"R\e(B" . ((bc . tc) ?\e$(7"R\e(B)) | |
432 | ;; LONG I | |
433 | ("\e$(7"T\e(B" . (?\e$(7"R\e(B (tc . bc) ?\e$(7"S\e(B)) | |
434 | ;; LONG U | |
435 | ("\e$(7"V\e(B" . (?\e$(7"R\e(B (bc . tc) ?\e$(7"U\e(B)) | |
436 | ;; VOCALIC R | |
437 | ("\e$(7"W\e(B" . (?\e$(7#C\e(B (tc . bc) ?\e$(7"a\e(B)) | |
438 | ;; LONG VOCALIC R | |
439 | ("\e$(7"X\e(B" . (?\e$(7#C\e(B (bc . tc) ?\e$(7"R\e(B (tc . bc) ?\e$(7"a\e(B)) | |
440 | ;; VOCALIC L | |
441 | ("\e$(7"Y\e(B" . (?\e$(7#D\e(B (tc . bc) ?\e$(7"a\e(B)) | |
442 | ;;\e$(7!;\e(BLONG VOCALIC L | |
443 | ("\e$(7"Z\e(B" . (?\e$(7#D\e(B (bc . tc) ?\e$(7"R\e(B (tc . bc) ?\e$(7"a\e(B)) | |
444 | ;; LONG REVERSE I | |
445 | ("\e$(7"b\e(B" . (?\e$(7"R\e(B (tc . bc) ?\e$(7"a\e(B)) | |
446 | )) | |
447 | ||
448 | ||
449 | ||
80d75b56 KH |
450 | ;;; |
451 | ;;; alist for Tibetan consonantic components <-> precomposed glyph conversion. | |
452 | ;;; (includes some punctuation conversion rules) | |
453 | ;;; | |
454 | (defconst tibetan-precomposition-rule-alist | |
d169c89e | 455 | `(("\e$(7"6#B#>\e(B" . "\e$(7$G\e(B") |
80d75b56 KH |
456 | ("\e$(7"##C#>\e(B" . "\e$(7$_\e(B") |
457 | ("\e$(7";#>\e(B" . "\e$(7$)\e(B") | |
458 | ("\e$(7"C#:#>\e(B" . "\e$(7%.\e(B") | |
459 | ("\e$(7"C###>\e(B" . "\e$(7%-\e(B") | |
460 | ("\e$(7"C#!#B\e(B" . "\e$(7%0\e(B") | |
461 | ("\e$(7"C###B\e(B" . "\e$(7%1\e(B") | |
462 | ("\e$(7"C#9#B\e(B" . "\e$(7%2\e(B") | |
463 | ("\e$(7"G#!#B\e(B" . "\e$(7%`\e(B") | |
464 | ("\e$(7"G###B\e(B" . "\e$(7%a\e(B") | |
465 | ("\e$(7"G#5#B\e(B" . "\e$(7%b\e(B") | |
466 | ("\e$(7"G#7#B\e(B" . "\e$(7%c\e(B") | |
467 | ("\e$(7"G#9#B\e(B" . "\e$(7%d\e(B") | |
468 | ("\e$(7"G#!#C\e(B" . "\e$(7%p\e(B") | |
469 | ("\e$(7"G###C\e(B" . "\e$(7%q\e(B") | |
470 | ("\e$(7"G#4#C\e(B" . "\e$(7%r\e(B") | |
471 | ("\e$(7"G#5#C\e(B" . "\e$(7%s\e(B") | |
472 | ("\e$(7"G#7#C\e(B" . "\e$(7%t\e(B") | |
473 | ("\e$(7"G#9#C\e(B" . "\e$(7%u\e(B") | |
474 | ("\e$(7""#>\e(B" . "\e$(7$"\e(B") | |
475 | ("\e$(7"*#>\e(B" . "\e$(7$%\e(B") | |
476 | ("\e$(7":#>\e(B" . "\e$(7$(\e(B") | |
477 | ("\e$(7"?#>\e(B" . "\e$(7$*\e(B") | |
478 | ("\e$(7"E#>\e(B" . "\e$(7$.\e(B") | |
479 | ("\e$(7""#B\e(B" . "\e$(7$A\e(B") | |
480 | ("\e$(7"6#B\e(B" . "\e$(7$D\e(B") | |
481 | ("\e$(7""#C\e(B" . "\e$(7$Q\e(B") | |
482 | ("\e$(7"1#C\e(B" . "\e$(7$T\e(B") | |
483 | ("\e$(7"6#C\e(B" . "\e$(7$W\e(B") | |
484 | ("\e$(7"E#C\e(B" . "\e$(7$Z\e(B") | |
485 | ("\e$(7"<#C\e(B" . "\e$(7$^\e(B") | |
486 | ("\e$(7"C#%\e(B" . "\e$(7%#\e(B") | |
487 | ("\e$(7"C#*\e(B" . "\e$(7%%\e(B") | |
488 | ("\e$(7"C#:\e(B" . "\e$(7%+\e(B") | |
489 | ("\e$(7"C#<\e(B" . "\e$(7%,\e(B") | |
490 | ("\e$(7"D#%\e(B" . "\e$(7%B\e(B") | |
491 | ("\e$(7"G#%\e(B" . "\e$(7%R\e(B") | |
492 | ("\e$(7"G#*\e(B" . "\e$(7%S\e(B") | |
493 | ("\e$(7"G#:\e(B" . "\e$(7%Z\e(B") | |
494 | ("\e$(7"!#>\e(B" . "\e$(7$!\e(B") | |
495 | ("\e$(7"##>\e(B" . "\e$(7$#\e(B") | |
496 | ("\e$(7"&#>\e(B" . "\e$(7$$\e(B") | |
497 | ("\e$(7"0#>\e(B" . "\e$(7$&\e(B") | |
498 | ("\e$(7"2#>\e(B" . "\e$(7$'\e(B") | |
499 | ("\e$(7"@#>\e(B" . "\e$(7$+\e(B") | |
500 | ("\e$(7"C#>\e(B" . "\e$(7$,\e(B") | |
501 | ("\e$(7"D#>\e(B" . "\e$(7$-\e(B") | |
502 | ("\e$(7"G#>\e(B" . "\e$(7$/\e(B") | |
503 | ("\e$(7"H#>\e(B" . "\e$(7$0\e(B") | |
504 | ("\e$(7"!#B\e(B" . "\e$(7$@\e(B") | |
505 | ("\e$(7"##B\e(B" . "\e$(7$B\e(B") | |
506 | ("\e$(7"5#B\e(B" . "\e$(7$C\e(B") | |
507 | ("\e$(7"7#B\e(B" . "\e$(7$E\e(B") | |
508 | ("\e$(7"9#B\e(B" . "\e$(7$F\e(B") | |
509 | ("\e$(7"!#C\e(B" . "\e$(7$P\e(B") | |
510 | ("\e$(7"##C\e(B" . "\e$(7$R\e(B") | |
511 | ("\e$(7"0#C\e(B" . "\e$(7$S\e(B") | |
512 | ("\e$(7"2#C\e(B" . "\e$(7$U\e(B") | |
513 | ("\e$(7"5#C\e(B" . "\e$(7$V\e(B") | |
514 | ("\e$(7"7#C\e(B" . "\e$(7$X\e(B") | |
515 | ("\e$(7"9#C\e(B" . "\e$(7$Y\e(B") | |
516 | ("\e$(7"G#C\e(B" . "\e$(7$[\e(B") | |
517 | ("\e$(7"H#C\e(B" . "\e$(7$\\e(B") | |
518 | ("\e$(7"(#C\e(B" . "\e$(7$]\e(B") | |
519 | ("\e$(7"!#D\e(B" . "\e$(7$`\e(B") | |
520 | ("\e$(7"##D\e(B" . "\e$(7$a\e(B") | |
521 | ("\e$(7"7#D\e(B" . "\e$(7$b\e(B") | |
522 | ("\e$(7"@#D\e(B" . "\e$(7$c\e(B") | |
523 | ("\e$(7"C#D\e(B" . "\e$(7$d\e(B") | |
524 | ("\e$(7"G#D\e(B" . "\e$(7$e\e(B") | |
525 | ("\e$(7"C#!\e(B" . "\e$(7%!\e(B") | |
526 | ("\e$(7"C##\e(B" . "\e$(7%"\e(B") | |
527 | ("\e$(7"C#(\e(B" . "\e$(7%$\e(B") | |
528 | ("\e$(7"C#0\e(B" . "\e$(7%&\e(B") | |
529 | ("\e$(7"C#2\e(B" . "\e$(7%'\e(B") | |
530 | ("\e$(7"C#4\e(B" . "\e$(7%(\e(B") | |
531 | ("\e$(7"C#7\e(B" . "\e$(7%)\e(B") | |
532 | ("\e$(7"C#9\e(B" . "\e$(7%*\e(B") | |
533 | ("\e$(7"D#!\e(B" . "\e$(7%@\e(B") | |
534 | ("\e$(7"D##\e(B" . "\e$(7%A\e(B") | |
3e799ba1 | 535 | ("\e$(7"D#4\e(B" . "\e$(7!!\e(B") ; dummy 0x2121 added 2000/06/08 for transition l -> lng |
80d75b56 KH |
536 | ("\e$(7"D#&\e(B" . "\e$(7%C\e(B") |
537 | ("\e$(7"D#(\e(B" . "\e$(7%D\e(B") | |
538 | ("\e$(7"D#0\e(B" . "\e$(7%E\e(B") | |
539 | ("\e$(7"D#2\e(B" . "\e$(7%F\e(B") | |
540 | ("\e$(7"D#5\e(B" . "\e$(7%G\e(B") | |
541 | ("\e$(7"D#7\e(B" . "\e$(7%H\e(B") | |
542 | ("\e$(7"D#H\e(B" . "\e$(7%I\e(B") | |
543 | ("\e$(7"G#!\e(B" . "\e$(7%P\e(B") | |
544 | ("\e$(7"G##\e(B" . "\e$(7%Q\e(B") | |
545 | ("\e$(7"G#0\e(B" . "\e$(7%T\e(B") | |
546 | ("\e$(7"G#2\e(B" . "\e$(7%U\e(B") | |
547 | ("\e$(7"G#4\e(B" . "\e$(7%V\e(B") | |
548 | ("\e$(7"G#5\e(B" . "\e$(7%W\e(B") | |
549 | ("\e$(7"G#7\e(B" . "\e$(7%X\e(B") | |
d169c89e KH |
550 | ("\e$(7"G#9\e(B" . "\e$(7%Y\e(B"))) |
551 | ||
d169c89e KH |
552 | (defconst tibetan-regexp |
553 | (let ((l (list tibetan-precomposed-transcription-alist | |
554 | tibetan-consonant-transcription-alist | |
555 | tibetan-vowel-transcription-alist | |
556 | tibetan-modifier-transcription-alist | |
557 | tibetan-subjoined-transcription-alist)) | |
558 | (separator "\\|") | |
559 | tail pattern) | |
80d75b56 | 560 | (while l |
d169c89e KH |
561 | (setq tail (car l) l (cdr l)) |
562 | (while tail | |
563 | (setq pattern (cons separator (cons (car (car tail)) pattern)) | |
564 | tail (cdr tail)))) | |
565 | (apply 'concat (nreverse (cdr pattern)))) | |
566 | "Regexp matching a Tibetan transcription of a composable Tibetan sequence. | |
567 | The result of matching is to be used for indexing alists at conversion | |
568 | from a roman transcription to the corresponding Tibetan character.") | |
80d75b56 KH |
569 | |
570 | (defvar tibetan-precomposed-regexp | |
ca0a881a | 571 | (purecopy |
80d75b56 KH |
572 | (let ((l tibetan-precomposed-transcription-alist) |
573 | temp) | |
574 | (setq temp "^\\(") | |
575 | (setq temp | |
576 | (concat temp (car (car l)))) | |
577 | (setq l (cdr l)) | |
578 | (while l | |
579 | (setq temp | |
580 | (concat temp "\\|" (car (car l)))) | |
581 | (setq l (cdr l))) | |
ca0a881a | 582 | (concat temp "\\)"))) |
80d75b56 KH |
583 | "Regexp string to match a romanized Tibetan complex consonant. |
584 | The result of matching is to be used for indexing alists when the input key | |
585 | from an input method is converted to the corresponding precomposed glyph.") | |
586 | ||
587 | (defvar tibetan-precomposition-rule-regexp | |
ca0a881a | 588 | (purecopy |
80d75b56 KH |
589 | (let ((l tibetan-precomposition-rule-alist) |
590 | temp) | |
591 | (setq temp "\\(") | |
592 | (setq temp (concat temp (car (car l)))) | |
593 | (setq l (cdr l)) | |
594 | (while l | |
595 | (setq temp (concat temp "\\|" (car (car l)))) | |
596 | (setq l (cdr l))) | |
ca0a881a | 597 | (concat temp "\\)"))) |
80d75b56 KH |
598 | "Regexp string to match a sequence of Tibetan consonantic components, i.e., |
599 | one base consonant and one or more subjoined consonants. | |
600 | The result of matching is to be used for indexing alist when the component | |
601 | sequence is converted to the corresponding precomposed glyph. | |
602 | This also matches some punctuation characters which need conversion.") | |
603 | ||
604 | (defvar tibetan-decomposed nil) | |
605 | (defvar tibetan-decomposed-temp nil) | |
606 | ||
69d21b0c | 607 | ;; For automatic composition. |
d5165952 KH |
608 | (set-char-table-range |
609 | composition-function-table '(#xF00 . #xFD1) | |
610 | (list (vector tibetan-composable-pattern 0 'font-shape-gstring))) | |
69d21b0c | 611 | |
41da80b1 DL |
612 | (provide 'tibetan) |
613 | ||
cbee283d | 614 | ;; arch-tag: 8d37c8d7-f95d-450f-9ec2-819e61fc79a7 |
e8af40ee | 615 | ;;; tibetan.el ends here |