*** empty log message ***
[m17n/m17n-db.git] / FLT / THAI-NORASI.flt
1 ;; THAI-NORASI.flt -- Font Layout Table for Thai (Norasi font)
2 ;; Copyright (C) 2003, 2004, 2007  AIST (H15PRO112)
3 ;; See the end for copying conditions.
4
5 (font layouter thai-norasi nil
6       (font (nil norasi unicode-bmp)))
7
8 ;;; <li> THAI-NORASI.flt
9 ;;;
10 ;;; For the Thai Norasi family fonts to draw Thai script.  The fonts are
11 ;;; available at:
12 ;;; <ul>
13 ;;; <li> debian package: ttf-thai-tlwg
14 ;;; </ul>
15
16 ;; 1st stage: basic composition of CVT
17 (category
18  ;; C: CONSONANT
19  ;; V: VOWEL upper and lower
20  ;; A: SARA-AM
21  ;; T: TONE
22  ;; E: else
23  (0x0E00 0x0E5F ?E)
24  (0x0E01 0x0E2E ?C)
25  (0x0E31        ?V)
26  (0x0E33        ?A)
27  (0x0E34 0x0E3A ?V)
28  (0x0E47        ?V)
29  (0x0E48 0x0E4E ?T)
30  )
31
32 (generator
33  (0
34   (cond
35    ("(C)(T)?(A)"                        ; SARA-AM -> NIKHAHIT+SARA-AA
36     (1 = 0x0E4D) (2 =) (3 0x0E32))
37    ("(C)(T)(V)?"                        ; CTV -> CVT
38     (1 =) (3 =) (2 =))
39    ("(C)(V)?(T)?"
40     (1 =) (2 =) (3 =))
41    ("[^C]"
42     =))
43   *))
44
45 (category
46  ;; C: CONSONANT tall
47  ;; c: CONSONANT normal
48  ;; d: CONSONANT deep
49  ;; V: VOWEL upper, NIKHAHIT, and YAMAKKAN
50  ;; v: VOWEL lower
51  ;; T: TONE
52  ;; E: ELSE
53  (0x0E00 0x0E5F ?E)
54  (0x0E01 0x0E2E ?c)
55  (0x0E0D 0x0E10 ?d)
56  (0x0E1B        ?C)
57  (0x0E1D        ?C)
58  (0x0E1F        ?C)
59  (0x0E2C        ?C)
60  (0x0E31        ?V)
61  (0x0E34 0x0E37 ?V)
62  (0x0E38 0x0E3A ?v)
63  (0x0E47        ?V)
64  (0x0E48 0x0E4C ?T)
65  (0x0E4D 0x0E4E ?V)
66  (0x25CC        ?E))
67
68 (generator
69  (0
70   (cond 
71    ("(C)(V)(T)?"
72     < (1 =) (2 vowel-upper-left) (3 tone-high-left) >)
73    ("(C)(v)?(T)?"
74     < (1 =) (2 =) (3 tone-low-left) >)
75    ("([cd])(V)(T)?"
76     < (1 =) (2 =) (3 =) >)
77    ("(c)(v)?(T)?"
78     < (1 =) (2 =) (3 tone-low) >)
79    ("(d)(v)?(T)?"
80     < (1 =) (2 vowel-deep) (3 tone-low) >)
81    ("[VvT]"
82     (cond ((font-facility 0x25CC) < 0x25CC = > ) ("." [ = ] )))
83    ("."
84     =))
85   *)
86
87  (vowel-upper-left
88   (cond
89    ((0x0E31) =)
90    ((range 0x0E34 0x0E37) 0xF701)
91    ((0x0E47) =)
92    ((0x0E4D) 0xF711)
93    ((0x0E4E) =)))
94
95  (vowel-deep
96   ((range 0x0E38 0x0E3A) 0xF718))
97
98  (tone-high-left
99   ((range 0x0E48 0x0E4C) 0xF713))
100
101  (tone-low-left
102   ((range 0x0E48 0x0E4C) 0xF705))
103
104  (tone-low
105   ((range 0x0E48 0x0E4C) 0xF70A)))
106
107 ;; Copyright (C) 2003, 2004, 2007
108 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
109 ;;   Registration Number H15PRO112
110
111 ;; This file is part of the m17n database; a sub-part of the m17n
112 ;; library.
113
114 ;; The m17n library is free software; you can redistribute it and/or
115 ;; modify it under the terms of the GNU Lesser General Public License
116 ;; as published by the Free Software Foundation; either version 2.1 of
117 ;; the License, or (at your option) any later version.
118
119 ;; The m17n library is distributed in the hope that it will be useful,
120 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
121 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
122 ;; Lesser General Public License for more details.
123
124 ;; You should have received a copy of the GNU Lesser General Public
125 ;; License along with the m17n library; if not, write to the Free
126 ;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
127 ;; Boston, MA 02110-1301, USA.
128
129 ;; Local Variables:
130 ;; mode: lisp
131 ;; End: