187 lines
3.3 KiB
Plaintext
187 lines
3.3 KiB
Plaintext
;; SYRC-OTF.flt -- Font Layout Table for Syriac OpenType font
|
|
;; Copyright (C) 2004, 2007 AIST (H15PRO112)
|
|
;; See the end for copying conditions.
|
|
|
|
(font layouter syrc-otf nil
|
|
(font (nil nil unicode-bmp :otf=syrc)))
|
|
|
|
;;; <li> SYRC-OTF.flt
|
|
;;;
|
|
;;; For Syriac OpenType fonts to draw the Syriac script.
|
|
|
|
;; Step 1: Initial, medial, or final.
|
|
|
|
(category
|
|
;; D: Dual-joining
|
|
;; R: Right-joining
|
|
;; U: Non-joining
|
|
;; T: Transparent
|
|
;; A: ALAPH
|
|
;; r: DALATH, RISH, DOTLESS DALATH RISH
|
|
|
|
(0x0700 0x071F ?U)
|
|
(0x0710 ?A)
|
|
(0x0711 ?T)
|
|
(0x0712 0x072E ?D)
|
|
(0x0715 0x0716 ?r)
|
|
(0x0717 0x0719 ?R)
|
|
(0x071E ?R)
|
|
(0x0728 ?R)
|
|
(0x072A ?r)
|
|
(0x072C ?R)
|
|
(0x072F ?R)
|
|
(0x0730 0x074A ?T)
|
|
(0x074D ?R)
|
|
(0x074E 0x074F ?D)
|
|
|
|
(0x0303 ?T)
|
|
(0x0330 ?T)
|
|
(0x0304 ?T)
|
|
(0x0331 ?T)
|
|
(0x0307 ?T)
|
|
(0x0323 ?T)
|
|
(0x0308 ?T)
|
|
(0x030A ?T)
|
|
(0x0325 ?T)
|
|
(0x0324 ?T)
|
|
(0x032D ?T)
|
|
(0x032E ?T)
|
|
|
|
(0x064B 0x0655 ?T)
|
|
(0x0670 ?T)
|
|
|
|
(0x200C ?U)
|
|
(0x200D ?D)
|
|
)
|
|
|
|
(generator
|
|
(0
|
|
(cond
|
|
("(r)(T*)(.*)"
|
|
(1 otf:syrc=isol)
|
|
(2 = *)
|
|
(3 dalath-rish))
|
|
|
|
("(D)(T*)([DRAr].*)"
|
|
(1 otf:syrc=init)
|
|
(2 = *)
|
|
(3 join))
|
|
|
|
("(T+)(.*)"
|
|
(1 = *)
|
|
(2 disjoin))
|
|
|
|
("(.)(T*)(.*)"
|
|
(1 otf:syrc=isol)
|
|
(2 = *)
|
|
(3 disjoin))))
|
|
|
|
(join
|
|
(cond
|
|
("(r)(T*)(.*)"
|
|
(1 otf:syrc=fina)
|
|
(2 = *)
|
|
(3 dalath-rish))
|
|
|
|
("(D)(T*)([DRrA].*)"
|
|
(1 otf:syrc=medi)
|
|
(2 = *)
|
|
(3 join))
|
|
|
|
("(.)(T*)(.*)"
|
|
(1 otf:syrc=fina)
|
|
(2 = *)
|
|
(3 disjoin))))
|
|
|
|
(disjoin
|
|
(cond
|
|
("(D)(T*)([DRAr].*)"
|
|
(1 otf:syrc=init)
|
|
(2 = *)
|
|
(3 join))
|
|
|
|
("(r)(T*)(.*)"
|
|
(1 otf:syrc=isol)
|
|
(2 = *)
|
|
(3 dalath-rish))
|
|
|
|
("(A)(T*)([DRAr].*)"
|
|
(1 otf:syrc=med2)
|
|
(2 = *)
|
|
(3 disjoin))
|
|
|
|
("(A)(T*)(.*)"
|
|
(1 otf:syrc=fin2)
|
|
(2 = *)
|
|
(3 disjoin))
|
|
|
|
("(.)(T*)(.*)"
|
|
(1 otf:syrc=isol)
|
|
(2 = *)
|
|
(3 disjoin))))
|
|
|
|
(dalath-rish
|
|
(cond
|
|
("(D)(T*)([DRAr].*)"
|
|
(1 otf:syrc=init)
|
|
(2 = *)
|
|
(3 join))
|
|
|
|
("(r)(T*)(.*)"
|
|
(1 otf:syrc=isol)
|
|
(2 = *)
|
|
(3 dalath-rish))
|
|
|
|
("(A)(T*)([DRAr].*)"
|
|
(1 otf:syrc=med2)
|
|
(2 = *)
|
|
(3 disjoin))
|
|
|
|
("(A)(T*)(.*)"
|
|
(1 otf:syrc=fin3)
|
|
(2 = *)
|
|
(3 disjoin))
|
|
|
|
("(.)(T*)(.*)"
|
|
(1 otf:syrc=isol)
|
|
(2 = *)
|
|
(3 disjoin)))))
|
|
|
|
;; Step 2: Other GSUB features (ligatures, etc.)
|
|
|
|
(generator
|
|
(0
|
|
otf:syrc=rlig,calt,liga,dlig))
|
|
|
|
;; Step 3: GPOS features.
|
|
|
|
(generator
|
|
(0
|
|
otf:syrc=))
|
|
|
|
;; Copyright (C) 2004, 2007
|
|
;; National Institute of Advanced Industrial Science and Technology (AIST)
|
|
;; Registration Number H15PRO112
|
|
|
|
;; This file is part of the m17n database; a sub-part of the m17n
|
|
;; library.
|
|
|
|
;; The m17n library is free software; you can redistribute it and/or
|
|
;; modify it under the terms of the GNU Lesser General Public License
|
|
;; as published by the Free Software Foundation; either version 2.1 of
|
|
;; the License, or (at your option) any later version.
|
|
|
|
;; The m17n library is distributed in the hope that it will be useful,
|
|
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
;; Lesser General Public License for more details.
|
|
|
|
;; You should have received a copy of the GNU Lesser General Public
|
|
;; License along with the m17n library; if not, write to the Free
|
|
;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
;; Boston, MA 02110-1301, USA.
|
|
|
|
;; Local Variables:
|
|
;; mode: lisp
|
|
;; End:
|