1 ;; GUR2-OTF.flt -- Font Layout Table for gur2 OpenType fonts
2 ;; Copyright (C) 2010 AIST (H15PRO112)
3 ;; See the end for copying conditions.
5 (font layouter gur2-otf nil
7 (font (nil nil unicode-bmp :otf=gur2)))
11 ;;; For gur2 OpenType fonts to draw the Gurmukhi script.
14 (0x0A00 0x0A7F ?X) ; generic
15 (0x0A00 ?Z) ; internal use
16 (0x0A01 0x0A02 ?a) ; SIGN ADAK BINDI .. BINDI
17 (0x0A03 ?A) ; SIGN VISARGA
18 (0x0A05 0x0A14 ?V) ; LETTER A .. AU
19 (0x0A15 0x0A38 ?C) ; LETTER KA .. SA
20 (0x0A3C ?n) ; SIGN NUKTA
21 (0x0A3E ?p) ; VOWEL SIGN AA
22 (0x0A3F ?m) ; VOWEL SIGN I
23 (0x0A40 ?p) ; VOWEL SIGN II
24 (0x0A41 0x0A42 ?b) ; VOWEL SIGN U .. UU
25 (0x0A47 0x0A4C ?u) ; VOWEL SIGN EE .. AU
26 (0x0A4D ?H) ; SIGN VIRAMA
27 ;; (0x0A51 ?) ; SIGN UDAAT
28 (0x0A59 0x0A5E ?C) ; LETTER KHHA .. FA
31 ;; (0x0A75 ?) ; SIGN YAKASH
35 (0x25CC ?X) ; DOTTED CIRCLE
45 ;; Compose a consonant and a nukta
46 ((0x0A32 0x0A3C) 0x0A33)
47 ((0x0A38 0x0A3C) 0x0A36)
48 ((0x0A16 0x0A3C) 0x0A59)
49 ((0x0A17 0x0A3C) 0x0A5A)
50 ((0x0A1C 0x0A3C) 0x0A5B)
51 ((0x0A2B 0x0A3C) 0x0A5E)
56 ;; Syllable identification
60 ;; Consonant-based syllables
61 ("(Cn?J?HJ?)*Cn?(H[NJ]?|m?u?b?p?n?)a?A?"
64 ;; Syllables with an independent vowel
65 ("Vn?(J?HC)?m?u?b?p?n?a?A?"
68 ;; Combining marks are displayed with a DOTTED CIRCLE.
71 ((font-facility 0x25CC) < = 0x25CC >)
75 ((font-facility 0x25CC) < 0x25CC = >)
79 ((font-facility 0x25CC) < 0x25CC :otf=gur2=blwf,pstf+ >)
80 (".+" [ :otf=gur2=blwf,pstf+ ])))
86 ;; Basic shaping forms and matra reordering
90 ;; Explicit halant forms
91 (" ([CnHJ]+)(HN?a?A?) "
92 (1 :otf?gur2=locl,nukt,akhn,blwf,pstf+)
93 | (1 shaping) (2 = *) |)
97 (" ([CnHJV]+)(mn?)?(un?)?(bn?)?(pn?)?(a?A?) "
98 (1 :otf?gur2=locl,nukt,akhn,blwf,pstf+)
99 | (2 = *) (1 shaping) (4 = *) (3 = *) (5 = *) (6 = *) |)
106 ("([CnHJP]*[CV]n?)((J?PP)+)$"
107 (1 :otf=gur2=locl,nukt,akhn,blwf,cjct+) (2 :otf=gur2=pstf+))
109 (0 :otf=gur2=locl,nukt,akhn,blwf,cjct+))))
113 ;; Final reordering (Move pre-base matra after the last halant)
118 (" (mn?)([^ ]+HJ?)([^H ]+) "
119 | (2 = *) (1 = *) (3 = *) |)
125 ;; Nukta for matra and presentation forms
130 | (1 :otf=gur2=nukt,pres,abvs,blws,psts,haln,calt+) |)
151 (1 :otf=gur2=+kern,dist,abvm,blwm))
156 ;; Copyright (C) 2010
157 ;; National Institute of Advanced Industrial Science and Technology (AIST)
158 ;; Registration Number H15PRO112
160 ;; This file is part of the m17n database; a sub-part of the m17n
163 ;; The m17n library is free software; you can redistribute it and/or
164 ;; modify it under the terms of the GNU Lesser General Public License
165 ;; as published by the Free Software Foundation; either version 2.1 of
166 ;; the License, or (at your option) any later version.
168 ;; The m17n library is distributed in the hope that it will be useful,
169 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
170 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
171 ;; Lesser General Public License for more details.
173 ;; You should have received a copy of the GNU Lesser General Public
174 ;; License along with the m17n library; if not, write to the Free
175 ;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
176 ;; Boston, MA 02110-1301, USA.