Add input-method and descrition elements.
[m17n/m17n-db.git] / TIBT-MTIB.flt
1 ;; TIBT-MTIB.flt -- Font Layout Table for Tibetan (Tomabechi font)
2 ;; Copyright (C) 2003, 2004
3 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
4 ;;   Registration Number H15PRO112
5
6 ;; This file is part of the m17n database; a sub-part of the m17n
7 ;; library.
8
9 ;; The m17n library is free software; you can redistribute it and/or
10 ;; modify it under the terms of the GNU Lesser General Public License
11 ;; as published by the Free Software Foundation; either version 2.1 of
12 ;; the License, or (at your option) any later version.
13
14 ;; The m17n library is distributed in the hope that it will be useful,
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 ;; Lesser General Public License for more details.
18
19 ;; You should have received a copy of the GNU Lesser General Public
20 ;; License along with the m17n library; if not, write to the Free
21 ;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
22 ;; 02111-1307, USA.
23
24 ;;; <li> TIBT-MTIB.flt
25 ;;;
26 ;;; For the Tibetan TrueType font developped by Dr. Tomabechi to draw
27 ;;; Tibetan script.  The font is available at:
28 ;;; <ul>
29 ;;; <li> infopage: http://www.m17n.org/emacs-ttf/
30 ;;; <li> download: http://www.m17n.org/emacs-ttf/fonts/tibetan/mtib.ttf
31 ;;; </ul>
32
33 (category
34  ;; Tibetan character category for rendering
35  ;;   C: CONSONANTS (except R)
36  ;;   R: LETTER RA (RA-MGO)
37  ;;   S: SUBJOINED CONSONANTS (except s)
38  ;;   s: SUBJOINED CONSONANTS (don't modify RA-MGO)
39  ;;   V: VOWEL (except a and A)
40  ;;   a: VOWEL SIGN A (invisible when composed)
41  ;;   A: VOWEL SIGN AA (don't make preceding C shorter)
42  ;;   M: MODIFIER
43  ;;   E: ELSE
44  ;;
45  (0x0F00 0x0FCF         ?E)             ; ELSE
46  (0x0F19                ?M)             ; ASTROLOGICAL SIGN SDONG TSHUGS
47  (0x0F35                ?M)             ; MARK NGAS BZUNG NYI ZLA
48  (0x0F37                ?M)             ; MARK NGAS BZUNG SGOR RTAGS
49  (0x0F39                ?M)             ; MARK TSA -PHRU
50  (0x0F40 0x0F6A         ?C)             ; LETTER KA .. LETTER FIXED-FORM RA
51  (0x0F62                ?R)             ; LETTER RA
52  (0x0F70                ?a)             ; VOWEL SIGN A
53  (0x0F71                ?A)             ; VOWEL SIGN AA
54  (0x0F72 0x0F7D         ?V)             ; VOWEL SIGN I .. VOWEL SIGN OO
55  (0x0F7E                ?M)             ; SIGN RJES SU NGA RO
56  (0x0F80                ?V)             ; VOWEL SIGN REVERSED I
57  (0x0F81                ?V)             ; VOWEL SIGN REVERSED II
58  (0x0F82                ?M)             ; SIGN NYI ZLA NAA DA
59  (0x0F83                ?M)             ; SIGN SNA LDAN
60  (0x0F84                ?V)             ; MARK HALANTA
61  ;; SIGN LCI RTAGS .. SIGN GRU MED RGYINGS
62  (0x0F86 0x0F8B         ?M)
63  ;; SUBJOINED LETTER KA .. SUBJOINED LETTER FIXED-FORM RA
64  (0x0F90 0x0FBC         ?s)
65  (0x0FAD                ?S)
66  (0x0FB1 0x0FB2         ?S)
67  (0x0FC6                ?M))
68
69 (generator
70  (0
71   (cond
72    ("[CR][Ss]*[VaA]*M*"
73     <
74     (cond
75      ("R[^SA].*"                        ; ར[^ྭྱྲཱ]
76       ((0x0F62) 0xE083)                 ; convert ར to upper form
77       subjoined *
78       dependent-vowel-modifier *)
79      (".A.*"                            ; Cཱ (don't make C shorter)
80       =
81       dependent-vowel-modifier *)
82      (".[Ss].*"
83       |
84       short-consonant
85       subjoined *
86       dependent-vowel-modifier *
87       |)
88      (".*"
89       =
90       dependent-vowel-modifier * )
91      )
92     >)
93    ("[VaAM]"
94     < 0xE07A dependent-vowel-modifier >)
95    ("[Ss]"
96     < 0xE07A subjoined >)
97    ("."
98     =))
99   *)
100
101  (short-consonant
102   (cond
103    ((0x0F5D)                    0x0FBA)
104    ((0x0F61)                    0x0FBB)
105    ((0x0F62)                    0x0FBC)
106    ((0x0F6A)                    0x0FBC)
107    ((range 0x0F40 0x0F69)       0x0F90)))
108
109  (subjoined
110   ((range 0x0F90 0x0FB9) bc.tc =))
111
112  (dependent-vowel-modifier
113   (cond
114    ((0x0F18)    bl.tc =)
115    ((0x0F19)    bc.tc =)
116    ((0x0F35)    bc.tc =)
117    ((0x0F37)    bc.tc =)
118    ((0x0F39)    tc.bc =)
119    ((0x0F70)    )                       ; invisible
120    ((0x0F71)    bc.tc =)
121    ((0x0F72)    tc.bc =)
122    ((0x0F73)    bc.tc 0x0F71 tc.bc 0x0F72)
123    ((0x0F74)    bc.tc =)
124    ((0x0F75)    bc.tc =)
125    ((0x0F76)    bc.tc 0x0FB2 tc.bc 0x0F72)
126    ((0x0F77)    bc.tc 0x0FB2 bc.tc 0x0F71 tc.bc 0x0F80)
127    ((0x0F78)    bc.tc 0x0FB3 tc.bc 0x0F80)
128    ((0x0F79)    bc.tc 0x0FB3 bc.tc 0x0F71 tc.bc 0x0F80)
129    ((0x0F7A)    tc.bc =)
130    ((0x0F7B)    tc.bc =)
131    ((0x0F7C)    tc.bc =)
132    ((0x0F7D)    tc.bc =)
133    ((0x0F7E)    tc.bc =)
134    ((0x0F80)    tc.bc =)
135    ((0x0F81)    bc.tc 0x0F71 tc.bc =)
136    ((0x0F82)    tc.bc =)
137    ((0x0F83)    tc.bc =)
138    ((0x0F84)    bc.tc =)
139    ((0x0F86)    tc.bc =)
140    ((0x0F87)    tc.bc =)
141    ((0x0F88)    tc.bc =)
142    ((0x0F89)    tc.bc =)
143    ((0x0F8A)    tc.bc =)
144    ((0x0F8B)    tc.bc =)
145    ((0x0FC6)    bc.tc =))))
146
147 (category
148  (0x000 0xFFFF ?G))
149
150 (generator
151  (0
152   (cond
153    (" (G*) "
154     (1 precomposed = *))
155    ("[^ ]*"
156     = *))
157   *)
158
159  (precomposed
160   (cond
161    ((0x0F90 0x0FAD)             0xE000)
162    ((0x0F90 0x0FB1)             0xE010)
163    ((0x0F90 0x0FB2)             0xE018)
164    ((0x0F90 0x0FB3)             0xE026)
165    ((0x0F91 0x0FAD)             0xE001)
166    ((0x0F91 0x0FB1)             0xE011)
167    ((0x0F91 0x0FB2)             0xE019)
168    ((0x0F92 0x0FAD)             0xE002)
169    ((0x0F92 0x0FB1)             0xE012)
170    ((0x0F92 0x0FB2 0x0FAD)      0xE025)
171    ((0x0F92 0x0FB2)             0xE01A)
172    ((0x0F92 0x0FB3)             0xE027)
173    ((0x0F95 0x0FAD)             0xE003)
174    ((0x0F97 0x0FB2)             0xE060)
175    ((0x0F99 0x0FAD)             0xE004)
176    ((0x0F9F 0x0FAD)             0xE005)
177    ((0x0F9F 0x0FB2)             0xE01B)
178    ((0x0FA0 0x0FB2)             0xE01C)
179    ((0x0FA1 0x0FAD)             0xE006)
180    ((0x0FA1 0x0FB2)             0xE01D)
181    ((0x0FA4 0x0FB1)             0xE013)
182    ((0x0FA4 0x0FB2)             0xE01E)
183    ((0x0FA5 0x0FB1 0x0FAD)      0xE017)
184    ((0x0FA5 0x0FB1)             0xE014)
185    ((0x0FA5 0x0FB2)             0xE01F)
186    ((0x0FA6 0x0FB1)             0xE015)
187    ((0x0FA6 0x0FB2)             0xE020)
188    ((0x0FA6 0x0FB3)             0xE028)
189    ((0x0FA8 0x0FB1)             0xE016)
190    ((0x0FA8 0x0FB2)             0xE021)
191    ((0x0FA9 0x0FAD)             0xE007)
192    ((0x0FAA 0x0FAD)             0xE008)
193    ((0x0FAB 0x0FB2)             0xE061)
194    ((0x0FAE 0x0FAD)             0xE009)
195    ((0x0FAF 0x0FAD)             0xE00A)
196    ((0x0FAF 0x0FB3)             0xE029)
197    ((0x0FB2 0x0F90 0x0FB1)      0xE03A)
198    ((0x0FB2 0x0F90)             0xE02C)
199    ((0x0FB2 0x0F92 0x0FAD)      0xE038)
200    ((0x0FB2 0x0F92 0x0FB1)      0xE03B)
201    ((0x0FB2 0x0F92)             0xE02D)
202    ((0x0FB2 0x0F94)             0xE02E)
203    ((0x0FB2 0x0F97)             0xE02F)
204    ((0x0FB2 0x0F99)             0xE030)
205    ((0x0FB2 0x0F9F)             0xE031)
206    ((0x0FB2 0x0FA1)             0xE032)
207    ((0x0FB2 0x0FA3)             0xE033)
208    ((0x0FB2 0x0FA6)             0xE034)
209    ((0x0FB2 0x0FA8 0x0FB1)      0xE03C)
210    ((0x0FB2 0x0FA8)             0xE035)
211    ((0x0FB2 0x0FA9 0x0FAD)      0xE039)
212    ((0x0FB2 0x0FA9)             0xE036)
213    ((0x0FB2 0x0FAB)             0xE037)
214    ((0x0FB2 0x0FAD)             0xE00B)
215    ((0x0FB2 0x0FB3)             0xE02A)
216    ((0x0FB3 0x0F90)             0xE03D)
217    ((0x0FB3 0x0F92)             0xE03E)
218    ((0x0FB3 0x0F94)             0xE03F)
219    ((0x0FB3 0x0F95)             0xE040)
220    ((0x0FB3 0x0F97)             0xE041)
221    ((0x0FB3 0x0F9F)             0xE042)
222    ((0x0FB3 0x0FA1)             0xE043)
223    ((0x0FB3 0x0FA4)             0xE044)
224    ((0x0FB3 0x0FA6)             0xE045)
225    ((0x0FB3 0x0FAD)             0xE00C)
226    ((0x0FB3 0x0FB7)             0xE046)
227    ((0x0FB4 0x0FAD)             0xE00D)
228    ((0x0FB4 0x0FB2)             0xE022)
229    ((0x0FB6 0x0F90 0x0FB1)      0xE052)
230    ((0x0FB6 0x0F90 0x0FB2)      0xE057)
231    ((0x0FB6 0x0F90)             0xE047)
232    ((0x0FB6 0x0F92 0x0FB1)      0xE053)
233    ((0x0FB6 0x0F92 0x0FB2)      0xE058)
234    ((0x0FB6 0x0F92)             0xE048)
235    ((0x0FB6 0x0F94)             0xE049)
236    ((0x0FB6 0x0F99)             0xE04A)
237    ((0x0FB6 0x0F9F)             0xE04B)
238    ((0x0FB6 0x0FA1)             0xE04C)
239    ((0x0FB6 0x0FA3 0x0FB2)      0xE059)
240    ((0x0FB6 0x0FA3)             0xE04D)
241    ((0x0FB6 0x0FA4 0x0FB1)      0xE054)
242    ((0x0FB6 0x0FA4 0x0FB2)      0xE05A)
243    ((0x0FB6 0x0FA4)             0xE04E)
244    ((0x0FB6 0x0FA6 0x0FB1)      0xE055)
245    ((0x0FB6 0x0FA6 0x0FB2)      0xE05B)
246    ((0x0FB6 0x0FA6)             0xE04F)
247    ((0x0FB6 0x0FA8 0x0FB1)      0xE055)
248    ((0x0FB6 0x0FA8 0x0FB2)      0xE05C)
249    ((0x0FB6 0x0FA8)             0xE050)
250    ((0x0FB6 0x0FA9)             0xE051)
251    ((0x0FB6 0x0FAD)             0xE00E)
252    ((0x0FB6 0x0FB2)             0xE023)
253    ((0x0FB6 0x0FB3)             0xE02B)
254    ((0x0FB7 0x0FAD)             0xE00F)
255    ((0x0FB7 0x0FB2)             0xE024))))
256
257 ;; Local Variables:
258 ;; mode: lisp
259 ;; coding: utf-8
260 ;; End: