Moved from the parent directory. Add layouter information.
[m17n/m17n-db.git] / FLT / TIBT-MULE.flt
1 ;; TIBT-MULE.flt -- Font Layout Table for Tibetan (muletibetan font)
2 ;; Copyright (C) 2003, 2004, 2007
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., 51 Franklin Street, Fifth Floor,
22 ;; Boston, MA 02110-1301, USA.
23
24 ;;; <li> TIBT-MULE.flt
25 ;;;
26 ;;; For the muletibetan font developped by Dr. Tomabechi to draw Tibetan
27 ;;; script.  The font is available at:
28 ;;; <ul>
29 ;;; <li> infopage: http://www.gnu.org/directory/Localization/intlfonts.html
30 ;;; <li> download: ftp://ftp.gnu.org/pub/gnu/intlfonts/intlfonts-1.2.1.tar.gz
31 ;;; </ul>
32
33 (font layouter tibt-mule nil
34       (font (muletibetan-2)))
35
36 (category
37  ;; Tibetan character category for rendering
38  ;;   C: CONSONANTS (except R)
39  ;;   R: LETTER RA (RA-MGO)
40  ;;   S: SUBJOINED CONSONANTS (except s)
41  ;;   s: SUBJOINED CONSONANTS (don't modify RA-MGO)
42  ;;   V: VOWEL (except a and A)
43  ;;   a: VOWEL SIGN A (invisible when composed)
44  ;;   A: VOWEL SIGN AA (don't make preceding C shorter)
45  ;;   M: MODIFIER
46  ;;   E: ELSE
47  ;;
48  (0x0F00 0x0FCF         ?E)             ; default
49  (0x0F19                ?M)             ; ASTROLOGICAL SIGN SDONG TSHUGS
50  (0x0F35                ?M)             ; MARK NGAS BZUNG NYI ZLA
51  (0x0F37                ?M)             ; MARK NGAS BZUNG SGOR RTAGS
52  (0x0F39                ?M)             ; MARK TSA -PHRU
53  (0x0F40 0x0F6A         ?C)             ; LETTER KA .. LETTER FIXED-FORM RA
54  (0x0F62                ?R)             ; LETTER RA
55  (0x0F70                ?a)             ; VOWEL SIGN A
56  (0x0F71                ?A)             ; VOWEL SIGN AA
57  (0x0F72 0x0F7D         ?V)             ; VOWEL SIGN I .. VOWEL SIGN OO
58  (0x0F7E                ?M)             ; SIGN RJES SU NGA RO
59  (0x0F80                ?V)             ; VOWEL SIGN REVERSED I
60  (0x0F81                ?V)             ; VOWEL SIGN REVERSED II
61  (0x0F82                ?M)             ; SIGN NYI ZLA NAA DA
62  (0x0F83                ?M)             ; SIGN SNA LDAN
63  (0x0F84                ?V)             ; MARK HALANTA
64  ;; SIGN LCI RTAGS .. SIGN GRU MED RGYINGS
65  (0x0F86 0x0F8B         ?M)
66  ;; SUBJOINED LETTER KA .. SUBJOINED LETTER FIXED-FORM RA
67  (0x0F90 0x0FBC         ?s)
68  (0x0FAD                ?S)
69  (0x0FB1 0x0FB2         ?S))
70
71 (generator
72  (0
73   (cond
74    ("[CR][Ss]*[VaA]*M*"
75     <
76     (cond
77      ("R[SA].*"                         ; ར[ྭྱྲཱ]
78       ((0x0F62) 0x2122)                 ; convert ར to upper form
79       subjoined *
80       dependent-vowel-modifier *)
81      (".A.*"                            ; Cཱ
82       consonant
83       dependent-vowel-modifier *)
84      (".[Ss].*"
85       |
86       short-consonant
87       subjoined *
88       dependent-vowel-modifier *
89       |)
90      (".*"
91       consonant
92       dependent-vowel-modifier * )
93      )
94     >)
95    ("."
96     independent
97     subjoined))
98   *)
99
100  (consonant
101   ((range 0x0F40 0x0F6A)        0x2221))
102
103  (short-consonant
104   (cond
105    ((range 0x0F40 0x0F69)       0x2321)
106    ((0x0F6A)                    0x234D)))
107
108  (subjoined
109   ((range 0x0F90 0x0FBC)        bc+tc 0x2321))
110
111  (dependent-vowel-modifier
112   (cond
113    ((0x0F19)    bc-tc 0x2149)
114    ((0x0F35)    bc-tc 0x2165)
115    ((0x0F37)    bc-tc 0x2167)
116    ((0x0F39)    tc-bc 0x2169)
117    ((0x0F70)    )                       ; invisible
118    ((0x0F71)    bc-tc 0x2252)
119    ((0x0F72)    tc-bc 0x2253)
120    ((0x0F73)    bc-tc 0x2252 tc-bc 0x2253)
121    ((0x0F74)    bc-tc 0x2255)
122    ((0x0F75)    bc-tc 0x2256)
123    ((0x0F76)    bc-tc 0x2343 tc-bc 0x2261)
124    ((0x0F77)    bc-tc 0x2343 bc-tc 0x2252 tc-bc 0x2261)
125    ((0x0F78)    bc-tc 0x2344 tc-bc 0x2261)
126    ((0x0F79)    bc-tc 0x2344 bc-tc 0x2262 tc-bc 0x2261)
127    ((0x0F7A)    tc-bc 0x225B)
128    ((0x0F7B)    tc-bc 0x225C)
129    ((0x0F7C)    tc-bc 0x225D)
130    ((0x0F7D)    tc-bc 0x225E)
131    ((0x0F7E)    tc-bc 0x225F)
132    ((0x0F80)    tc-bc 0x2261)
133    ((0x0F81)    bc-tc 0x2252 0x2261)
134    ((0x0F82)    tc-bc 0x2263)
135    ((0x0F83)    tc-bc 0x2264)
136    ((0x0F84)    bc-tc 0x2265)
137    ((0x0F86)    tc-bc 0x2267)
138    ((0x0F87)    tc-bc 0x2268)
139    ((0x0F88)    tc-bc 0x2269)
140    ((0x0F89)    tc-bc 0x226A)
141    ((0x0F8A)    tc-bc 0x226B)
142    ((0x0F8B)    tc-bc 0x226C)))
143
144  (independent
145   (cond
146    ((range 0x0F00 0x0F3F)       0x2130)
147    ((range 0x0F6B 0x0F8B)       0x224C)
148    ((range 0x0FBD 0x0FCF)       0x234E))))
149
150 (category
151  (0x2121 0x24FF ?G))
152
153 (generator
154  (0
155   (cond
156    (" (G*) "
157     (1 precomposed = * ))
158    ("[^ ]*"
159     = * ))
160   *)
161
162  (precomposed
163   (cond
164    ((0x2321 0x233E)             0x2421)
165    ((0x2321 0x2342)             0x2440)
166    ((0x2321 0x2343)             0x2450)
167    ((0x2321 0x2344)             0x2460)
168    ((0x2322 0x233E)             0x2422)
169    ((0x2322 0x2342)             0x2441)
170    ((0x2322 0x2343)             0x2451)
171    ((0x2323 0x233E)             0x2423)
172    ((0x2323 0x2342)             0x2442)
173    ((0x2323 0x2343 0x233E)      0x245F)
174    ((0x2323 0x2343)             0x2452)
175    ((0x2323 0x2344)             0x2461)
176    ((0x2326 0x233E)             0x2424)
177    ((0x2328 0x2343)             0x245D)
178    ((0x232A 0x233E)             0x2425)
179    ((0x2330 0x233E)             0x2426)
180    ((0x2330 0x2343)             0x2453)
181    ((0x2331 0x2343)             0x2454)
182    ((0x2332 0x233E)             0x2427)
183    ((0x2332 0x2343)             0x2455)
184    ((0x2335 0x2342)             0x2443)
185    ((0x2335 0x2343)             0x2456)
186    ((0x2336 0x2342 0x233E)      0x2447)
187    ((0x2336 0x2342)             0x2444)
188    ((0x2336 0x2343)             0x2457)
189    ((0x2337 0x2342)             0x2445)
190    ((0x2337 0x2343)             0x2458)
191    ((0x2337 0x2344)             0x2462)
192    ((0x2339 0x2342)             0x2446)
193    ((0x2339 0x2343)             0x2459)
194    ((0x233A 0x233E)             0x2428)
195    ((0x233B 0x233E)             0x2429)
196    ((0x233C 0x2343)             0x245E)
197    ((0x233F 0x233E)             0x242A)
198    ((0x2340 0x233E)             0x242B)
199    ((0x2340 0x2344)             0x2463)
200    ((0x2343 0x2321 0x2342)      0x2530)
201    ((0x2343 0x2321)             0x2521)
202    ((0x2343 0x2323 0x233E)      0x252D)
203    ((0x2343 0x2323 0x2342)      0x2531)
204    ((0x2343 0x2323)             0x2522)
205    ((0x2343 0x2325)             0x2523)
206    ((0x2343 0x2328)             0x2524)
207    ((0x2343 0x232A)             0x2525)
208    ((0x2343 0x2330)             0x2526)
209    ((0x2343 0x2332)             0x2527)
210    ((0x2343 0x2334)             0x2528)
211    ((0x2343 0x2337)             0x2529)
212    ((0x2343 0x2339 0x2342)      0x2532)
213    ((0x2343 0x2339)             0x252A)
214    ((0x2343 0x233A 0x233E)      0x252E)
215    ((0x2343 0x233A)             0x252B)
216    ((0x2343 0x233C)             0x252C)
217    ((0x2343 0x233E)             0x242C)
218    ((0x2343 0x2344)             0x2464)
219    ((0x2344 0x2321)             0x2540)
220    ((0x2344 0x2323)             0x2541)
221    ((0x2344 0x2325)             0x2542)
222    ((0x2344 0x2326)             0x2543)
223    ((0x2344 0x2328)             0x2544)
224    ((0x2344 0x2330)             0x2545)
225    ((0x2344 0x2332)             0x2546)
226    ((0x2344 0x2334)             0x2121)
227    ((0x2344 0x2335)             0x2547)
228    ((0x2344 0x2337)             0x2548)
229    ((0x2344 0x233E)             0x242D)
230    ((0x2344 0x2348)             0x2549)
231    ((0x2345 0x233E)             0x242E)
232    ((0x2345 0x2343)             0x245A)
233    ((0x2347 0x2321 0x2342)      0x2560)
234    ((0x2347 0x2321 0x2343)      0x2570)
235    ((0x2347 0x2321)             0x2550)
236    ((0x2347 0x2323 0x2342)      0x2561)
237    ((0x2347 0x2323 0x2343)      0x2571)
238    ((0x2347 0x2323)             0x2551)
239    ((0x2347 0x2325)             0x2552)
240    ((0x2347 0x232A)             0x2553)
241    ((0x2347 0x2330)             0x2554)
242    ((0x2347 0x2332)             0x2555)
243    ((0x2347 0x2334 0x2343)      0x2572)
244    ((0x2347 0x2334)             0x2556)
245    ((0x2347 0x2335 0x2342)      0x2562)
246    ((0x2347 0x2335 0x2343)      0x2573)
247    ((0x2347 0x2335)             0x2557)
248    ((0x2347 0x2337 0x2342)      0x2563)
249    ((0x2347 0x2337 0x2343)      0x2574)
250    ((0x2347 0x2337)             0x2558)
251    ((0x2347 0x2339 0x2342)      0x2564)
252    ((0x2347 0x2339 0x2343)      0x2575)
253    ((0x2347 0x2339)             0x2559)
254    ((0x2347 0x233A)             0x255A)
255    ((0x2347 0x233E)             0x242F)
256    ((0x2347 0x2343)             0x245B)
257    ((0x2347 0x2344)             0x2465)
258    ((0x2348 0x233E)             0x2430)
259    ((0x2348 0x2343)             0x245C))))
260
261 ;; Local Variables:
262 ;; mode: lisp
263 ;; coding: utf-8
264 ;; End: