;; HEBR-OTF.flt -- Font Layout Table for Hebrew OpenType fonts
;; Copyright (C) 2010 AIST (H15PRO112)
;; See the end for copying conditions.
(font layouter hebr-otf nil
(font (nil nil unicode-bmp :otf=hebr)))
;;;
HEBR-OTF.flt
;;;
;;; For Hebrew OpenType fonts to draw the Hebrew script.
(category
(0x0590 0x05FF ?X) ; generic
(0x0591 0x05AF ?m) ; cantillation marks
(0x05B0 0x05BB ?v) ; vowels
(0x05BC ?d) ; dagesh
(0x05BD ?P) ; meteg
(0x05BF ?p) ; rafe
(0x05C1 0x05C2 ?s) ; shin/sin dot
(0x05C4 0x05C5 ?p) ; upper/lower dot
(0x05C7 ?v) ; qamats qatan
(0x05D0 0x05EA ?C) ; consonants
(0x05E9 ?S) ; shin
(0x05F0 0x05F2 ?C) ; yiddish ligatures
(0xFB1D 0xFB4F ?X) ; generic
(0xFB1E ?p) ; judeo-spanish varika
(0x034F ?G) ; COMBINING GRAPHEME JOINER
(0x200C ?N) ; ZWNJ
(0x200D ?J) ; ZWJ
(0x25CC ?X) ; DOTTED CIRCLE
(mark ?M) ; OTF feature "mark" is applied.
(mkmk ?k) ; OTF feature "mkmk" is applied.
)
(generator
(0
(cond
("((s)|(d)|(p)|(v)|([mP]))+"
(2 =) (3 =) (4 =) (5 =) (6 =))
("." =))
*))
(generator
(0
(cond
;; Special case SHIN first: Allow the SHIN dots (?s).
("S[sdGJmPpv]+"
| < :otf=hebr > |)
;; The general case without the SHIN dots (?s).
("C[dGJmPpv]+"
< :otf=hebr >)
;; Put stand-alone diacritics on a DOTTED CIRCLE.
("[dmPpsv]+"
(cond
((font-facility 0x25CC) < 0x25CC = >)
("." [ = ])))
("." =))
*))
;; Special case for SHIN first (surrounded by the mnemonic " ").
(generator
(0
(cond
;; Precomposed.
(" ([^ ]) " (1 =))
;; Feature "mark" and/or "mkmk" are applied.
(" ([^ ]M[Mk]*) " (1 = =))
;; No OTF feature is applied. Hope the font metric is designed
;; properly so that drawing the combined marks first then the base
;; character yeilds correct result.
(" ([^ ])([^ ]+) " [ (2 = *) (1 =) ])
("." =))
*))
;; Copyright (C) 2010
;; 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: emacs-lisp
;; End: