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