Files udpated
[m17n/m17n-db.git] / THAI-OTF.flt
1 ;; THAI-OTF.flt -- Font Layout Table for Thai
2 ;; Copyright (C) 2006
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> THAI-OTF.flt
25
26 (category
27  ;; C: CONSONANT
28  ;; A: SARA-AM
29  ;; i: SARA I, SARA U (below vowel 1, above vowel 1)
30  ;; I: SARA II, SARA UEE (above vowel 3)
31  ;; U: MAIHAN-AKAT, SARA UE, SARA UU (above vowel 2, below vowel 2)
32  ;; P: PHINTHU, YAMAKKARN (below diacritic, above diacritic 3)
33  ;; T: TONE
34  ;; N: THANTHAKHAT, NIKHAHIT (above diacritic 1)
35  ;; M: MAITAIKHU (above diacritic 2)
36  ;; X: OTHER INDEPENDENT
37  (0x0E01 0x0E23 ?C)
38  (0x0E24        ?X)
39  (0x0E25        ?C)
40  (0x0E26 0x0E2E ?C)
41  (0x0E2F 0x0E30 ?X)
42  (0x0E31        ?U) ;; av2
43  (0x0E32        ?X)
44  (0x0E33        ?A)
45  (0x0E34        ?i) ;; av1
46  (0x0E35        ?I) ;; av3
47  (0x0E36        ?U) ;; av2
48  (0x0E37        ?I) ;; av3
49  (0x0E38        ?i) ;; bv1
50  (0x0E39        ?U) ;; bv2
51  (0x0E3A        ?P) ;; bd
52  (0x0E3F 0x0E46 ?X)
53  (0x0E47        ?M) ;; ad2
54  (0x0E48 0x0E4B ?T)
55  (0x0E4C 0x0E4D ?N) ;; ad1
56  (0x0E4E        ?P) ;; ad3
57  (0x0E4F 0x0E5B ?X)
58  (0x25CC        ?X))
59
60 ;; Perform GSUB.  The decomposition of AM is done by hand because it
61 ;; requires reordering in addition to decomposition.
62
63 (generator
64  (0
65   (cond
66    ("(C)(T)?A"
67     < | (1 =) 0x0E4D (2 =) 0x0E32 | > )
68    ("C[UiI]T"
69     < | = * | > )
70    ("CiN"
71     < | = * | > )
72    ("CIM"
73     < | = * | > )
74    ("C[iIUPTNM]?"
75     < | = * | > )
76    ("[iIUPTNM]"
77     < | 0x25CC = | > )
78    ("."
79     =))
80   *))
81
82 ;; Perform GPOS.
83
84 (generator
85  (0
86   (cond
87    (" ([^ ]*) "
88     (1 otf:thai))
89    ("."
90     [ otf:thai=+ ]))
91   *))
92
93 ;; Local Variables:
94 ;; mode: emacs-lisp
95 ;; End: