1 ;; SINH-OTF.flt -- Font Layout Table for Sinhala OpenType fonts
2 ;; Copyright (C) 2004, 2005
3 ;; National Institute of Advanced Industrial Science and Technology (AIST)
4 ;; Registration Number H15PRO112
6 ;; This file is part of the m17n database; a sub-part of the m17n
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.
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.
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., 59 Temple Place, Suite 330, Boston, MA
26 ;;; For Sinhala OpenType fonts to draw Sinhala.
27 ;;; A Font is available from <http://sinhala.linux.lk/>.
30 ;; V : independent vowels
32 ;; H : AL-LAKUNA (virama)
37 ;; t : MATRA (two-part)
38 ;; a : AVUSVARAYA & VISARGAYA
41 ;; J : ZERO WIDTH JOINER
61 ;; Step 0 : Syllable identification
65 ;; A syllable ending with a two-part vowel sign.
67 < | (1 otf:sinh=akhn,vatu,pres) (3 two-part) (4 =) | >)
69 ;; A syllable ending with a vowel sign and/or a various sign.
70 ;; Note that a two-part vowel may be expressed with two vowel marks.
72 ("((CHJ)*C)([mbup]+a?|a)"
73 < | (1 otf:sinh=akhn,vatu,pres) (3 = *) | >)
77 < | otf:sinh=akhn,vatu,pres | >)
79 ;; Independent vowels.
86 ;; Split two-part dependent vowel signs for canonicalisation.
89 ((0x0DDA) 0x0DD9 0x0DFF)
90 ((0x0DDC) 0x0DD9 0x0DCF)
91 ((0x0DDD) 0x0DD9 0x0DCF 0x0DFF)
92 ((0x0DDE) 0x0DD9 0x0DDF)))
95 ;; Step 1 : Matra movements.
100 (" ([^ mbup]+)(m)?(b)?(u)?(p)?(h)?(a)? "
101 | (2 =) (1 = *) (3 =) (4 =) (5 =) (6 0x0DCA) (7 =) |)
105 ;; Step 2 : OTF substitutions.