From: handa Date: Sat, 10 Apr 2010 01:08:07 +0000 (+0000) Subject: Remove *.flt. X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=43995c6de39789454554a66dff86f75a5613092e;p=m17n%2Fm17n-db.git Remove *.flt. --- diff --git a/FLT/ARAB-OTF-NO-GPOS.flt b/FLT/ARAB-OTF-NO-GPOS.flt deleted file mode 100644 index c378138..0000000 --- a/FLT/ARAB-OTF-NO-GPOS.flt +++ /dev/null @@ -1,269 +0,0 @@ -;; ARAB-OTF-NO-GPOS.flt -- Font Layout Table for Arabic OpenType font sans GPOS -;; Copyright (C) 2005, 2006, 2007, 2008 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter arab-otf-no-gpos nil - (font (nil nil unicode-bmp :otf=arab=init,medi,fina,liga+~mark))) - -;;;
  • ARAB-OTF-NO-GPOS.flt -;;; -;;; For Arabic OpenType fonts that don't have GPOS table to draw the -;;; Arabic script. - -;; Step 0: Move Kazakh high hamza. - -(category - ;; p: high hamza carrier (p for positive) - ;; n: high hamza suppressor (n for negative) - ;; x: don't care - ;; X: presentation form - (0x0600 0x06FF ?x) - (0x0674 0x0678 ?p) - (0x0643 ?n) - (0x06AF ?n) - (0x06D5 ?n) - (0x0750 0x077F ?x) ; Arabic Supplement - (0x200C ?x) - (0x200D ?x) - (0x25CC ?x) - (0xFB50 0xFDFF ?X) ; Arabic Presentation Forms-A - (0xFE70 0xFEFC ?X) ; Arabic Presentation Forms-B - ) - -(generator - (0 - (cond - ;; If a presentation form is found, draw the whole sequence as is. - (".*X.*" = *) - - (".*p.*" ; If a high hamza is found, - (cond - (".*n.*" ; and a suppressor exists, - rmhamza *) ; then remove the high hamza. - (0 ; Otherwise, move the high - 0x674 rmhamza *))) ; hamza to the beginning. - (0 = *))) ; If no high hamza, do nothing. - - (rmhamza - (cond - ((0x0674) ) - ((0x0675) 0x0627) - ((0x0676) 0x0648) - ((0x0677) 0x06C7) - ((0x0678) 0x0649) - ("." =)))) - -;; Step 1: ccmp - -(category - ;; D: Dual-joining (beh, teh, etc. & zwj) - ;; R: Right-joining (alef, dal, thal, reh, zain) - ;; U: Non-joining (Hamza, etc. & zwnj) - ;; T: Transparent (combining marks) - (0x060B 0x060F ?U) - (0x0610 0x0615 ?T) - (0x061B ?U) - (0x061E 0x061F ?U) - (0x0621 ?U) - (0x0622 0x0623 ?R) - (0x0624 ?R) - (0x0625 ?R) - (0x0626 ?D) - (0x0627 ?R) - (0x0628 ?D) - (0x0629 ?R) - (0x062A 0x062E ?D) - (0x062F 0x0632 ?R) - (0x0633 0x0647 ?D) - (0x0648 ?R) - (0x0649 0x064A ?D) - (0x064B 0x065E ?T) - (0x0660 0x066D ?U) - (0x066E 0x066F ?D) - (0x0670 ?T) - (0x0671 0x0673 ?R) - (0x0674 0x0678 ?U) - (0x0679 0x0687 ?D) - (0x0688 0x0699 ?R) - (0x069A 0x06C3 ?D) - (0x06C4 0x06CB ?R) - (0x06CC 0x06CE ?D) - (0x06CF ?R) - (0x06D0 0x06D3 ?D) - (0x06D4 ?U) - (0x06D5 ?R) - (0x06D6 0x06E4 ?T) - (0x06E5 0x06E6 ?U) - (0x06E7 0x06E8 ?T) - (0x06E9 ?U) - (0x06EA 0x06ED ?T) - (0x06EE 0x06EF ?R) - (0x06F0 0x06F9 ?U) - (0x06FA 0x06FC ?D) - (0x06FD 0x06FE ?U) - (0x06FF ?D) - (0x0750 0x0758 ?D) - (0x0759 0x075B ?R) - (0x075C 0x076A ?D) - (0x076B 0x076C ?R) - (0x076D 0x0770 ?D) - (0x0771 ?R) - (0x0772 ?D) - (0x0773 0x0774 ?R) - (0x0775 0x0777 ?D) - (0x0778 0x0779 ?R) - (0x077A 0x077F ?D) - (0x200C ?U) - (0x200D ?D) - (0x25CC ?U) - (0xFB50 0xFDFF ?X) ; Arabic Presentation Forms-A - (0xFE70 0xFEFC ?X) ; Arabic Presentation Forms-B - ) - -;; (generator -;; (0 -;; otf:arab=ccmp)) - -;; Step 2: Initial, medial, or final. - -(generator - (0 - (cond - (".*X.*" (cond ("[DRUX]T*" < = * >) ("." =)) *) - - ("D.*" - (cond - ("(.)(T*)([DR].*)" - < - (1 otf:arab=init) - (2 = *) - > - (3 join)) - ("(.)(T*)(.*)" ; == (D)(T*)(U.*) - < - (1 otf:arab=isol) - (2 = *) - > - (3 disjoin)))) - - ("([RU])(T*)(.*)" - < - (1 otf:arab=isol) - (2 = *) - > - (3 disjoin)) - - ("(T+)(.*)" - (1 = *) - (2 disjoin)))) - - (join - (cond - ("D.*" - (cond - ("(.)(T*)([DR].*)" - < - (1 otf:arab=medi) - (2 = *) - > - (3 join)) - ("(.)(T*)(.*)" ; == (D)(T*)(U.*) - < - (1 otf:arab=fina) - (2 = *) - > - (3 disjoin)))) - - ("(.)(T*)(.*)" - < - (1 otf:arab=fina) - (2 = *) - > - (3 disjoin)))) - - (disjoin - (cond - ("D.*" - (cond - ("(.)(T*)([DR].*)" - < - (1 otf:arab=init) - (2 = *) - > - (3 join)) - ("(.)(T*)(.*)" ; == (D)(T*)(U.*) - < - (1 otf:arab=isol) - (2 = *) - > - (3 disjoin)))) - - ("(.)(T*)(.*)" ; == ([RU])(T*)(.*) - < - (1 otf:arab=isol) - (2 = *) - > - (3 disjoin))))) - -;; Step 3: GPOS features. - -(generator - (0 - (cond - ((0x0651 0x0650) tc+bc 0x064E tc+bc 0x0651) ; shadda + kasra - ((0x0651 0x064D) tc+bc 0x064B tc+bc 0x0651) ; shadda + kasratan - ((range 0x0610 0x0615) tc+bc =) - ((0x064B) tc+bc =) - ((0x064C) tc+bc =) - ((0x064D) bc-tc =) - ((0x064E) tc+bc =) - ((0x064F) tc+bc =) - ((0x0650) bc-tc =) - ((range 0x0651 0x0654) tc+bc =) - ((0x0655) bc-tc =) - ((0x0656) bc-tc =) - ((range 0x0657 0x065B) tc+bc =) - ((0x065C) bc-tc =) - ((0x065D) tc+bc =) - ((0x065E) tc+bc =) - ((0x0670) tc+bc =) - ((range 0x06D6 0x06DC) tc+bc =) - ((range 0x06DF 0x06E2) tc+bc =) - ((0x06E3) bc-tc =) - ((0x06E4) tc+bc =) - ((0x06E7) tc+bc =) - ((0x06E8) tc+bc =) - ((0x06EA) bc-tc =) - ((0x06EB) tc+bc =) - ((0x06EC) tc+bc =) - ((0x06ED) bc-tc =) - ((0x200C) =) - ((0x200D) =) - ("." =)) - *)) - -;; Copyright (C) 2005, 2006, 2007, 2008 -;; 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: diff --git a/FLT/ARAB-OTF.flt b/FLT/ARAB-OTF.flt deleted file mode 100644 index 2bc2c80..0000000 --- a/FLT/ARAB-OTF.flt +++ /dev/null @@ -1,237 +0,0 @@ -;; ARAB-OTF.flt -- Font Layout Table for Arabic OpenType font -;; Copyright (C) 2004, 2006, 2007, 2008 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter arab-otf nil - (font (nil nil unicode-bmp :otf=arab=init,medi,fina,liga+mark))) - -;;;
  • ARAB-OTF.flt -;;; -;;; For Arabic OpenType fonts to draw the Arabic script. - -;; Step 0: Move Kazakh high hamza. - -(category - ;; p: high hamza carrier (p for positive) - ;; n: high hamza suppressor (n for negative) - ;; x: don't care - ;; X: presentation form - (0x0600 0x06FF ?x) - (0x0674 0x0678 ?p) - (0x0643 ?n) - (0x06AF ?n) - (0x06D5 ?n) - (0x0750 0x077F ?x) ; Arabic Supplement - (0x200C ?x) - (0x200D ?x) - (0x25CC ?x) - (0xFB50 0xFDFF ?X) ; Arabic Presentation Forms-A - (0xFE70 0xFEFC ?X) ; Arabic Presentation Forms-B - ) - -(generator - (0 - (cond - ;; If a presentation form is found, draw the whole sequence as is. - (".*X.*" = *) - - (".*p.*" ; If a high hamza is found, - (cond - (".*n.*" ; and a suppressor exists, - rmhamza *) ; then remove the high hamza. - (0 ; Otherwise, move the high - 0x674 rmhamza *))) ; hamza to the beginning. - (0 = *))) ; If no high hamza, do nothing. - - (rmhamza - (cond - ((0x0674) ) - ((0x0675) 0x0627) - ((0x0676) 0x0648) - ((0x0677) 0x06C7) - ((0x0678) 0x0649) - ("." =)))) - -;; Step 1: ccmp - -(category - ;; D: Dual-joining (beh, teh, etc. & zwj) - ;; R: Right-joining (alef, dal, thal, reh, zain) - ;; U: Non-joining (Hamza, etc. & zwnj) - ;; T: Transparent (combining marks) - (0x060B 0x060F ?U) - (0x0610 0x0615 ?T) - (0x061B ?U) - (0x061E 0x061F ?U) - (0x0621 ?U) - (0x0622 0x0623 ?R) - (0x0624 ?R) - (0x0625 ?R) - (0x0626 ?D) - (0x0627 ?R) - (0x0628 ?D) - (0x0629 ?R) - (0x062A 0x062E ?D) - (0x062F 0x0632 ?R) - (0x0633 0x0647 ?D) - (0x0648 ?R) - (0x0649 0x064A ?D) - (0x064B 0x065E ?T) - (0x0660 0x066D ?U) - (0x066E 0x066F ?D) - (0x0670 ?T) - (0x0671 0x0673 ?R) - (0x0674 0x0678 ?U) - (0x0679 0x0687 ?D) - (0x0688 0x0699 ?R) - (0x069A 0x06C3 ?D) - (0x06C4 0x06CB ?R) - (0x06CC 0x06CE ?D) - (0x06CF ?R) - (0x06D0 0x06D3 ?D) - (0x06D4 ?U) - (0x06D5 ?R) - (0x06D6 0x06E4 ?T) - (0x06E5 0x06E6 ?U) - (0x06E7 0x06E8 ?T) - (0x06E9 ?U) - (0x06EA 0x06ED ?T) - (0x06EE 0x06EF ?R) - (0x06F0 0x06F9 ?U) - (0x06FA 0x06FC ?D) - (0x06FD 0x06FE ?U) - (0x06FF ?D) - (0x0750 0x0758 ?D) - (0x0759 0x075B ?R) - (0x075C 0x076A ?D) - (0x076B 0x076C ?R) - (0x076D 0x0770 ?D) - (0x0771 ?R) - (0x0772 ?D) - (0x0773 0x0774 ?R) - (0x0775 0x0777 ?D) - (0x0778 0x0779 ?R) - (0x077A 0x077F ?D) - (0x200C ?U) - (0x200D ?D) - (0x25CC ?U) - (0xFB50 0xFDFF ?X) ; Arabic Presentation Forms-A - (0xFE70 0xFEFC ?X) ; Arabic Presentation Forms-B - ) - -;; (generator -;; (0 -;; otf:arab=ccmp+)) - -;; Step 2: Initial, medial, or final. - -(generator - (0 - (cond - (".*X.*" (cond ("[DRUX]T*" < = * >) ("." =)) *) - - ("D.*" - (cond - ("(.)(T*)([DR].*)" - < - (1 otf:arab=init+) - (2 = *) - > - (3 join)) - ("(.)(T*)(.*)" ; == (D)(T*)(U.*) - < - (1 otf:arab=isol+) - (2 = *) - > - (3 disjoin)))) - - ("([RU])(T*)(.*)" - < - (1 otf:arab=isol+) - (2 = *) - > - (3 disjoin)) - - ("(T+)(.*)" - (1 = *) - (2 disjoin)))) - - (join - (cond - ("D.*" - (cond - ("(.)(T*)([DR].*)" - < - (1 otf:arab=medi+) - (2 = *) - > - (3 join)) - ("(.)(T*)(.*)" ; == (D)(T*)(U.*) - < - (1 otf:arab=fina+) - (2 = *) - > - (3 disjoin)))) - - ("(.)(T*)(.*)" - < - (1 otf:arab=fina+) - (2 = *) - > - (3 disjoin)))) - - (disjoin - (cond - ("D.*" - (cond - ("(.)(T*)([DR].*)" - < - (1 otf:arab=init+) - (2 = *) - > - (3 join)) - ("(.)(T*)(.*)" ; == (D)(T*)(U.*) - < - (1 otf:arab=isol+) - (2 = *) - > - (3 disjoin)))) - - ("(.)(T*)(.*)" ; == ([RU])(T*)(.*) - < - (1 otf:arab=isol+) - (2 = *) - > - (3 disjoin))))) - -;; Step 3: Other OTF features. - -(generator - (0 - otf:arab=rlig,calt,liga,dlig,cswh,mset+curs,kern,mark,mkmk)) - -;; Copyright (C) 2004, 2006, 2007, 2008 -;; 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., 59 Temple Place, Suite 330, Boston, MA -;; 02111-1307, USA. - -;; Local Variables: -;; mode: lisp -;; End: diff --git a/FLT/ARAB.flt b/FLT/ARAB.flt deleted file mode 100644 index 0fc3fb9..0000000 --- a/FLT/ARAB.flt +++ /dev/null @@ -1,561 +0,0 @@ -;; ARAB.flt -- Font Layout Table for Arabic font (Unicode encoding) -;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter arab nil - (font (nil bitstream\ cyberbase unicode-bmp))) - -;;;
  • ARAB.flt -;;; -;;; For Arabic fonts of Unicode encoding to draw Arabic script. - -;; phase 1: Kazakh high hamza -(category - (0x0600 0x06FF ?x) - (0x0675 0x0678 ?p) - (0x0643 ?n) - (0x06AF ?n) - (0x06D5 ?n) - (0x200C ?x) - (0x200D ?x) - (0xFB50 0xFDFF ?x) ; Arabic Presentation Forms-A - (0xFE70 0xFEFC ?x) ; Arabic Presentation Forms-B - ) - -(generator - (0 - (cond - (".*p.*" - (cond - (".*n.*" - rmhamza *) - ("(.)(.*)" - (1 < 0x0674 rmhamza >) - (2 rmhamza *)))) - (0 = *))) - - (rmhamza - (cond - ((0x0675) 0x0627) - ((0x0676) 0x0648) - ((0x0677) 0x06C7) - ((0x0678) 0x0649) - ("." =)))) - -;; phase 2: ligatures -(category - (0x0600 0x06FF ?x) ; general - (0x0622 ?a) ; alef madda - (0x0623 ?b) ; alef hamza above - (0x0625 ?c) ; alef hamza below - (0x0627 ?d) ; alef - (0x0644 ?l) ; lam - (0x064B 0x0655 ?t) ; combinings - (0x0670 ?t) ; combining - (0x06D6 0x06ED ?t) ; combinings - (0x06E5 ?x) - (0x06E6 ?x) - (0x06E9 ?x) - (0x200C ?x) - (0x200D ?x) - (0xFB50 0xFDFF ?x) - (0xFE70 0xFEFC ?x) - ) - -(generator - (0 - (cond - ("l(t*)a(t*)" - 0xFEF5 - (1 = *) - (2 = *)) - ("l(t*)b(t*)" - 0xFEF7 - (1 = *) - (2 = *)) - ("l(t*)c(t*)" - 0xFEF9 - (1 = *) - (2 = *)) - ("l(t*)d(t*)" - 0xFEFB - (1 = *) - (2 = *)) - ("." - =)) - *)) - -;; phase 3: joining -(category - ;; D: Dual-joining (beh, teh, etc. & zwj) - ;; R: Right-joining (alef, dal, thal, reh, zain) - ;; U: Non-joining (Hamza, etc. & zwnj) - ;; T: Transparent (combining marks) - ;; P: Already in Arabic Presentation Form A & B - (0x060C 0x060F ?U) - (0x0610 0x0615 ?T) - (0x061B ?U) - (0x061F ?U) - (0x0621 ?U) - (0x0622 0x0623 ?R) - (0x0624 ?R) - (0x0625 ?R) - (0x0626 ?D) - (0x0627 ?R) - (0x0628 ?D) - (0x0629 ?R) - (0x062A 0x062E ?D) - (0x062F 0x0632 ?R) - (0x0633 0x0647 ?D) - (0x0648 ?R) - (0x0649 0x064A ?D) - (0x064B 0x0658 ?T) - (0x0660 0x066D ?U) - (0x066E 0x066F ?D) - (0x0670 ?T) - (0x0671 0x0673 ?R) - (0x0674 0x0678 ?U) - (0x0679 0x0687 ?D) - (0x0688 0x0699 ?R) - (0x069A 0x06C3 ?D) - (0x06C4 0x06CB ?R) - (0x06CC 0x06CE ?D) - (0x06CF ?R) - (0x06D0 0x06D3 ?D) - (0x06D4 ?U) - (0x06D5 ?R) - (0x06D6 0x06E4 ?T) - (0x06E5 0x06E6 ?U) - (0x06E7 0x06E8 ?T) - (0x06E9 ?U) - (0x06EA 0x06ED ?T) - (0x06EE 0x06EF ?R) - (0x06F0 0x06F9 ?U) - (0x06FA 0x06FC ?D) - (0x06FD 0x06FE ?U) - (0x06FF ?D) - (0xFB50 0xFDFF ?P) - (0xFE70 0xFEFC ?P) - (0xFEF5 ?R) - (0xFEF7 ?R) - (0xFEF9 ?R) - (0xFEFB ?R) - (0x200C ?U) - (0x200D ?D) - ) - -(generator - (0 - (cond - ("PT*" - = combining *) - - ("D[^P]*" - (cond - ("(.)(T*)([DR].*)" - (1 initial) - (2 combining *) - (3 join)) - ("(.)(T*)(.*)" ; == (D)(T*)(U.*) - (1 isolated) - (2 combining *) - (3 disjoin)))) - - ("([RU])(T*)([^P]*)" - (1 isolated) - (2 combining *) - (3 disjoin)) - - ("(T+)([^P]*)" - (1 = *) - (2 disjoin))) - - *) - - (join - (cond - ("D.*" - (cond - ("(.)(T*)([DR].*)" - (1 medial) - (2 combining *) - (3 join)) - ("(.)(T*)(.*)" ; == (D)(T*)(U.*) - (1 final) - (2 combining *) - (3 disjoin)))) - - ("(.)(T*)(.*)" ; == (R)(T*)(.*) - (1 final) - (2 combining *) - (3 disjoin)))) - - (disjoin - (cond - ("D.*" - (cond - ("(.)(T*)([DR].*)" - (1 initial) - (2 combining *) - (3 join)) - ("(.)(T*)(.*)" ; == (D)(T*)(U.*) - (1 isolated) - (2 combining *) - (3 disjoin)))) - - ("(.)(T*)(.*)" ; == ([RU])(T*)(.*) - (1 isolated) - (2 combining *) - (3 disjoin)))) - - (isolated - (cond - ((range 0x060C 0x060F) =) - ((0x061B) =) - ((0x061F) =) - ((0x0621) 0xFE80) - ((0x0622) 0xFE81) - ((0x0623) 0xFE83) - ((0x0624) 0xFE85) - ((0x0625) 0xFE87) - ((0x0626) 0xFE89) - ((0x0627) 0xFE8D) - ((0x0628) 0xFE8F) - ((0x0629) 0xFE93) - ((0x062A) 0xFE95) - ((0x062B) 0xFE99) - ((0x062C) 0xFE9D) - ((0x062D) 0xFEA1) - ((0x062E) 0xFEA5) - ((0x062F) 0xFEA9) - ((0x0630) 0xFEAB) - ((0x0631) 0xFEAD) - ((0x0632) 0xFEAF) - ((0x0633) 0xFEB1) - ((0x0634) 0xFEB5) - ((0x0635) 0xFEB9) - ((0x0636) 0xFEBD) - ((0x0637) 0xFEC1) - ((0x0638) 0xFEC5) - ((0x0639) 0xFEC9) - ((0x0640) 0x0640) - ((0x063A) 0xFECD) - ((0x0641) 0xFED1) - ((0x0642) 0xFED5) - ((0x0643) 0xFED9) - ((0x0644) 0xFEDD) - ((0x0645) 0xFEE1) - ((0x0646) 0xFEE5) - ((0x0647) 0xFEE9) - ((0x0648) 0xFEED) - ((0x0649) 0xFEEF) - ((0x064A) 0xFEF1) - ((range 0x0660 0x066D) =) - ((0x0671) 0xFB50) - ((0x0674) =) - ((0x0677) 0xFBDD) - ((0x0679) 0xFB66) - ((0x067A) 0xFB5E) - ((0x067B) 0xFB52) - ((0x067E) 0xFB56) - ((0x067F) 0xFB62) - ((0x0680) 0xFB5A) - ((0x0683) 0xFB76) - ((0x0684) 0xFB72) - ((0x0686) 0xFB7A) - ((0x0687) 0xFB7E) - ((0x0688) 0xFB88) - ((0x068C) 0xFB84) - ((0x068D) 0xFB82) - ((0x068E) 0xFB86) - ((0x0691) 0xFB8C) - ((0x0698) 0xFB8A) - ((0x06A4) 0xFB6A) - ((0x06A6) 0xFB6E) - ((0x06A9) 0xFB8E) - ((0x06AD) 0xFBD3) - ((0x06AF) 0xFB92) - ((0x06B1) 0xFB9A) - ((0x06B3) 0xFB96) - ((0x06BA) 0xFB9E) - ((0x06BB) 0xFBA0) - ((0x06BE) 0xFBAA) - ((0x06C0) 0xFBA4) - ((0x06C1) 0xFBA6) - ((0x06C5) 0xFBE0) - ((0x06C6) 0xFBD9) - ((0x06C7) 0xFBD7) - ((0x06C8) 0xFBDB) - ((0x06C9) 0xFBE2) - ((0x06CB) 0xFBDE) - ((0x06CC) 0xFBFC) - ((0x06D0) 0xFBE4) - ((0x06D2) 0xFBAE) - ((0x06D3) 0xFBB0) - ((0x06D4) =) - ((0x06D5) 0xFEE9) - ((0x06E5) =) - ((0x06E6) =) - ((0x06E9) =) - ((range 0x06F0 0x06F9) =) - ((0x06FD) =) - ((0x06FE) =) - ((0xFEF5) =) - ((0xFEF7) =) - ((0xFEF9) =) - ((0xFEFB) =) - ((0x200C) =) - ((0x200D) =) - )) - - (final - (cond - ((0x0622) 0xFE82) - ((0x0623) 0xFE84) - ((0x0624) 0xFE86) - ((0x0625) 0xFE88) - ((0x0626) 0xFE8A) - ((0x0627) 0xFE8E) - ((0x0628) 0xFE90) - ((0x0629) 0xFE94) - ((0x062A) 0xFE96) - ((0x062B) 0xFE9A) - ((0x062C) 0xFE9E) - ((0x062D) 0xFEA2) - ((0x062E) 0xFEA6) - ((0x062F) 0xFEAA) - ((0x0630) 0xFEAC) - ((0x0631) 0xFEAE) - ((0x0632) 0xFEB0) - ((0x0633) 0xFEB2) - ((0x0634) 0xFEB6) - ((0x0635) 0xFEBA) - ((0x0636) 0xFEBE) - ((0x0637) 0xFEC2) - ((0x0638) 0xFEC6) - ((0x0639) 0xFECA) - ((0x0640) 0x0640) - ((0x063A) 0xFECE) - ((0x0641) 0xFED2) - ((0x0642) 0xFED6) - ((0x0643) 0xFEDA) - ((0x0644) 0xFEDE) - ((0x0645) 0xFEE2) - ((0x0646) 0xFEE6) - ((0x0647) 0xFEEA) - ((0x0648) 0xFEEE) - ((0x0649) 0xFEF0) - ((0x064A) 0xFEF2) - ((0x0671) 0xFB51) - ((0x0679) 0xFB67) - ((0x067A) 0xFB5F) - ((0x067B) 0xFB52) - ((0x067E) 0xFB57) - ((0x067F) 0xFB63) - ((0x0680) 0xFB5B) - ((0x0683) 0xFB77) - ((0x0684) 0xFB73) - ((0x0686) 0xFB7B) - ((0x0687) 0xFB7F) - ((0x0688) 0xFB89) - ((0x068C) 0xFB85) - ((0x068D) 0xFB83) - ((0x068E) 0xFB87) - ((0x0691) 0xFB8D) - ((0x0698) 0xFB8B) - ((0x06A4) 0xFB6B) - ((0x06A6) 0xFB6F) - ((0x06A9) 0xFB8F) - ((0x06AD) 0xFBD4) - ((0x06AF) 0xFB93) - ((0x06B1) 0xFB9B) - ((0x06B3) 0xFB97) - ((0x06BA) 0xFB9F) - ((0x06BB) 0xFBA1) - ((0x06BE) 0xFBAB) - ((0x06C0) 0xFBA5) - ((0x06C1) 0xFBA7) - ((0x06C5) 0xFBE1) - ((0x06C6) 0xFBDA) - ((0x06C7) 0xFBD8) - ((0x06C8) 0xFBDC) - ((0x06C9) 0xFBE3) - ((0x06CB) 0xFBDF) - ((0x06CC) 0xFBFD) - ((0x06D0) 0xFBE5) - ((0x06D2) 0xFBAF) - ((0x06D3) 0xFBB1) - ((0x06D5) 0xFEEA) - ((0xFEF5) 0xFEF6) - ((0xFEF7) 0xFEF8) - ((0xFEF9) 0xFEFA) - ((0xFEFB) 0xFEFC) - ((0x200C) =) - ((0x200D) =) - )) - - (initial - (cond - ((0x0626) 0xFE8B) - ((0x0628) 0xFE91) - ((0x062A) 0xFE97) - ((0x062B) 0xFE9B) - ((0x062C) 0xFE9F) - ((0x062D) 0xFEA3) - ((0x062E) 0xFEA7) - ((0x0633) 0xFEB3) - ((0x0634) 0xFEB7) - ((0x0635) 0xFEBB) - ((0x0636) 0xFEBF) - ((0x0637) 0xFEC3) - ((0x0638) 0xFEC7) - ((0x0639) 0xFECB) - ((0x0640) 0x0640) - ((0x063A) 0xFECF) - ((0x0641) 0xFED3) - ((0x0642) 0xFED7) - ((0x0643) 0xFEDB) - ((0x0644) 0xFEDF) - ((0x0645) 0xFEE3) - ((0x0646) 0xFEE7) - ((0x0647) 0xFEEB) - ((0x0649) 0xFBE8) - ((0x064A) 0xFEF3) - ((0x0679) 0xFB68) - ((0x067A) 0xFB60) - ((0x067B) 0xFB54) - ((0x067E) 0xFB58) - ((0x067F) 0xFB64) - ((0x0680) 0xFB5C) - ((0x0683) 0xFB78) - ((0x0684) 0xFB74) - ((0x0686) 0xFB7C) - ((0x0687) 0xFB80) - ((0x06A4) 0xFB6C) - ((0x06A6) 0xFB70) - ((0x06A9) 0xFB90) - ((0x06AD) 0xFBD5) - ((0x06AF) 0xFB94) - ((0x06B1) 0xFB9C) - ((0x06B3) 0xFB98) - ((0x06BA) 0xFEE7) - ((0x06BB) 0xFBA2) - ((0x06BE) 0xFBAC) - ((0x06C1) 0xFBA8) - ((0x06CC) 0xFBFE) - ((0x06D0) 0xFBE6) - ((0x200C) =) - ((0x200D) =) - )) - - (medial - (cond - ((0x0626) 0xFE8C) - ((0x0628) 0xFE92) - ((0x062A) 0xFE98) - ((0x062B) 0xFE9C) - ((0x062C) 0xFEA0) - ((0x062D) 0xFEA4) - ((0x062E) 0xFEA8) - ((0x0633) 0xFEB4) - ((0x0634) 0xFEB8) - ((0x0635) 0xFEBC) - ((0x0636) 0xFEC0) - ((0x0637) 0xFEC4) - ((0x0638) 0xFEC8) - ((0x0639) 0xFECC) - ((0x0640) 0x0640) - ((0x063A) 0xFED0) - ((0x0641) 0xFED4) - ((0x0642) 0xFED8) - ((0x0643) 0xFEDC) - ((0x0644) 0xFEE0) - ((0x0645) 0xFEE4) - ((0x0646) 0xFEE8) - ((0x0647) 0xFEEC) - ((0x0649) 0xFBE9) - ((0x064A) 0xFEF4) - ((0x0679) 0xFB69) - ((0x067A) 0xFB61) - ((0x067B) 0xFB55) - ((0x067E) 0xFB59) - ((0x067F) 0xFB65) - ((0x0680) 0xFB5D) - ((0x0683) 0xFB79) - ((0x0684) 0xFB75) - ((0x0686) 0xFB7D) - ((0x0687) 0xFB81) - ((0x06A4) 0xFB6D) - ((0x06A6) 0xFB71) - ((0x06A9) 0xFB91) - ((0x06AD) 0xFBD6) - ((0x06AF) 0xFB95) - ((0x06B1) 0xFB9D) - ((0x06B3) 0xFB99) - ((0x06BA) 0xFEE8) - ((0x06BB) 0xFBA3) - ((0x06BE) 0xFBAD) - ((0x06C1) 0xFBA9) - ((0x06CC) 0xFBFF) - ((0x06D0) 0xFBE7) - ((0x200C) =) - ((0x200D) =) - )) - - (combining - (cond - ((0x0651 0x0650) tc+bc 0x064E tc+bc 0x0651) ; shadda + kasra - ((0x0651 0x064D) tc+bc 0x064B tc+bc 0x0651) ; shadda + kasratan - ((range 0x0610 0x0615) tc+bc =) - ((0x064B) tc+bc =) - ((0x064C) tc+bc =) - ((0x064D) bc-tc =) - ((0x064E) tc+bc =) - ((0x064F) tc+bc =) - ((0x0650) bc-tc =) - ((range 0x0651 0x0654) tc+bc =) - ((0x0655) bc-tc =) - ((0x0656) bc-tc =) - ((0x0657) tc+bc =) - ((0x0658) tc+bc =) - ((0x0670) tc+bc =) - ((range 0x06D6 0x06DC) tc+bc =) - ((range 0x06DF 0x06E2) tc+bc =) - ((0x06E3) bc-tc =) - ((0x06E4) tc+bc =) - ((0x06E7) tc+bc =) - ((0x06E8) tc+bc =) - ((0x06EA) bc-tc =) - ((0x06EB) tc+bc =) - ((0x06EC) tc+bc =) - ((0x06ED) bc-tc =) - ((0x200C) =) - ((0x200D) =) - )) - ) - -;; Copyright (C) 2003, 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: diff --git a/FLT/BENG-OTF.flt b/FLT/BENG-OTF.flt deleted file mode 100644 index 627c9ce..0000000 --- a/FLT/BENG-OTF.flt +++ /dev/null @@ -1,212 +0,0 @@ -;; BENG-OTF.flt -- Font Layout Table for Bengali OpenType font -;; Copyright (C) 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter beng-otf nil - (font (nil nil unicode-bmp :otf=beng=rphf))) - -;;;
  • BENG-OTF.flt -;;; -;;; For Bengali OpenType fonts to draw the Bengali script. - -(category - ;; X: generic - ;; V: independent vowel - ;; C: consonant (except for R, B and Y) - ;; R: consonant RA - ;; B: consonant BA - ;; Y: consonant YA - ;; T: KHANDA TA - ;; n: NUKTA - ;; H: HALANT - ;; m: vowel sign (pre) - ;; b: vowel sign (below) - ;; p: vowel sign (post) - ;; A: vowel modifier (above) - ;; a: vowel modifier (post) - ;; Z: internal use - ;; N: ZWNJ (ZERO WIDTH NON-JOINER) - ;; J: ZWJ (ZERO WIDTH JOINER) - (0x0980 0x09FF ?X) ; generic - (0x0980 ?Z) ; internal use - (0x0981 ?A) ; SIGN CANDRABINDU - (0x0982 0x0983 ?a) ; SIGN ANUSVARA .. VISARGA - (0x0985 0x0994 ?V) ; LETTER A .. AU - (0x0995 0x09B9 ?C) ; LETTER KA .. HA - (0x09AC ?B) ; LETTER BA - (0x09AF ?Y) ; LETTER YA - (0x09B0 ?R) ; LETTER RA - (0x09BC ?n) ; SIGN NUKTA - (0x09BE ?p) ; VOWEL SIGN AA - (0x09BF ?m) ; VOWEL SIGN I - (0x09C0 ?p) ; VOWEL SIGN II - (0x09C1 0x09C4 ?b) ; VOWEL SIGN U .. RR - (0x09C7 0x09C8 ?m) ; VOWEL SIGN E .. AI - (0x09CD ?H) ; SIGN VIRAMA - (0x09CE ?T) ; LETTER KHANDA TA - (0x09D7 ?p) ; AU LENGTH MARK - (0x09DC 0x09DF ?C) ; LETTER RRA .. YYA - (0x09E0 0x09E1 ?V) ; LETTER VOCALIC RR, LL - (0x09E2 0x09E3 ?b) ; VOWEL SIGN L .. LL - (0x09F0 0x09F1 ?C) ; LETTER RR WITH MIDDLE/LOWER DIAGONAL - (0x0964 0x0965 ?X) ; DANDA .. DOUBLE DANDA - (0x200C ?N) ; ZWNJ - (0x200D ?J) ; ZWJ - ) - -;; Preprocessing -(generator - (0 - (cond - ;; Decompose two-part vowel signs. - ((0x09CB) - 0x09C7 0x09BE) - ((0x09CC) - 0x09C7 0x09D7) - ;; TA + HALANT + ZWJ -> KHANDA-TA - ((0x09A4 0x09CD 0x200D) - 0x09CE) - ;; consonant + NUKTA - ((0x09A1 0x09BC) - 0x09DC) - ((0x09A2 0x09BC) - 0x09DD) - ((0x09AF 0x09BC) - 0x09DF) - ("." =)) - *)) - -;; Syllable identification and reordering. -(generator - (0 - (cond - ;; Khanda-Ta - ("(RH)?(T)" - < | (2 =) (1 otf:beng=rphf+) | >) - - ;; A syllable with a pre-base vowel sign. - ;;1 2 3 4 5 6 7 8 9 - ("(RH)?([CRBY]n?(HCn?)*(H[RB])?(J?HY)?)(m)(p)?(A)?(a)?" - < | (6 =) (2 pre-below) (1 otf:beng=rphf+) (8 =) (2 post) (7 =) (9 =) | >) - - ;; A syllable with a non-pre-base vowel sign. - ;;1 2 3 4 5 6 78 9 10 11 - ("(RH)?([CRBY]n?(HCn?)*(H[RB])?(J?HY)?)(N)?J?((b)|(p))(A)?(a)?" - < | (6 =) (2 pre-below) (8 =) (1 otf:beng=rphf+) (10 =) - (2 post) (9 =) (11 =) | >) - - ;; A syllable with a vowel modifier and no vowel signs. - ;;1 2 3 4 5 67 8 - ("(RH)?([CRBY]n?(HCn?)*(H[RB])?(J?HY)?)((A)|(a))" - < | (2 pre-below) (1 otf:beng=rphf+) (7 =) (2 post) (8 =) | >) - - ;; A syllable ending with a halant. - ;;1 2 3 4 5 6 - ("(RH)?([CRBY]n?(HCn?)*(H[RB])?(J?HY)?)(HN?)?" - < | (2 pre-below) (6 =) (1 otf:beng=rphf+) (2 post) | >) - - ;; A syllable starting with an independent vowel. - ;;1 2 3 4 5 6 - ("(V)(J?(H)(Y)(p))?(A?a?)" - < | (1 =) 0x0980 (4 =) (3 =) (5 =) (6 = *) | >) - - ("." =)) - *) - - ;; Move a halant after the base consonant to the end. - ;; Put a special mark after the final belew-base consonant. - ;; Remove post-base parts. - (pre-below - (cond - ("(.+)(H)([RB])(J?HY)?$" - (1 = *) (3 =) (2 =) 0x0980) - ("([^J]+)J?HY$" - (1 = *) 0x0980) - (".+" - = * 0x0980))) - - ;; Extract post-base parts and add a halant at the end. - ;; Produce nothing if there are no post-base parts. - (post - (cond - (".*(H)(Y)$" - (2 =) (1 =))))) - -;; Apply 'nukt' and 'akhn'. -(generator - (0 - (cond - (" ([^Z]+)(Z[^ ]*) " - | (1 otf:beng=nukt,akhn+) (2 = *) |) - ("." =)) - *)) - -;; Apply 'blwf' and 'pstf' to the concerning parts. -(generator - (0 - (cond - (" (N?m?.)([^Z]*)(Z)([^ ]*) " - | (1 = *) (2 otf:beng=blwf+) (3 =) (4 otf:beng=pstf+) |) - ("." =)) - *)) - -;; Get pre-base and below-base conjuncts. -(generator - (0 - (cond - (" (N?m?)([^Z]+)(Z)([^ ]*) " - | (1 = *) (2 otf:beng=half,vatu,pres,blws+) (3 =) (4 = *) |) - ("." =)) - *)) - -;; When the number of glyphs between a pre-base vowel sign and the -;; post-below mark is more than one, move the pre-base vowel sign -;; before the final glyph. -(generator - (0 - (cond - (" (N)?(m)([^Z]+)([^Z])Z([^ ]*) " - | (1 =) (3 = *) (2 =) (4 =) (5 = *) |) - (" ([^Z]+)Z([^ ]*) " - | (1 = *) (2 = *) |) - ("." =)) - *)) - -;; Get matra conjuncts. -;; Do not apply 'blws' to syllables that begins with ZWNJ. -(generator - (0 - (cond - (" N([^ ]+) " - (1 otf:beng=init,pres,abvs,psts,haln+abvm,blwm,dist)) - (" ([^ ]+) " - (1 otf:beng=init,pres,abvs,blws,psts,haln+abvm,blwm,dist)) - ("." - [ = ])) - *)) - -;; 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: emacs-lisp -;; End: diff --git a/FLT/CHAM-GENERIC.flt b/FLT/CHAM-GENERIC.flt deleted file mode 100644 index 3bf44cd..0000000 --- a/FLT/CHAM-GENERIC.flt +++ /dev/null @@ -1,69 +0,0 @@ -;; CHAM-GENERIC.flt -- Font Layout Table for Cham (proportional font) -;; Copyright (C) 2008 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter cham-generic nil - (font (nil nil unicode-bmp :script=cham))) - -;;;
  • CHAM-GENERIC.flt -;;; -;;; For the Cham proportional fonts to draw Cham script. - -(category - (0xAA00 0xAA5F ?E) ;; E: anyting else (independent) - (0xAA00 ?A) ;; A: independent vowel A - (0xAA01 0xAA05 ?I) ;; I: independent vowel (except for A) - (0xAA06 0xAA28 ?C) ;; C: consonant normal - (0xAA29 ?L) ;; L: vowel lengthener - (0xAA2A 0xAA32 ?V) ;; V: dependent vowel (postfix) - (0xAA2F 0xAA30 ?v) ;; v: dependent vowel (prefix) - (0xAA33 0xAA36 ?M) ;; M: medial consonant (postfix) - (0xAA34 ?m) ;; m: medial consonant (prefix) - (0xAA40 0xAA4D ?F) ;; F: consonant sign final (independent) - (0xAA43 ?f) ;; f: consonant sign final (dependent) - (0xAA4C ?f)) - -(generator - (0 - (cond - ("([IA])(v?)(V?L?)([fF]?)" - | < (2 =) (1 =) (3 = *) > (4 =) |) - ("([CA])(m?)(M?M?)(v?)(V?L?)([fF]?)" - | < (4 = ) (2 =) (1 =) (3 = *) (5 = *) > (6 =) |) - ("." - [ = ])) - *)) - -(generator - (0 - (cond - (" (.*f) " < (1 = *) >) - (" (.*) " (1 = *)) - ("." =)) - *)) - -;; Copyright (C) 2008 -;; 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: diff --git a/FLT/COMBINING.flt b/FLT/COMBINING.flt deleted file mode 100644 index 5cae84c..0000000 --- a/FLT/COMBINING.flt +++ /dev/null @@ -1,72 +0,0 @@ -;; COMBINING.flt -- Font Layout Table for combining diacritical marks -;; Copyright (C) 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter combining nil) - -;;;
  • COMBINING.flt -;;; -;;; For combining diacritical marsk (U+0300..U+036F). - -(category - ;; The contents is build up by the m17n-lib. - ) - -(generator - (0 - (cond - ("(u)([a-t]+)" - (cond - ((font-facility :otf=DFLT+mark) < :otf=DFLT+mark,mkmk >) - (".*" - < = ; combining class - (cond ("a" Bc.Bc =) ; < 200 - ("b" bl.tc =) ; 200 - ("c" bc.tc =) ; 202 - ("d" br.tc =) ; 204 - ("e" Bl.Br =) ; 208 - ("f" Br.Bl =) ; 210 - ("g" tl.bc =) ; 212 - ("h" tc.bc =) ; 214 - ("i" tr.bc =) ; 216 - ("j" bl.tc =) ; 218 - ("k" bc-tc =) ; 220 - ("l" br-tc =) ; 222 - ("m" Bl.Br =) ; 224 - ("n" Br.Bl =) ; 226 - ("o" tl+bc =) ; 228 - ("p" tc+bc =) ; 230 - ("q" tr+bc =) ; 232 - ("r" br-tr =) ; 233 - ("s" tr+br =) ; 234 - ("t" bc-tc =)) ; 240 - * >))) - ("[a-t]" [ = ]) - ("." =)) - *)) - -;; Copyright (C) 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: emacs-lisp -;; End: diff --git a/FLT/DEVA-CDAC.flt b/FLT/DEVA-CDAC.flt deleted file mode 100644 index c17d699..0000000 --- a/FLT/DEVA-CDAC.flt +++ /dev/null @@ -1,443 +0,0 @@ -;; DEVA-CDAC.flt -- Font Layout Table for Devanagari (C-DAC font) -;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter deve-cdac nil - (font (nil dv-ttyogesh apple-roman))) - -;;;
  • DEVA-CDAC.flt -;;; -;;; For the font DVYG0ntt.ttf (developed by C-DAC, encoding is ISFOC) -;;; to draw Devanagari script. The font is available at: -;;; - -(category - ;; A: ANUSVARA or CANDRABINDU - ;; C: CONSONANT (except for R) - ;; R: LETTER RA - ;; V: VOWEL INDEPENDENT - ;; N: NUKTA - ;; H: HALANT - ;; M: MATRA (VOWEL DEPENDENT, except for I) - ;; I: VOWEL SIGN I - ;; S: STRESS or TONE - ;; E: ELSE - (0x0900 ?E) - (0x0901 0x0902 ?A) ; CANDRABINDU and ANUSVARA - (0x0903 ?E) ; SIGN VISARGA - (0x0905 0x0914 ?V) ; A .. AU - (0x0915 0x0939 ?C) ; KA .. HA - (0x0930 ?R) ; RA - (0x093C ?N) ; NUKTA - (0x093D ?E) ; AVAGRAHA - (0x093E 0x094C ?M) ; VOWEL SIGN AA .. AU - (0x093F ?I) ; VOWEL SIGN I - (0x094D ?H) ; SIGN VIRAMA (HARANT) - (0x0950 ?E) ; OM - (0x0951 0x954 ?S) ; UDATTA .. ACUTE - (0x0958 0x095E ?C) ; LETTER QA .. YYA - (0x0960 0x0961 ?V) ; LETTER VOCALIC RR and LL - (0x0962 0x0963 ?M) ; VOWEL SIGN VOCALIC L and LL - (0x0964 0x0970 ?E) ; DANDA .. ABBREVIATION SIGN - ) - -(generator - (0 - (cond - ("VA?S?" - < | vowel * | >) - ("([RC]H)*[RC](H|[IM]?A?S?)?" - < | - (cond - ("RH.*" ;; with preceding RA HARANT - (cond - ("(RH)([^I]*)(I)(A?S?)" ; with I - (3 vowel-sign-I) - (2 consonant *) - (1 preceding-r) - (4 post-modifier)) - ("(RH)([^M]*)(M)(A?S?)" ; with M - (2 consonant *) - (3 matra) - (1 preceding-r) - (4 post-modifier)) - ("(RH)(.*)(H)$" ; with last HARANT - (2 consonant *) - (1 preceding-r) - (3 harant)) - ("(RH)([^AS]*)(.*)" ; otherwise - (2 consonant *) - (1 preceding-r) - (3 post-modifier)))) - ;; without preceding RA HARANT - ("([^I]*)(I)(A?S?)" ; with I - (2 vowel-sign-I) - (1 consonant *) - (3 post-modifier)) - ("([^M]*)(M)(A?S?)" ; with M - (1 consonant *) - (2 matra) - (3 post-modifier)) - ("(.*)(H)$" ; with last HARANT - (1 consonant *) - (2 harant)) - ("([^AS]*)(.*)" ; otherwise - (1 consonant *) - (3 post-modifier)) - (".*" - consonant *)) - | > ) - ("." - independent)) - *) - - (vowel - (cond - ((0x0905) 0x2B) - ((0x0906) 0x2B 0xC9) - ((0x0907) 0x3C) - ((0x0908 0x0901) 0x3C 0xC7 0xC6) - ((0x0908) 0x3C 0xC7) - ((0x0909) 0x3D) - ((0x090A) 0x3E 0xF0) - ((0x090B) 0x40 0xF1) - ((0x090D 0x0901) 0x42 0xC4) - ((0x090D 0x0902) 0x42 0xC4) - ((0x090D) 0x42 0xEC) - ((0x090E 0x0901) 0x42 0xE0 0xC6) - ((0x090E) 0x42 0xE0) - ((0x090F) 0x42) - ((0x0910 0x0901) 0x42 0xE4 0xC6) - ((0x0910) 0x42 0xE4) - ((0x0911 0x0901) 0x2B 0xC9 0xC4) - ((0x0911 0x0902) 0x2B 0xC9 0xC4) - ((0x0911) 0x2B 0xC9 0xEC) - ((0x0912 0x0901) 0x2B 0xC9 0xE0 0xC6) - ((0x0912) 0x2B 0xC9 0xE0) - ((0x0913 0x0901) 0x2B 0xC9 0xE4 0xC6) - ((0x0913) 0x2B 0xC9 0xE4) - ((0x0914 0x0901) 0x2B 0xC9 0xE8 0xC6) - ((0x0914) 0x2B 0xC9 0xE8) - ((0x0960) 0x41 0xF1))) - - (vowel-sign-I - ((0x093F) 0xCA)) - - (preceding-r - ((0x0930 0x094D) 0xC7)) - - (post-modifier - (cond - ((0x0901) 0xC4) - ((0x0902) 0xC6) - ((0x0951) 0x27) - ((0x0952) bc.tc 0x2D))) - - (harant - ((0x094D) 0xC2)) - - (consonant - (cond - ((0x0915 0x094D 0x0924) 0x48 0xF2) - ((0x0915 0x094D 0x0930) 0x47 0xF2) - ((0x0915 0x094D 0x0937 0x094D) 0x49) - ((0x0915 0x094D 0x0937) 0x49 0xC9) - ((0x0915 0x094D) 0x43) - ((0x0915) 0x45 0xF2) - ((0x0916 0x094D 0x0930 0x094D) 0x4C) - ((0x0916 0x094D 0x0930) 0x4C 0xC9) - ((0x0916 0x094D) 0x4A) - ((0x0916) 0x4A 0xC9) - ((0x0917 0x094D 0x0930 0x094D) 0x4F) - ((0x0917 0x094D 0x0930) 0x4F 0xC9) - ((0x0917 0x094D) 0x4D) - ((0x0917) 0x4D 0xC9) - ((0x0918 0x094D 0x0930 0x094D) 0x51) - ((0x0918 0x094D 0x0930) 0x51 0xC9) - ((0x0918 0x094D) 0x50) - ((0x0918) 0x50 0xC9) - ((0x0919) 0x52 0xF3) - ((0x091A 0x094D 0x0930 0x094D) 0x54) - ((0x091A 0x094D 0x0930) 0x54 0xC9) - ((0x091A 0x094D) 0x53) - ((0x091A) 0x53 0xC9) - ((0x091B) 0x55 0xF4) - ((0x091C 0x094D 0x091E 0x094D) 0x59) - ((0x091C 0x094D 0x091E) 0x59 0xC9) - ((0x091C 0x094D 0x0930 0x094D) 0x58) - ((0x091C 0x094D 0x0930) 0x58 0xC9) - ((0x091C 0x094D) 0x56) - ((0x091C) 0x56 0xC9) - ((0x091D 0x094D 0x0930 0x094D) 0x5B) - ((0x091D 0x094D 0x0930) 0x5B 0xC9) - ((0x091D 0x094D) 0x5A) - ((0x091D) 0x5A 0xC9) - ((0x091E 0x094D) 0x5C) - ((0x091E) 0x5C 0xC9) - ((0x091F 0x094D 0x091F) 0x5E 0xF5) - ((0x091F 0x094D 0x0920) 0x5F 0xF5) - ((0x091F) 0x5D 0xF5) - ((0x0920 0x094D 0x0920) 0x61 0xF6) - ((0x0920) 0x60 0xF6) - ((0x0921 0x094D 0x0921) 0x64 0xF7) - ((0x0921 0x094D 0x0922) 0x65 0xF7) - ((0x0921) 0x62 0xF7) - ((0x0922) 0x66 0xF8) - ((0x0923 0x094D) 0x68) - ((0x0923) 0x68 0xC9) - ((0x0924 0x094D 0x0924 0x094D) 0x6B) - ((0x0924 0x094D 0x0924) 0x6B 0xC9) - ((0x0924 0x094D 0x0930 0x094D) 0x6A) - ((0x0924 0x094D 0x0930) 0x6A 0xC9) - ((0x0924 0x094D) 0x69) - ((0x0924) 0x69 0xC9) - ((0x0925 0x094D 0x0930 0x094D) 0x6D) - ((0x0925 0x094D 0x0930) 0x6D 0xC9) - ((0x0925 0x094D) 0x6C) - ((0x0925) 0x6C 0xC9) - ((0x0926 0x0943) 0x6F 0xF9) - ((0x0926 0x094D 0x0926) 0x71 0xF9) - ((0x0926 0x094D 0x0927) 0x72 0xF9) - ((0x0926 0x094D 0x092E) 0x73) - ((0x0926 0x094D 0x092F) 0x74) - ((0x0926 0x094D 0x0930) 0x70 0xF9) - ((0x0926 0x094D 0x0935) 0x75 0xF9) - ((0x0926) 0x6E 0xF9) - ((0x0927 0x094D 0x0930 0x094D) 0x77) - ((0x0927 0x094D 0x0930) 0x77 0xC9) - ((0x0927 0x094D) 0x76) - ((0x0927) 0x76 0xC9) - ((0x0928 0x094D 0x0928 0x094D) 0x7A) - ((0x0928 0x094D 0x0928) 0x7A 0xC9) - ((0x0928 0x094D 0x0930 0x094D) 0x79 0xC9) - ((0x0928 0x094D 0x0930) 0x79 0xC9) - ((0x0928 0x094D) 0x78) - ((0x0928) 0x78 0xC9) - ((0x0929) 0x78 0xC3 0xC9) - ((0x092A 0x094D 0x0930 0x094D) 0x7C) - ((0x092A 0x094D 0x0930) 0x7C 0xC9) - ((0x092A 0x094D) 0x7B) - ((0x092A) 0x7B 0xC9) - ((0x092B 0x094D 0x0930) 0xA3 0xFB) - ((0x092B 0x094D) 0x7D) - ((0x092B) 0xA1 0xFB) - ((0x092C 0x094D 0x0930 0x094D) 0xA5) - ((0x092C 0x094D 0x0930) 0xA5 0xC9) - ((0x092C 0x094D) 0xA4) - ((0x092C) 0xA4 0xC9) - ((0x092D 0x094D 0x0930 0x094D) 0xA7) - ((0x092D 0x094D 0x0930) 0xA7 0xC9) - ((0x092D 0x094D) 0xA6) - ((0x092D) 0xA6 0xC9) - ((0x092E 0x094D 0x0930 0x094D) 0xA9) - ((0x092E 0x094D 0x0930) 0xA9 0xC9) - ((0x092E 0x094D) 0xA8) - ((0x092E) 0xA8 0xC9) - ((0x092F 0x094D 0x0930 0x094D) 0xAB) - ((0x092F 0x094D 0x0930) 0xAB 0xC9) - ((0x092F 0x094D) 0xAA) - ((0x092F) 0xAA 0xC9) - ((0x0930 0x0941) 0xAF 0xFB) - ((0x0930 0x0942) 0xB0 0xFC) - ((0x0930) 0xAE 0xF7) - ((0x0931 0x094D) 0xAD) - ((0x0931) 0xAE 0xC3 0xF7) - ((0x0932 0x094D) 0xB1) - ((0x0932) 0xB1 0xC9) - ((0x0933 0x094D) 0xB2) - ((0x0933) 0xB3) - ((0x0934 0x094D) 0xB2 0xC3) - ((0x0934) 0xB3 0xC3) - ((0x0935 0x094D 0x0930 0x094D) 0xB5) - ((0x0935 0x094D 0x0930) 0xB5 0xC9) - ((0x0935 0x094D) 0xB4) - ((0x0935) 0xB4 0xC9) - ((0x0936 0x094D 0x0930 0x094D) 0xB8) - ((0x0936 0x094D 0x0930) 0xB8 0xC9) - ((0x0936 0x094D 0x0935 0x094D) 0xB7) - ((0x0936 0x094D 0x0935) 0xB7 0xC9) - ((0x0936 0x094D) 0xB6) - ((0x0936) 0xB6 0xC9) - ((0x0937 0x094D) 0xB9) - ((0x0937) 0xB9 0xC9) - ((0x0938 0x094D 0x0930 0x094D) 0xBB) - ((0x0938 0x094D 0x0930) 0xBB 0xC9) - ((0x0938 0x094D) 0xBA) - ((0x0938) 0xBA 0xC9) - ((0x0939 0x0943) 0xBE) - ((0x0939 0x094D 0x092E) 0xC0) - ((0x0939 0x094D 0x092F) 0xC1) - ((0x0939 0x094D 0x0930) 0xBF) - ((0x0939 0x094D) 0xBC) - ((0x0939) 0xBD) - ((0x094D 0x092F) 0xAC) - ((0x094D 0x0930) 0xC5) - ((0x0958 0x094D) 0x44) - ((0x0958) 0x46 0xF2 0xF3) - ((0x0959 0x094D) 0x4B) - ((0x0959) 0x4B 0xC9) - ((0x095A 0x094D) 0x4E) - ((0x095A) 0x4E 0xC9) - ((0x095B 0x094D) 0x57) - ((0x095B) 0x57 0xC9) - ((0x095C) 0x63 0xF7) - ((0x095D) 0x67 0xF8) - ((0x095E 0x094D) 0x7E) - ((0x095E) 0xA2 0xFB) - ((0x095F) 0xAA 0xC3 0xC9) - ((0x094D) 0xC2))) - - (matra - (cond - ((0x093E) 0xC9) - ((0x093F 0x0901) 0xCA 0xC6) - ((0x093F) 0xCA) - ((0x0940 0x0901) 0xD2 0xC6) - ((0x0940) 0xD2) - ((0x0941) 0xD6) - ((0x0942) 0xDA) - ((0x0943) 0xDE) - ((0x0944) 0xDF) - ((0x0945) 0xEC) - ((0x0946 0x0901) 0xE0 0xC6) - ((0x0946) 0xE0) - ((0x0947 0x0901) 0xE4 0xC6) - ((0x0947) 0xE4) - ((0x0948 0x0901) 0xE8 0xC6) - ((0x0948) 0xE8) - ((0x0949 0x0901) 0xC9 0xC4) - ((0x0949 0x0902) 0xC9 0xC4) - ((0x0949) 0xC9 0xEC) - ((0x094A 0x0901) 0xC9 0xE0 0xC6) - ((0x094A) 0xC9 0xE0) - ((0x094B 0x0901) 0xC9 0xE4 0xC6) - ((0x094B) 0xC9 0xE4) - ((0x094C 0x0901) 0xC9 0xE8 0xC6) - ((0x094C) 0xC9 0xE8))) - - (independent - (cond - ((0x0900) 0x23 0xC7) ; fake!! - ((0x0903) 0x26) - ((0x093C) 0xC3) - ((0x093D) 0x25) - ((0x0950) 0x24) ;new - ((0x0951) 0x27) ;new - ((0x0964) 0x2A) - ((0x0965) 0x2A 0x2A) - ((0x0966) 0x30) - ((0x0967) 0x31) - ((0x0968) 0x32) - ((0x0969) 0x33) - ((0x096A) 0x34) - ((0x096B) 0x35) - ((0x096C) 0x36) - ((0x096D) 0x37) - ((0x096E) 0x38) - ((0x096F) 0x39) - ((0x094D) 0x23 Bc>10Bl 0xC2) - ((0x093F) 0xCA Bc>10Bl 0x23) - ((0x0940) 0x23 0xD2) - ))) - -(category - ;; C: CONSONANTS - ;; I: VOWEL SIGN I - ;; R: RIGHT MODIFIER - ;; S: SPACING - ;; E: ELSE - ;; - (0x00 0xFF ?E) - (0x3C 0xC1 ?C) - (0xC9 ?R) - (0xCA 0xD1 ?I) - (0xD2 0xD5 ?R) - (0xF0 0xFE ?S)) - -(generator - (0 - (cond - (" ([^ ]*) " - (1 - (cond - ("(I[^C]*)(CC[^R]*)(R.*)" - (1 rule-i-wide = *) - (2 rule-else = *)) - ("(I[^C]*)(CC[^S]*)(S)(.*)" - (1 rule-i-wide = *) - (2 = *) - (4 rule-else = *) - (3 = *)) - ("([^R]*)(R).*" - (0 rule-else = *)) - ("([^S]*)(S)(.*)" - (1 rule-else = *) - (3 rule-else = *) - (2 = *)) - (".*" = *)))) - ("[^ ]*" - = *)) - *) - - (rule-i-wide - (cond - ((0xCA 0xC6) 0xCF) - ((0xCA 0xC7 0xC6) 0xD1) - ((0xCA 0xC7) 0xD0) - ((0xCA) 0xCE))) - - (rule-else - (cond - ((0xC3 0xD6) 0xD7) - ((0xC3 0xDA) 0xDB) - ((0xC5 0xD6) 0xD8) - ((0xC5 0xDA) 0xDC) - ((0xC7 0xC4) 0xC8) - ((0xC7 0xC6) 0xC8) - ((0xCA 0xC6) 0xCB) - ((0xCA 0xC7 0xC6) 0xCD) - ((0xCA 0xC7) 0xCC) - ((0xD2 0xC6) 0xD3) - ((0xD2 0xC7 0xC6) 0xD5) - ((0xD2 0xC7) 0xD4) - ((0xE0 0xC6) 0xE1) - ((0xE0 0xC7 0xC6) 0xE3) - ((0xE0 0xC7) 0xE2) - ((0xE4 0xC6) 0xE5) - ((0xE4 0xC7 0xC6) 0xE7) - ((0xE4 0xC7) 0xE6) - ((0xE8 0xC6) 0xE9) - ((0xE8 0xC7 0xC6) 0xEB) - ((0xE8 0xC7) 0xEA) - ((0xEC 0xC6) 0xED) - ((0xEC 0xC7 0xC6) 0xEF) - ((0xEC 0xC7) 0xEE)))) - -;; Copyright (C) 2003, 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: diff --git a/FLT/DEVA-OTF.flt b/FLT/DEVA-OTF.flt deleted file mode 100644 index 71913a9..0000000 --- a/FLT/DEVA-OTF.flt +++ /dev/null @@ -1,235 +0,0 @@ -;; DEVA-OTF.flt -- Font Layout Table for Devanagari OpenType font -;; Copyright (C) 2003, 2004, 2007, 2008 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter deva-otf nil - (font (nil nil unicode-bmp :otf=deva=rphf))) - -;;;
  • DEVA-OTF.flt -;;; -;;; For Devanagari OpenType fonts to draw the Devanagari script. - -(category - ;; X: generic - ;; C: consonant (except for RA) - ;; R: consonant RA - ;; n: NUKTA - ;; H: HALANT - ;; m: vowel sign (pre) - ;; u: vowel sign (above) - ;; b: vowel sign (below) - ;; p: vowel sign (post) - ;; A: vowel modifier (above) - ;; a: vowel modifier (post) - ;; S: stress sign / accent (above) - ;; s: stress sign / accent (below) - ;; V: independent vowel - ;; Z: internal use - ;; N: ZWNJ - ;; J: ZWJ - (0x0900 0x097F ?X) ; generic - (0x0900 ?Z) ; internal use - (0x0901 0x0902 ?A) ; SIGN CANDRABINDU .. ANUSVARA - (0x0903 ?a) ; SIGN VISARGA - (0x0904 0x0914 ?V) ; LETTER SHORT A .. AU - (0x0915 0x0939 ?C) ; LETTER KA .. HA - (0x0930 ?R) ; LETTER RA - (0x093C ?n) ; SIGN NUKTA - (0x093E ?p) ; VOWEL SIGN AA - (0x093F ?m) ; VOWEL SIGN I - (0x0940 ?p) ; VOWEL SIGN II - (0x0941 0x0944 ?b) ; VOWEL SIGN UU .. VOCALIC RR - (0x0945 0x0948 ?u) ; VOWEL SIGN CANDRA E .. AI - (0x0949 0x094C ?p) ; VOWEL SIGN CANDRA O .. AU - (0x094D ?H) ; SIGN VIRAMA - (0x0951 ?S) ; STRESS SIGN UDATTA - (0x0952 ?s) ; STRESS SIGN ANUDATTA - (0x0953 0x0954 ?S) ; GRAVE ACCENT .. ACUTE ACCENT - (0x0958 0x095F ?C) ; LETTER QA .. YYA - (0x0960 0x0961 ?V) ; LETTER VOCALIC RR .. VOCALIC LL - (0x0962 0x0963 ?b) ; VOWEL SIGN VOCALIC L .. VOCALIC LL - (0x0972 ?V) ; LETTER CANDRA A - (0x097B 0x097C ?C) ; LETTER GGA .. JJA - (0x097E 0x097F ?C) ; LETTER DDDA .. BBA - (0x200C ?N) ; ZWNJ - (0x200D ?J) ; ZWJ - ) - -;; Stage 0 -;; Compose consonant and nukta -(generator - (0 - (cond - ((0x0928 0x093C) 0x0929) - ((0x0930 0x093C) 0x0931) - ((0x0933 0x093C) 0x0934) - ((0x0915 0x093C) 0x0958) - ((0x0916 0x093C) 0x0959) - ((0x0917 0x093C) 0x095A) - ((0x091C 0x093C) 0x095B) - ((0x0921 0x093C) 0x095C) - ((0x0922 0x093C) 0x095D) - ((0x092B 0x093C) 0x095E) - ((0x092F 0x093C) 0x095F) - ("." =)) - *)) - -;; Stage 1 -;; Syllable identification and eordering. -(generator - (0 - (cond - ;; A syllable containing a vowel sign. - ;;1 2 34 5 6 7 8 9 10 - ("([CR]n?(HJ?[CR]n?)*)((m)|(b)|(u|p))(A)?(a)?(S)?(s)?" - < | (4 =) (1 move-h) (5 =) (10 =) (6 =) (1 reph) (7 =) (9 =) (8 =) | >) - - ;; A syllable without vowel signs but with a vowel modifier. - ;;1 2 34 5 6 7 - ("([CR]n?(HJ?[CR]n?)*)((A)|(a))(S)?(s)?" - < | (1 move-h) (7 =) (1 reph) (4 =) (6 =) (5 =) | >) - - ;; No vowel signs, No vowel modifiers, but with a stress sign or an accent. - ;;1 2 34 5 - ("([CR]n?(HJ?[CR]n?)*)((S)|(s))" - < | (1 move-h) (5 =) (1 reph) (4 =) | >) - - ;; No marks at all. Need further anylysis. - ("[CR]n?(HJ?[CR]n?)*(H(N|J)?)?" - < | (0 nomarks) | >) - - ;; This combination is used in Marathi. - ((0x0905 0x0945) - < | = = | >) - - ;; A syllable starting with an independent vowel. - ;;1 2 3 4 5 - ("(V)(A)?(a)?(S)?(s)?" - < | (1 =) (5 =) (2 =) (4 =) (3 =) | >) - - ("." =)) - *) - - (move-h - (cond - ;; Starting with an eyelash-RA, which remains there. - ("(RHJ.+)(H)(R)$" - (1 = *) (3 =) (2 =)) - ("RHJ.*" - = *) - - ;; Starting with a reph, which is removed. - ("RH(.+)(H)(R)$" - (1 = *) (3 =) (2 =)) - ("RH(.+)" - (1 = *)) - - ("(.+)(H)(R)$" - (1 = *) (3 =) (2 =)) - (".+" - = *))) - - (reph - (cond - ("RHJ.*") - ("(RH).*" - (1 otf:deva=rphf+)))) - - (del-reph - (cond - ("RHJ.*" - = *) - ("RH(.*)" - (1 = *)) - (".+" - = *))) - - (nomarks - (cond - ;; Ending with a Halant and a ZWJ. - (".+HJ$" - (0 del-reph) (0 reph)) - - ;; Ending with a Halant and an optional ZWNJ. Add ZWNJ explicitly. - ("(.+)(H)N?$" - (1 move-h) (1 reph) (2 =) 0x200C) - - ;; Ending with a consonant. - (".+" - (0 move-h) (0 reph)))) - ) - -;; Stage 2 -;; Apply GSUB features. If a syllable ends with a halant and a ZWNJ, -;; render the final halant explicitly. -(generator - (0 - (cond - ;; Allow eyelash RA to appear at the beginning. - (" (RH)J([^ ]+)(H)N " - | (1 otf:deva=half+) (2 gsub) (3 =) |) - (" (m)?(RH)J([^ ]*) " - | (1 =) (2 otf:deva=half+) (3 gsub) |) - - ;; Avoid applying 'blwf' and 'half' to the "RH" at the beginning; - (" (R)([^ ]*)(H)N " - | (1 =) (2 gsub) (3 =) |) - (" (m?R)([^ ]*) " - | (1 otf:deva=pres+) (2 gsub) |) - - (" ([^ ]+)(H)N " - | (1 gsub) (2 =) |) - (" ([^ ]+) " - | (1 gsub) |) - - ("." =)) - *) - - ;; Dispite Rule R5a (The Unicode Standard 5.0, p.305), we use the - ;; below form to depict the sequence "RHJ" at non-initial positions. - ;; This is to avoid interpreting the sequence "CHRHJ" as "CH" + - ;; "RHJ". It should be parsed as "CHR" + "HJ". - (gsub - (cond - ("([^J]*)J(.*)" - (1 otf:deva=nukt,akhn,blwf,half,vatu,pres+) (2 gsub)) - (".*" - otf:deva=nukt,akhn,blwf,half,vatu,pres+))) - ) - -;; Stage 3 -;; Apply other features. -(generator - (0 - (cond - (" ([^ ]+) " - (1 otf:deva=abvs,blws,psts,haln+abvm,blwm,dist)) - ("." - [ = ])) - *)) - -;; Copyright (C) 2003, 2004, 2007, 2008 -;; 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: diff --git a/FLT/GUJR-OTF.flt b/FLT/GUJR-OTF.flt deleted file mode 100644 index 4711ca1..0000000 --- a/FLT/GUJR-OTF.flt +++ /dev/null @@ -1,171 +0,0 @@ -;; GUJR-OTF.flt -- Font Layout Table for Gujarati OpenType fonts -;; Copyright (C) 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter gujr-otf nil - (font (nil nil unicode-bmp :otf=gujr=rphf))) - -;;;
  • GUJR-OTF.flt -;;; -;;; For Gujarati OpenType fonts to draw the Gujarati script. - -(category - ;; C: consonant (except for RA) - ;; R: consonant RA - ;; n: NUKTA - ;; H: HALANT - ;; m: vowel sign (pre) - ;; u: vowel sign (above) - ;; b: vowel sign (below) - ;; p: vowel sign (post) - ;; A: vowel modifier (above) - ;; a: vowel modifier (post) - ;; V: independent vowel - ;; N: ZWNJ - ;; J: ZWJ - ;; X: generic - (0x0A80 0x0AFF ?X) ; generic - (0x0A81 0x0A82 ?A) ; SIGN CANDRABINDU .. ANUSVARA - (0x0A83 ?a) ; SIGN VISARGA - (0x0A85 0x0A94 ?V) ; LETTER AA .. AU - (0x0A95 0x0AB9 ?C) ; LETTER KA .. HA - (0x0AB0 ?R) ; LETTER RA - (0x0ABC ?n) ; SIGN NUKTA - (0x0ABE ?p) ; VOWEL SIGN AA - (0x0ABF ?m) ; VOWEL SIGN I - (0x0AC0 ?p) ; VOWEL SIGN II - (0x0AC1 0x0AC4 ?b) ; VOWEL SIGN U .. VOCALIC RR - (0x0AC5 0x0AC8 ?u) ; VOWEL SIGN CANDRA E .. AI - (0x0AC9 0x0ACC ?p) ; VOWEL SIGN CANDRA O .. AU - (0x0ACD ?H) ; SIGN VIRAMA - (0x0AE0 0x0AE1 ?V) ; LETTER VOCALIC RR .. VOCALIC LL - (0x0AE2 0x0AE3 ?b) ; VOWEL SIGN VOCALIC L .. VOCALIC LL - (0x0964 0x0965 ?X) ; DANDA .. DOUBLE DANDA - (0x200C ?N) ; ZWNJ - (0x200D ?J) ; ZWJ - ) - -;; Syllable identification and reordering. -(generator - (0 - (cond - ;; A syllable containing a vowel sign. - ;;1 2 34 5 6 - ("([CR]n?(HJ?[CR]n?)*)((m)|(b|u|p))(A|a)?" - < | (4 =) (1 move-h) (5 =) (1 reph) (6 =) | >) - - ;; A syllable without vowel signs but with a vowel modifier. - ;;1 2 3 - ("([CR]n?(HJ?[CR]n?)*)(A|a)" - < | (1 move-h) (1 reph) (3 =) | >) - - ;; No marks at all. Need further anylysis. - ("[CR]n?(HJ?[CR]n?)*(H(N|J)?)?" - < | (0 nomarks) | >) - - ;; A syllable starting with an independent vowel. - ("V(A|a)?" - < | = * | >) - - ("." =)) - *) - - (move-h - (cond - ("RH(.+)(H)(R)$" - (1 = *) (3 =) (2 =)) - ("RH(.+)" - (1 = *)) - - ("(.+)(H)(R)$" - (1 = *) (3 =) (2 =)) - (".+" - = *))) - - (reph - (cond - ("(RH).*" - (1 otf:gujr=rphf+)))) - - (del-reph - (cond - ("(RH)?(.*)" - (2 = *)))) - - (nomarks - (cond - ;; Ending with a Halant and a ZWJ. - (".+HJ$" - (0 del-reph) (0 reph)) - - ;; Ending with a Halant and an optional ZWNJ. Add ZWNJ explicitly. - ("(.+)(H)N?$" - (1 move-h) (1 reph) (2 =) 0x200C) - - ;; Ending with a consonant. - (".+" - (0 move-h) (0 reph)))) - ) - -;; Apply GSUB features. If a syllable ends with a halant and a ZWNJ, -;; render the final halant explicitly. Do not apply 'blwf' to the -;; initial RA. -(generator - (0 - (cond - (" (R)([^ ]*)(H)N " - | (1 =) (2 gsub) (3 =) |) - (" (m?R)([^ ]*) " - | (1 otf:gujr=pres+) (2 gsub) |) - - (" ([^ ]+)(H)N " - | (1 gsub) (2 =) |) - (" ([^ ]+) " - | (1 gsub) |) - - ("." =)) - *) - - (gsub - (cond - ("([^J]*)J(.*)" - (1 otf:gujr=nukt,akhn,blwf,half,vatu,pres+) (2 gsub)) - (".*" - otf:gujr=nukt,akhn,blwf,half,vatu,pres+))) - ) - -;; Apply other features. -(generator - (0 - (cond - (" ([^ ]+) " - (1 otf:gujr=abvs,blws,psts,haln+abvm,blwm,dist)) - ("." - [ = ])) - *)) - -;; 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: emacs-lisp -;; End: diff --git a/FLT/GURU-OTF.flt b/FLT/GURU-OTF.flt deleted file mode 100644 index 4c2c299..0000000 --- a/FLT/GURU-OTF.flt +++ /dev/null @@ -1,172 +0,0 @@ -;; GURU-OTF.flt -- Font Layout Table for Gurmukhi OpenType fonts -;; Copyright (C) 2004, 2007, 2008 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter guru-otf nil - (font (nil nil unicode-bmp :otf=guru=blwf))) - -;;;
  • GURU-OTF.flt -;;; -;;; For Gurmukhi OpenType fonts to draw the Gurmukhi script. - -(category - ;; C: general consonant (except for R and Y) - ;; R: consonant (below) - ;; Y: consonant YA - ;; n: NUKTA - ;; H: HALANT - ;; m: vowel sign (pre) - ;; u: vowel sign (above) - ;; b: vowel sign (below) - ;; p: vowel sign (post) - ;; A: vowel modifier (above) - ;; a: vowel modifier (post) - ;; V: independent vowel - ;; d: ADDAK - ;; N: ZWNJ (ZERO WIDTH NON-JOINER) - ;; J: ZWJ (ZERO WIDTH JOINER) - ;; X: generic - ;; Z: internal use - (0x0A00 0x0A7F ?X) ; generic - (0x0A00 ?Z) ; internal use - (0x0A01 0x0A02 ?A) ; SIGN ADAK BINDI .. BINDI - (0x0A03 ?a) ; SIGN VISARGA - (0x0A05 0x0A14 ?V) ; LETTER A .. AU - (0x0A15 0x0A38 ?C) ; LETTER KA .. SA - (0x0A2F ?Y) ; LETTER YA - (0x0A30 ?R) ; LETTER RA - (0x0A35 ?R) ; LETTER VA - (0x0A39 ?R) ; LETTER HA - (0x0A3C ?n) ; SIGN NUKTA - (0x0A3E ?p) ; VOWEL SIGN AA - (0x0A3F ?m) ; VOWEL SIGN I - (0x0A40 ?p) ; VOWEL SIGN II - (0x0A41 0x0A42 ?b) ; VOWEL SIGN U .. UU - (0x0A47 0x0A4C ?u) ; VOWEL SIGN EE .. AU - (0x0A4D ?H) ; SIGN VIRAMA -;; (0x0A51 ?) ; SIGN UDAAT - (0x0A59 0x0A5E ?C) ; LETTER KHHA .. FA - (0x0A70 ?A) ; TIPPI - (0x0A71 ?d) ; ADDAK -;; (0x0A75 ?) ; SIGN YAKASH - (0x0964 0x0965 ?X) ; DANDA .. DOUBLE DANDA - (0x200C ?N) ; ZWNJ - (0x200D ?J) ; ZWJ - ) - -;; Compose consonant and nukta -(generator - (0 - (cond - ((0x0A32 0x0A3C) 0x0A33) - ((0x0A38 0x0A3C) 0x0A36) - ((0x0A16 0x0A3C) 0x0A59) - ((0x0A17 0x0A3C) 0x0A5A) - ((0x0A1C 0x0A3C) 0x0A5B) - ((0x0A2B 0x0A3C) 0x0A5E) - ("." =)) - *)) - -;; Reordering -(generator - (0 - (cond - ;; A syllable with vowel signs. - ;;1 2 34 5 6 7 - ("([CRY]n?(H[CRY]n?)*)((m)|(ub?|b)|(p))(A?a?d?)" - < | (4 =) (1 pre-below) (5 = *) (1 post) (6 =) (7 = *) | >) - - ;; A syllable with vowel modifiers or an Addak. - ;;1 2 3 - ("([CRY]n?(H[CRY]n?)*)(Aa?d?|ad?|d)" - < | (1 pre-below) (1 post) (3 = *) | >) - - ;; Add a ZWNJ explicitly when a syllable ends with a halant. - ;;1 2 3 - ("([CRY]n?(H[CRY]n?)*)(HN?)?" - < | (1 pre-below) (3 = 0x200C) (1 post) | >) - - ;; A syllable starting with an independent vowel. - ;; In older texts, LETTER OO may followed by VOWEL SIGN U. - ("Vb?A?a?d?" - < | = * | >) - - ("." =)) - *) - - ;; Move the halant after the base consonant to the end. - ;; Fill the resulting gap with a special mark. - ;; Remove post-base parts. - (pre-below - (cond - ("(.+)(H)(R)(HY)?$" - (1 = *) 0x0A00 (3 =) (2 =)) - ("(.+)HY$" - (1 = *) 0x0A00) - (".+" - = * 0x0A00))) - - ;; Extract post-base parts and add a halant at the end. - ;; Produce nothing if there are no post-base parts. - (post - (cond - (".*(H)(Y)$" - (2 =) (1 =)) - (".+" - )))) - -;; Apply language forms to concerning segments. Note that the Saab -;; font generates below form with 'vatu' instead of 'blwf'. -(generator - (0 - (cond - ;; Explicit Halant. - ;; 1 2 3 4 - (" ([^Z]+)Z(RH)?(H)N(YH)? " - | (1 otf:guru=nukt+) (2 otf:guru=blwf,vatu+) (3 =) (4 otf:guru=pstf+) |) - - ;; Vowel signs and vowel modifiers. - ;; 1 2 3 4 5 6 - (" (m)?([^Z]+)Z(RH)?(u?b?)(YH)?(p?A?a?d?) " - | (1 =) (2 otf:guru=nukt+) (3 otf:guru=blwf,vatu+) (4 = *) - (5 otf:guru=pstf+) (6 = *) |) - - ("." =)) - *)) - -;; Other features -(generator - (0 - (cond - (" ([^ ]+) " - (1 otf:guru=vatu,pres,abvs,blws,psts,haln+abvm,blwm,dist)) - - ("." - [ = ])) - *)) - -;; Copyright (C) 2004, 2007, 2008 -;; 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: diff --git a/FLT/HEBR-FF.flt b/FLT/HEBR-FF.flt deleted file mode 100644 index 7c7df76..0000000 --- a/FLT/HEBR-FF.flt +++ /dev/null @@ -1,104 +0,0 @@ -;; HEBR-FF.flt -- Font Layout Table for Hebrew fonts (Unicode encoding) -;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter hebr-ff nil - (font (nil nil unicode-bmp :lang=he,yi))) - -;;;
  • HEBR-FF.flt -;;; -;;; For Hebrew fonts of Unicode encoding to draw the Hebrew script. -;;; This is for such fonts that do not require an explicit combining -;;; code because accents and points have negative lbearing. - -(category - (0x0590 0x05ff ?h) ; hebrew - ) - -(generator - (0 - (cond - ((0x05d9 0x05b4) 0xfb1d) - ((0x05e9 0x05c1) 0xfb2a) - ((0x05e9 0x05c2) 0xfb2b) - ((0x05e9 0x05bc 0x05c1) 0xfb2c) - ((0x05e9 0x05bc 0x05c2) 0xfb2d) - ((0x05d0 0x05b7) 0xfb2e) - ((0x05d0 0x05b8) 0xfb2f) - ((0x05d0 0x05bc) 0xfb30) - ((0x05d1 0x05bc) 0xfb31) - ((0x05d2 0x05bc) 0xfb32) - ((0x05d3 0x05bc) 0xfb33) - ((0x05d4 0x05bc) 0xfb34) - ((0x05d5 0x05bc) 0xfb35) - ((0x05d6 0x05bc) 0xfb36) - ((0x05d8 0x05bc) 0xfb38) - ((0x05d9 0x05bc) 0xfb39) - ((0x05da 0x05bc) 0xfb3a) - ((0x05db 0x05bc) 0xfb3b) - ((0x05dc 0x05bc) 0xfb3c) - ((0x05de 0x05bc) 0xfb3e) - ((0x05e0 0x05bc) 0xfb40) - ((0x05e1 0x05bc) 0xfb41) - ((0x05e3 0x05bc) 0xfb43) - ((0x05e4 0x05bc) 0xfb44) - ((0x05e6 0x05bc) 0xfb46) - ((0x05e7 0x05bc) 0xfb47) - ((0x05e8 0x05bc) 0xfb48) - ((0x05e9 0x05bc) 0xfb49) - ((0x05ea 0x05bc) 0xfb4a) - ((0x05d5 0x05b9) 0xfb4b) - ((0x05d1 0x05bf) 0xfb4c) - ((0x05db 0x05bf) 0xfb4d) - ((0x05e4 0x05bf) 0xfb4e) - ;; The font FreeSerif.ttf does not have this glyph?!? - ;; ((0x05b0) 0x05b4 Bc-13Bc 0x05b4) - ("." =)) - *)) - -(category - (0x0590 0x05af ?p) ; accents - (0x05d0 0x05ff ?h) ; letters - (0xfb1d 0xfb4e ?h) ; presentation forms - (0x05b0 0x05c4 ?p) ; points - (0x05be ?h) ; punctuation - (0x05c0 ?h) ; punctuation - (0x05c3 ?h) ; punctuation - ) - -(generator - (0 - (cond - ("(h)(p+)" - < - = * - >) - ("." = *)) - *) - ) - -;; Copyright (C) 2003, 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: diff --git a/FLT/HEBR.flt b/FLT/HEBR.flt deleted file mode 100644 index b7576a1..0000000 --- a/FLT/HEBR.flt +++ /dev/null @@ -1,103 +0,0 @@ -;; HEBR.flt -- Font Layout Table for Hebrew font (Unicode encoding) -;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter hebr nil - (font (nil freesans unicode-bmp))) - -;;;
  • HEBR.flt -;;; -;;; For Hebrew fonts of Unicode encoding to draw Hebrew script. This -;;; is for such a font that requires explicit combining code to draw -;;; accents and points. - -(category - (0x0590 0x05ff ?h) ; hebrew - ) - -(generator - (0 - (cond - ((0x05d9 0x05b4) 0xfb1d) - ((0x05e9 0x05c1) 0xfb2a) - ((0x05e9 0x05c2) 0xfb2b) - ((0x05e9 0x05bc 0x05c1) 0xfb2c) - ((0x05e9 0x05bc 0x05c2) 0xfb2d) - ((0x05d0 0x05b7) 0xfb2e) - ((0x05d0 0x05b8) 0xfb2f) - ((0x05d0 0x05bc) 0xfb30) - ((0x05d1 0x05bc) 0xfb31) - ((0x05d2 0x05bc) 0xfb32) - ((0x05d3 0x05bc) 0xfb33) - ((0x05d4 0x05bc) 0xfb34) - ((0x05d5 0x05bc) 0xfb35) - ((0x05d6 0x05bc) 0xfb36) - ((0x05d8 0x05bc) 0xfb38) - ((0x05d9 0x05bc) 0xfb39) - ((0x05da 0x05bc) 0xfb3a) - ((0x05db 0x05bc) 0xfb3b) - ((0x05dc 0x05bc) 0xfb3c) - ((0x05de 0x05bc) 0xfb3e) - ((0x05e0 0x05bc) 0xfb40) - ((0x05e1 0x05bc) 0xfb41) - ((0x05e3 0x05bc) 0xfb43) - ((0x05e4 0x05bc) 0xfb44) - ((0x05e6 0x05bc) 0xfb46) - ((0x05e7 0x05bc) 0xfb47) - ((0x05e8 0x05bc) 0xfb48) - ((0x05e9 0x05bc) 0xfb49) - ((0x05ea 0x05bc) 0xfb4a) - ((0x05d5 0x05b9) 0xfb4b) - ((0x05d1 0x05bf) 0xfb4c) - ((0x05db 0x05bf) 0xfb4d) - ((0x05e4 0x05bf) 0xfb4e) - ("." =)) - *)) - -(category - (0x0590 0x05af ?p) ; accents - (0x05d0 0x05ff ?h) ; letters - (0xfb1d 0xfb4e ?h) ; presentation forms - (0x05b0 0x05c4 ?p) ; points - (0x05be ?h) ; punctuation - (0x05c0 ?h) ; punctuation - (0x05c3 ?h) ; punctuation - ) - -(generator - (0 - (cond - ("(h)(p+)" - < - (1 =) - (2 ("." Bc.Bc =) *) - >) - ("." = *)) - *) - ) - -;; Copyright (C) 2003, 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: diff --git a/FLT/KHMR-ANLONG.flt b/FLT/KHMR-ANLONG.flt deleted file mode 100644 index 2f4655b..0000000 --- a/FLT/KHMR-ANLONG.flt +++ /dev/null @@ -1,278 +0,0 @@ -;; KHMR-ANLONG.flt -- Font Layout Table for Khmer (Anlong font) -;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter khmr-anlong nil - (font (nil anlongvill\ khek apple-roman))) - -;;;
  • KHMR-ANLONG.flt -;;; -;;; For the font ANLONG.TTF to draw Khmer script. The font is -;;; available at: -;;; - -(category - ;; C: CONSONANT (except R and KHMER LETTER LA) - ;; R: KHMER LETTER RO - ;; c: KHMER SIGN COENG (function as virama) - ;; V: INDEPENDENT VOWEL (except Q) - ;; Q: CONJUNCT VOWEL QU, RY, QE - ;; v: DEPENDENT VOWEL - ;; s: SHIFT - ;; S: COMBINING SIGN - ;; E: ELSE - (0x1780 0x17A0 ?C) - (0x1789 ?N) ; exception of C (NYO) - (0x179A ?R) ; exception of C (RO) - (0x17A1 ?E) ; ELSE - (0x17A2 ?C) - (0x17A3 0x17A4 ?E) ; ELSE - (0x17A5 0x17B3 ?V) - (0x17A7 ?Q) - (0x17AB ?Q) - (0x17AF ?Q) - (0x17B2 ?C) - (0x17B4 0x17FF ?E) - (0x17B6 0x17C5 ?v) - (0x17C6 ?S) - (0x17C9 0x17CA ?s) - (0x17CB 0x17D3 ?S) - (0x17D2 ?c)) - -(generator - (0 - (cond - ("([CNR]c[CNRQ])c(R)(s?v?S?)" - | (1 with-conjunct) (2 Bl.Br 0xEE) 0x00 (3 vowel-and-sign *) |) - ("([CNR]c[CNRQ])(s?v?S?)" - | (1 with-conjunct) 0x00 (2 vowel-and-sign *) |) - ("([CNR])(s?v?S?)" - | (1 independent) (2 vowel-and-sign *) |) - ("." - independent)) - *) - - (with-conjunct - (cond - ("(N)c(CRQ)" - (1 0x8B) - (2 conjunct)) - ("(N)c(N)" - (1 0x8B) - (2 Br.Bl 0xDD)) - ((0x17B3 0x17D2 0x1799) - 0xB8) - ("(.)c(.)" - (1 independent) - (2 conjunct)))) - - (independent - (cond - ((range 0x1780 0x1788) 0x82) - ((0x1789) 0x8C) - ((range 0x178A 0x1794) 0x91) - ((0x1795) 0x9F) - ((range 0x1796 0x179C) 0xA1) - ((0x179D) < 0x84 cr-) - ((0x179E) < 0x9B cr-) - ((range 0x179F 0x17A2) 0xA8) - ((0x17A3) 0xAB) - ((0x17A4) < 0xAB Br>Bl 0xBA >) - ((range 0x17A5 0x17A7) 0xAC) - ((0x17A8) < 0xAE Br.Bl 0xF4 >) - ((0x17A9) 0xB9) - ((range 0x17AA 0x17B1) 0xAF) - ((0x17B2) 0xB7) ; same as 0xB6 - ((0x17B3) < 0xAE tr<20bl 0xF8 >) - ((0x17B4) < 0xBA tr+bl 0xF5 >) - ((0x17B5) 0xBA) - ((0x17B6) 0xBA) - ((0x17B7) 0xBB) - ((0x17B8) 0xBD) - ((0x17B9) 0xBF) - ((0x17BA) 0xC1) - ((0x17BB) 0xC3) - ((0x17BC) 0xC5) - ((0x17BD) 0xC7) - ((0x17BE) < 0xCD 0x20 0xBD >) - ((0x17BF) < 0xCD 0x20 Br) - ((0x17C0) < 0xCD 0x20 Br) - ((range 0x17C1 0x17C3) 0xCD) - ((0x17C4) < 0xCD 0x20 Br) - ((0x17C5) < 0xCD 0x20 Br) - ((0x17C6) 0xD1) - ((0x17C7) 0xD3) - ((0x17C8) 0x3A) - ((0x17C9) 0xF6) - ((range 0x17CA 0x17CB) 0xF4) - ((0x17CC) 0xF8) - ((0x17CD) 0xF7) - ((0x17CE) < 0x20 tc+80bc 0x2B >) - ((range 0x17CF 0x17D0) 0xF9) - ((0x17D1) < 0x20 tc+80bc 0x5F >) - ((0x17D2) < 0x20 bc-tc 0x5E >) - ((0x17D3) 0xD1) - ((range 0x17D4 0x17D5) 0xFC) - ((0x17D6) 0xFB) - ((0x17D7) 0xFE) - ((0x17D8) < 0xFC 0xA6 0xFC >) - ((0x17D9) < 0x30 cr<10cl 0xD2 >) - ((0x17DA) 0x8D) - ((0x17DB) < 0xFF br->10tl 0xC3 >) - ((0x17DC) 0x53) - ((range 0x17E0 0x17E9) 0x30))) - - (conjunct - (cond - ((0x1780) br-tl 0xD4) - ((0x1781) br-tl 0xD5) - ((0x1782) br-tl 0xD6) - ((0x1783) Br.Bl 0xD7) - ((0x1784) br-tl 0xD8) - ((0x1785) br-tl 0xD9) - ((0x1786) br-tl 0xDA) - ((0x1787) br-tl 0xDB) - ((0x1788) Br.Bl 0xDC) - ((0x1789) br-tl 0xDE) - ((0x178A) br-tl 0xE3) - ((0x178B) br-tl 0xDF) - ((0x178C) br-tl 0xE0) - ((0x178D) Br.Bl 0xE1) - ((0x178E) br-tl 0xE2) - ((0x178F) br-tl 0xE3) - ((0x1790) br-tl 0xE4) - ((0x1791) br-tl 0xE5) - ((0x1792) br-tl 0xE6) - ((0x1793) br-tl 0xE7) - ((0x1794) Br.Bl 0xE8) - ((0x1795) br-tl 0xE9) - ((0x1796) br-tl 0xEA) - ((0x1797) br-tl 0xEB) - ((0x1798) br-tl 0xEC) - ((0x1799) Br.Bl 0xED) - ((0x179A) Bl+Bc 0xEE) - ((0x179B) br-tl 0xEF) - ((0x179C) br-tl 0xF0) - ((0x179D) br-tl 0xD6 br.bl 0xFA) - ((0x179E) Br.Bl 0xE8 br.bl 0xFA) - ((0x179F) Br.Bl 0xF1) - ((0x17A0) br-tl 0xF2) - ((0x17A2) br-tl 0xF3) - ((0x17A7) br-tl 0xD5 br.bl 0xC4) ; ugly compromise - ((0x17AB) br-tl 0xA1) ; ugly compromise - ((0x17AF) br-tl 0xB4))) ; ugly compromise - - (vowel-and-sign - (cond - ((0x17B6) Br-Bl 0xBA) - ((0x17B7) tr+bl 0xBB) - ((0x17B8) tr+bl 0xBD) - ((0x17B9) tr+bl 0xBF) - ((0x17BA) tr+bl 0xC1) - ((0x17BB) br+tr 0xC3) - ((0x17BC) br-tl 0xC5) - ((0x17BD) br-tl 0xC7) - ((0x17BE) tr+bl 0xBD Bl.Br 0xCD) - ((0x17BF) Br.Bl 0xC9 Bl.Br 0xCD) - ((0x17C0) Br.Bl 0xCB Bl.Br 0xCD) - ((0x17C1) Bl.Br 0xCD) - ((0x17C2) Bl.Br 0xCE) - ((0x17C3) Bl.Br 0xCF) - ((0x17C4) Bl.Br 0xCD Br.Bl 0xBA) - ((0x17C5) Bl.Br 0xCD Br.Bl 0xD0) - ((0x17C6) tr+bl 0xD1) - ((0x17C7) Br.Bl 0xD3) - ((0x17C8) Br.Bl 0x3A) - ((0x17C9) tr+bl 0xF6) - ((0x17CA) tr+bl 0xF4) - ((0x17CB) tr+bl 0xF5) - ((0x17CC) tr+bl 0xF8) - ((0x17CD) tr+bl 0xF7) - ((0x17CE) tr+>br 0x2B) - ((0x17CF) tr+bl 0xF9) - ((0x17D0) tr+bl 0xFA)))) - -(category - ;; WIDTH HEIGHT DEPTH - ;; N: normal normal normal - ;; T: normal high normal - ;; W: wide normal normal - ;; n: normal normal deep - ;; w: wide normal deep - ;; V: right part of KHMER VOWEL SIGN YA and IE - ;; x: separator - (0x00 0xFF ?N) - (0x00 ?x) - (0x85 ?W) - (0x89 ?T) - (0x8A 0x8B ?W) - (0x8C ?w) - (0x91 0x92 ?T) - (0x93 0x94 ?W) - (0x97 ?T) - (0x9F ?T) - (0xA4 ?W) - (0xA6 ?W) - (0xA8 0xA9 ?W) - (0xAA ?w) - (0xAC ?T) - (0xAD ?w) - (0xAF ?T) - (0xB0 0xB3 ?n) - (0xB5 ?n) - (0xB6 0xB7 ?T) - (0xB8 ?w) - (0xC9 ?V) - (0xCB ?V) - (0xD7 ?w) - (0xDC 0xDE ?w) - (0xE1 0xE2 ?w) - (0xE8 ?w) - (0xED ?w) - (0xF1 ?w)) - -(generator - (0 - (cond - (" ([^ x]*)x(V)([^ ]*) " - < (1 = *) (2 (cond ((0xC9) 0xCA) ((0xCB) 0xCC))) (3 = *) >) - (" ([^ x]*)x([^ ]*) " - < (1 = *) (2 = *) >) - (" (T[^V]*)(V)([^ ]*) " - < (1 = *) (2 (cond ((0xC9) Br.Bl 0xCA) ((0xCB) Br.Bl 0xCC))) (3 = *) >) - (" ([wn])(V)([^ ]*) " - < (1 = *) (2 (cond ((0xC9) 0xCA) ((0xCB) 0xCC))) (3 = *) >) - (" ([^ ]*) " - < (1 = *) >) - ("." - =)) - *)) - -;; Copyright (C) 2003, 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: diff --git a/FLT/KHMR-MULE.flt b/FLT/KHMR-MULE.flt deleted file mode 100644 index 787b3e0..0000000 --- a/FLT/KHMR-MULE.flt +++ /dev/null @@ -1,207 +0,0 @@ -;; KHMR-MULE.flt -- Font Layout Table for Khmer (mule font) -;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter khmr-mule nil - (font (mulekhmer-1))) - -;;;
  • KHMR-MULE.flt -;;; -;;; For Khmer fonts of mule encoding to draw Khmer script. The font is -;;; available at: - -(category - (0x1780 0x17A2 ?C) ;; C: CONSONANT (except R and KHMER LETTER LA) - (0x179A ?R) ;; R: KHMER LETTER RO - (0x17A1 ?E) ;; E: ELSE - (0x17A3 0x17A4 ?E) - (0x17A5 0x17B3 ?V) ;; V: INDEPENDENT VOWEL (except Q) - (0x17A7 ?Q) ;; Q: CONJUNCT VOWEL QU, RY, QE - (0x17AB ?Q) - (0x17AF ?Q) - (0x17B2 ?C) - (0x17B4 0x17FF ?E) - (0x17B6 0x17C5 ?v) ;; v: DEPENDENT VOWEL - (0x17C6 ?S) ;; S: COMBINING SIGN - (0x17C9 0x17CA ?s) ;; s: SHIFT - (0x17CB 0x17D3 ?S) - (0x17D2 ?c) ;; c: KHMER SIGN COENG (function as virama) - ) - -(generator - (0 - (cond - ("[CR](c[CRQ])?(cR)?s?v?S?" - (cond - (".(c[CRQ])(cR)?s?v?S?" - < | - ("(.)c(.)(c(.))?" (1 independent) (2 conjunct) (4 conjunct)) - vowel-and-sign * - | > ) - ("[CR][svS][svS]*" < | independent vowel-and-sign * | > ) - ("." independent))) - ("." independent)) - *) - - (independent - (cond - ((0x17D8) 0xD4 0x9B 0xD4) - ((range 0x1780 0x17FF) 0x80))) - - (conjunct - (cond - ((0x1783) Br.Bc 0x43) - ((0x1788) Br.Bc 0x48) - ((0x178D) Br.Bc 0x4D) - ((0x1794) Br.Bc 0x54) - ((0x1799) Br.Bc 0x59) - ((0x179A) Bl20bc =) - ("VR" = tr<20br =) - ("." =)) - *)) - -(category - (0x00 0xFF ?E) ;; E: else - (0x40 0x6F ?c) ;; c: conjunct CONSONANT - (0x49 ?n) ;; n: conjunct KHMER LETTER NYO - (0x59 ?y) ;; y: conjunct KHMER LETTER YO - (0x80 0xA2 ?C) ;; C: first CONSONANT - (0x89 ?N) ;; N: first KHMER LETTER NYO - (0xB2 ?Q) ;; Q: KHMER INDEPENDENT VOWEL QOO TYPE TWO - (0xC9 0xD1 ?S)) - -(generator - (0 - (cond - (" [^ ][^ ][^ ]* " - < = - (cond - ("N[cny]" 0x27 ((0x49) bc-tc 0x28) =) - ("Qy" 0x2B)) - = * > ) - ("[^ ]*" = * )) - *)) - -(category - (0x00 0x7F ?n) ;; n: width:normal height:normal depth:deep - (0x04 0x05 ?V) ;; V: right part of KHMER VOWEL SIGN YA and IE - (0x26 ?w) ;; w: width:wide height:normal depth:deep - (0x27 ?W) ;; W: width:wide height:normal depth:normal - (0x28 ?w) - (0x2A ?w) - (0x2C ?N) ;; N: width:normal height:normal depth:normal - (0x43 ?w) - (0x48 0x49 ?w) - (0x4D 0x4E ?w) - (0x5A ?r) ;; r: conjunct KHMER LETTER RO - (0x60 ?w) - (0x80 0xFF ?N) - (0x83 ?W) - (0x84 ?T) ;; T: width:normal height:high depth:normal - (0x87 ?T) - (0x88 0x89 ?W) - (0x8A 0x8B ?T) - (0x8D 0x8E ?W) - (0x90 ?T) - (0x95 ?T) - (0x99 ?W) - (0x9B ?W) - (0x9F 0xA0 ?W) - (0xA6 ?W)) - -(generator - (0 - (cond - (" ([^ ]*) " - < - (1 - (cond - ("(Wnr)([^V]*)(V)?(.*)" = *) - ("(Tnr)([^V]*)(V)?(.*)" - (1 = = ((0x5A) Bl) - ("[^ ]*" = *)) - *) - - (deep-YA-IE - ((range 0x04 0x05) Br.Bc 0x24)) - - (high-deep-YA-IE - ((range 0x04 0x05) Br.Bc 0x34)) - - (high-YA-IE - ((range 0x04 0x05) Br.bc 0x14))) - -;; Copyright (C) 2003, 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: diff --git a/FLT/KHMR-OTF.flt b/FLT/KHMR-OTF.flt deleted file mode 100644 index 9419b16..0000000 --- a/FLT/KHMR-OTF.flt +++ /dev/null @@ -1,197 +0,0 @@ -;; KHMR-OTF.flt -- Font Layout Table for Khmer OpenType fonts -;; Copyright (C) 2005, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter khmr-otf nil - (font (nil nil unicode-bmp :otf=khmr=pres))) - -;;;
  • KHMR-OTF.flt -;;; -;;; For Khmer OpenType fonts to draw Khmer. -;;; A Font is available from -;;; . - -(category - (0x1780 0x17FF ?E) ; E: else - (0x19E0 0x19FF ?E) - (0x1780 0x17B3 ?C) ; C: consonant & independent vowel - (0x179A ?R) ; R: RO - (0x17B6 ?p) ; p: vowel sign (post) - (0x17B7 0x17BA ?a) ; a: vowel sign (above) - (0x17BB 0x17BD ?b) ; b: vowel sign (below) - (0x17BE ?A) ; A: vowel sign (two-part, above) - (0x17BF 0x17C0 ?P) ; P: vowel sign (two-part, post) - (0x17C1 0x17C3 ?m) ; m: vowel sign (pre) - (0x17C4 0x17C5 ?P) - (0x17C6 ?s) ; s: sign (above) - (0x17C7 0x17C8 ?S) ; S: sign (post) - (0x17C9 0x17CA ?c) ; c: consonant shifter - (0x17CB 0x17D1 ?s) - (0x17CC ?r) ; r: ROBAT - (0x17D2 ?H) ; H: COENG - (0x17D3 ?s) - (0x17DD ?s) - (0x200C ?N) ; N: ZERO WIDTH NON-JOINER - (0x200D ?J) ; J: ZERO WIDTH JOINER - ) - -;; Generic syllable pattern is as follows. -;; [CR](r|N?c)?(HCr?)*(HR)?(HCr?)*[NJ]?(m|b|a|A|p|P)?s*S?(H[CR])? - -;; Step 0. -;; Move m to the beginning. -;; Split A and P. -;; Exchange the order of pP and s. -;; Move HR before the base. - -(generator - (0 - (cond - - ;; pre vowel sign - ;;1 2 3 4 5 67 8 9 10 - ("([CR](r|N?c)?(HCr?)*)(HR(r)?)?((HCr?)*[NJ]?)(m)(s*S?(H[CR])?)" - < | (8 =) (4 = =) (1 = *) (5 =) (6 = *) (9 = *) | > ) - - ;; two-part above vowel sign - ;;1 2 3 4 5 67 8 - ("([CR](r|N?c)?(HCr?)*)(HR(r)?)?((HCr?)*[NJ]?As*S?(H[CR])?)" - < | 0x17C1 (4 = =) (1 = *) (5 =) (6 = *) | > ) - - ;; post vowel sign - ;;1 2 3 4 5 67 8 9 10 11 - ("([CR](r|N?c)?(HCr?)*)(HR(r)?)?((HCr?)*[NJ]?)(p)(s*)(S?(H[CR])?)" - < | (4 = =) (1 = *) (5 =) (6 = *) (9 = *) (8 =) (10 = *) | > ) - - ;; two-part post vowel sign - ;;1 2 3 4 5 67 8 9 10 11 - ("([CR](r|N?c)?(HCr?)*)(HR(r)?)?((HCr?)*[NJ]?)(P)(s*)(S?(H[CR])?)" - < | 0x17C1 (4 = =) (1 = *) (5 =) (6 = *) (9 = *) (8 =) (10 = *) | > ) - - ;; other vowel signs or no vowel sign - ;;1 2 3 4 5 67 8 - ("([CR](r|N?c)?(HCr?)*)(HR(r)?)?((HCr?)*[NJ]?[b|a]?s*S?(H[CR])?)" - < | (4 = =) (1 = *) (5 =) (6 = *) | > ) - - ("." =)) - *)) - -;; Now a syllable looks like below. -;; m?(HR)?[CR](r|N?c)?(HCr?)*[NJ]?(b|a|A)?s*(p|P)?S?(H[CR])? - -;; Step 1. -;; Set the form of consonant shifter. - -(generator - (0 - (cond - ;; shifter + above vowel sign without ZWNJ - ;; Shifter take blwf. HR takes pref. HC's take blwf or pstf. - ;; 1 2 3 4 5 6 7 8 - (" (m)?(HR)?([CR]c(HCr?)*(N|J)?(a|A))(s*S?)(H[CR])? " - | - (1 =) - (2 otf:khmr=pref+) - (3 otf:khmr=blwf,abvf,pstf+) - (7 = *) - (8 otf:khmr=blwf,pstf+) - | ) - - ;; shifter + ZWNJ + above vowel sign, or, shifter without above vowel sign - ;; Shifter stays above. HR takes pref. HC's take blwf or pstf. - ;; 1 2 3 45 6 7 8 9 10 11 - (" (m)?(HR)?([CR]N?c)((HCr?)*)([NJ]?[ba]?)(A)?(s*p?)(P)?(S)?(H[CR])? " - | - (1 =) - (2 otf:khmr=pref+) - (3 = *) - (4 otf:khmr=blwf,pstf+) - (6 = *) - (7 otf:khmr=abvf+) - (8 = *) - (9 otf:khmr=pstf+) - (10 =) - (11 otf:khmr=blwf,pstf+) - | ) - - ;; no shifter - ;; 1 2 3 45 6 7 8 9 10 11 - (" (m)?(HR)?([CR]r?)((HCr?)*)([NJ]?[ba]?)(A)?(s*p?)(P)?(S)?(H[CR])? " - | - (1 =) - (2 otf:khmr=pref+) - (3 = *) - (4 otf:khmr=blwf,pstf+) - (6 = *) - (7 otf:khmr=abvf+) - (8 = *) - (9 otf:khmr=pstf+) - (10 =) - (11 otf:khmr=blwf,pstf+) - | ) - - ("." =)) - *)) - -;; Now a syllable looks like below. ~ characters are OTF feature applied. -;; m?(HR)?[CR](r|c)?(HCr?)*[NJ]?(b|a|A)?s*(p|P)?S?(H[CR])? -;; ~~ ~~ ~ ~~~~ ~ ~ ~~~~~ - -;; Step 2. -;; Concatenate adjacent Khmer syllables. -;; Remove J. Retain N to prevent ligature. - -(generator - (0 - (cond - (" ") - ("J") - ("." =)) - *)) - -;; Step 3. -;; Apply other OTF features. - -(generator - (0 - (cond - (" ([^ ]*) " - (1 otf:khmr=pres,blws,abvs,psts,clig)) - ("." - [ = ])) - *)) - -;; Step 4. -;; Remove N to clean up. -(generator - (0 - (cond - ("N") - ("." =)) - *)) - -;; Copyright (C) 2005, 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: emacs-lisp -;; End: diff --git a/FLT/KNDA-OTF.flt b/FLT/KNDA-OTF.flt deleted file mode 100644 index 243ddeb..0000000 --- a/FLT/KNDA-OTF.flt +++ /dev/null @@ -1,168 +0,0 @@ -;; KNDA-OTF.flt -- Font Layout Table for Kannada OpenType fonts -;; Copyright (C) 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter knda-otf nil - (font (nil nil unicode-bmp :otf=knda=rphf))) - -;;;
  • KNDA-OTF.flt -;;; -;;; For Kannada OpenType fonts to draw the Kannada script. - -(category - ;; C: consonant (except for RA) - ;; R: RA - ;; n: NUKTA - ;; H: HALANT - ;; u: vowel sign (above) - ;; b: vowel sign (below) - ;; p: vowel sign (post) - ;; l: length mark - ;; a: vowel modifier (post) - ;; V: independent vowel - ;; N: ZWNJ (ZERO WIDTH NON-JOINER) - ;; J: ZWJ (ZERO WIDTH JOINER) - ;; X: generic - (0x0C80 0x0CFF ?X) ; generic - (0x0C82 0x0C83 ?a) ; SIGN ANUSVARA .. VISARGA - (0x0C85 0x0C94 ?V) ; LETTER A .. LETTER AU - (0x0C95 0x0CB9 ?C) ; LETTER KA .. LETTER HA - (0x0CB0 ?R) ; LETTER RA - (0x0CBC ?n) ; SIGN NUKTA - (0x0CBE ?p) ; VOWEL SIGN AA - (0x0CBF ?u) ; VOWEL SIGN I - (0x0CC1 0x0CC4 ?p) ; VOWEL SIGN U .. RR - (0x0CC6 ?u) ; VOWEL SIGN E - (0x0CCC ?u) ; VOWEL SIGN AU - (0x0CCD ?H) ; SIGN VIRAMA - (0x0CD5 0x0CD6 ?l) ; LENGTH MARK .. AI LENGTH MARK - (0x0CDE ?C) ; LETTER FA (LLLA) - (0x0CE0 0x0CE1 ?V) ; LETTER VOCALIC RR .. LL - (0x0CE2 0x0CE3 ?b) ; VOWEL SIGN VOCALIC L .. LL - (0x0964 0x0965 ?X) ; DANDA .. DOUBLE DANDA - (0x200C ?N) ; ZWNJ - (0x200D ?J) ; ZWJ - ) - -;; Preprocessing. -(generator - (0 - (cond - ;; Decompose two-part and three-part vowel signs. - ((0x0CC0) - 0x0CBF 0x0CD5) - ((0x0CC7) - 0x0CC6 0x0CD5) - ((0x0CC8) - 0x0CC6 0x0CD6) - ((0x0CCA) - 0x0CC6 0x0CC2) - ((0x0CCB) - 0x0CC6 0x0CC2 0x0CD5) - ;; Move ZWJ between RA and HARANT. - ("(R)(J)(H)" - (2 =) (1 =) (3 =)) - ("." =)) - *)) - -;; Syllable identification. -;; Apply 'nukt' and 'akhn' before reordering. - -(generator - (0 - (cond - ;; A syllable with an above vowel sign. - ;;1 2 3 4 - ("(J)?([CR]n?(H[CR]n?)*)(up?l?a?)" - < | (1 =) (2 otf:knda=nukt,akhn+) (4 = *) | >) - - ;; A syllable with a post- or below vowel sign. - ;;1 2 3 4 5 - ("(J)?([CR]n?(H[CR]n?)*)(p|b)(a)?" - < | (1 =) (2 otf:knda=nukt,akhn+) (4 =) (5 =) | >) - - ;; A syllable with a vowel modifier, but without vowel signs. - ;;1 2 3 4 - ("(J)?([CR]n?(H[CR]n?)*)(a)" - < | (1 =) (2 otf:knda=nukt,akhn+) (4 =) | >) - - ;; No vowel signs, no vowel modifiers. - ;;1 2 3 4 - ("(J)?([CR]n?(H[CR]n?)*)(HN?)?" - < | (1 =) (2 otf:knda=nukt,akhn+) (4 = *) | >) - - ;; A syllable starting with an independent vowel. - ("Va?" - < | = * | >) - - ("." =)) - *)) - -;; Reordering. The base consonant is always the first one, because -;; all Kannada consonants have a below form. -(generator - (0 - (cond - ;; 1 2 34 5 6 7 8 - (" (RH)?([^N])((H[^N])*)(u|b)?(p)?(l)?(a)? " - | (2 =) (5 =) (6 =) (3 move-h) (7 =) (1 otf:knda=rphf+) (8 =) |) - - ;; A syllable ending with a halant. - ;; 1 2 34 - (" (RH)?(.H)((.H)*)N? " - ;; WORKAROUND : Kedage fonts produce halant form with 'psts'. - | (2 otf:knda=haln,psts+)(3 = *) (1 otf:knda=rphf+) |) - - ;; No reph movement if preceded by a ZWJ. - ;; 1 23 4 5 6 - (" J(.)((H[^N])*)(u|b)?(p)?(l?a?) " - | (1 =) (4 =) (5 =) (2 move-h) (6 = *) |) - - ;; 1 23 - (" J(.H)((.H)*)N? " - | (1 otf:knda=haln,psts+) (2 = *) |) - - ("." =)) - *) - - (move-h - (cond - ("(H)(.+)" - (2 = *) (1 =))))) - -;; Apply other OTF features. -(generator - (0 - (cond - (" ([^ ]+) " - (1 otf:knda=blwf,abvs,blws,psts+abvm,blwm,dist)) - - ("." - [ = ])) - *)) - -;; 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: emacs-lisp -;; End: diff --git a/FLT/LAOO-ALICE.flt b/FLT/LAOO-ALICE.flt deleted file mode 100644 index 9a3eab7..0000000 --- a/FLT/LAOO-ALICE.flt +++ /dev/null @@ -1,213 +0,0 @@ -;; LAOO-ALICE.flt -- Font Layout Table for Lao (Alice font) -;; Copyright (C) 2003, 2004, 2005, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter laoo-alice nil - (font (nil alice0\ lao apple-roman) - (nil alice0\ lao iso8859-1))) - -;;;
  • LAOO-ALICE.flt -;;; -;;; For the font ALICE0.TTF to draw Lao script. The font is -;;; available at: -;;; - -(category - ;; C: CONSONANT (except for c and s) - ;; c: TALL CONSONANT - ;; s: LAO SEMIVOWEL SIGN LO - ;; A: VOWEL AM - ;; V: VOWEL UPPER - ;; v: VOWEL LOWER - ;; T: TONE - ;; I: INDEPENDENT VOWEL (except for A) - ;; S: SIGN - (0x0E81 0x0E82 ?C) - (0x0E84 ?C) - (0x0E87 0x0E88 ?C) - (0x0E8A ?C) - (0x0E8D ?C) - (0x0E94 0x0E97 ?C) - (0x0E99 0x0E9E ?C) - (0x0E9B ?c) - (0x0E9D ?c) - (0x0E9F ?c) - (0x0EA1 0x0EA3 ?C) - (0x0EA2 ?c) - (0x0EA5 ?C) - (0x0EA7 ?C) - (0x0EAA 0x0EAB ?C) - (0x0EAD 0x0EAE ?C) - (0x0EAF ?S) - (0x0EB0 ?I) - (0x0EB1 ?V) - (0x0EB2 ?I) - (0x0EB3 ?A) - (0x0EB4 0x0EB7 ?V) - (0x0EB8 0x0EB9 ?v) - (0x0EBB ?V) - (0x0EBC ?s) - (0x0EBD ?I) - (0x0EC0 0x0EC4 ?I) - (0x0EC6 ?S) - (0x0EC8 0x0ECC ?T) - (0x0ECD ?V) - (0x0EDC 0x0EDD ?C)) - -(generator - (0 - (cond - ("(Cs?)(T?A)" - < (1 independent semi-vowel) (2 am-after-normal-c) > ) - ("(cs?)(T?A)" - < (1 independent semi-vowel) (2 am-after-tall-c) > ) - ("(Cs?)([vV]?T?)" - < (1 independent semi-vowel) (2 vowel-tone-after-c *) > ) - ("(cs?)([vV]?T?)" - < (1 independent semi-vowel) (2 Br ) - ("[sVvTA]" - [ isolated-dependent ]) - ("." - independent)) - *) - - (independent - (cond - ((0x0E81) 0xA1) - ((0x0E82) 0xA2) - ((0x0E84) 0xA3) - ((0x0E87) 0xA4) - ((0x0E88) 0xA5) - ((0x0E8A) 0xA7) - ((0x0E8D) 0xA8) - ((0x0E94) 0xA9) - ((0x0E95) 0xAA) - ((0x0E96) 0xAB) - ((0x0E97) 0xEA) - ((0x0E99) 0xAD) - ((0x0E9A) 0xAE) - ((0x0E9B) 0xAF) - ((0x0E9C) 0xB0) - ((0x0E9D) 0xB1) - ((0x0E9E) 0xB2) - ((0x0E9F) 0xB3) - ((0x0EA1) 0xB4) - ((0x0EA2) 0xB5) - ((0x0EA3) 0xEB) - ((0x0EA5) 0xEC) - ((0x0EA7) 0xB8) - ((0x0EAA) 0xA6) - ((0x0EAB) 0xB9) - ((0x0EAD) 0xBA) - ((0x0EAE) 0xBB) - ;; ((0x0EAF) ??) - ((0x0EB0) 0xBD) - ((0x0EB2) 0xBE) - ((0x0EB3) 0xBF) - ((0x0EB4) [ 0xF2 ]) - ((0x0EBD) 0xBC) - ((0x0EC0) 0xC0) - ((0x0EC1) 0xC1) - ((0x0EC2) 0xC2) - ((0x0EC3) 0xC3) - ((0x0EC4) 0xC4) - ((0x0EC6) 0xC5) - ((0x0EC6) 0xC5) - ((0x0EDC) 0xCE) - ((0x0EDD) 0xCF))) - - (semi-vowel - ((0x0EBC) 0xF9)) - - (am-after-normal-c - (cond - ((0x0EB3) 0xED) - ((0x0EC8 0x0EB3) 0xEE) - ((0x0EC9 0x0EB3) 0xEF) - ((0x0ECA 0x0EB3) 0xFC 0xED) - ((0x0ECB 0x0EB3) 0xFD 0xED) - ((0x0ECC 0x0EB3) 0xFE 0xED))) - - (am-after-tall-c - (cond - ((0x0EB3) 0xD6 0xBE) - ((0x0EC8 0x0EB3) 0xD2 0xBE) - ((0x0EC9 0x0EB3) 0xD3 0xBE) - ((0x0ECA 0x0EB3) 0xFC 0xF0 0xBE) - ((0x0ECB 0x0EB3) 0xFD 0xF0 0xBE) - ((0x0ECC 0x0EB3) 0xFE 0xF0 0xBE))) - - (vowel-tone-after-c - (cond - ((0x0EB1 0x0EC8) 0x84) - ((0x0EB1 0x0EC9) 0x98) - ((0x0EB1) 0xD7) - ((0x0EB4 0x0EC8) 0x85) - ((0x0EB4 0x0EC9) 0x99) - ((0x0EB4) 0xD8) - ((0x0EB5 0x0EC8) 0x86) - ((0x0EB5 0x0EC9) 0x9A) - ((0x0EB5) 0xD9) - ((0x0EB6 0x0EC8) 0x87) - ((0x0EB6 0x0EC9) 0x9B) - ((0x0EB6) 0xDA) - ((0x0EB7 0x0EC8) 0x88) - ((0x0EB7 0x0EC9) 0x9C) - ((0x0EB7) 0xDB) - ((0x0EB8) 0xF7) - ((0x0EB9) 0xF8) - ((0x0EBB 0x0EC8) 0x89) - ((0x0EBB 0x0EC9) 0x9D) - ((0x0EBB) 0xDC) - ((0x0EC8) tr+bl 0xC8) - ((0x0EC9) tr+bl 0xC9) - ((0x0ECA) tr+bl 0xCA) - ((0x0ECB) tr+bl 0xCB) - ((0x0ECC) tr+bl 0xCC) - ((0x0ECD) 0xD6))) - - (isolated-dependent - (cond - ((0x0EB1) 0xF1) - ((0x0EB4) 0xF2) - ((0x0EB5) 0xF3) - ((0x0EB6) 0xF4) - ((0x0EB7) 0xF5) - ((0x0EB8) 0xF7) - ((0x0EB9) 0xF8) - ((0x0EBB) 0xF6) - ((0x0EC8) 0xC8) - ((0x0EC9) 0xC9) - ((0x0ECA) 0xCA) - ((0x0ECB) 0xCB) - ((0x0ECC) 0xCC) - ((0x0ECD) 0xD6)))) - -;; Copyright (C) 2003, 2004, 2005, 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: diff --git a/FLT/LAOO-GENERIC.flt b/FLT/LAOO-GENERIC.flt deleted file mode 100644 index 8fe8b79..0000000 --- a/FLT/LAOO-GENERIC.flt +++ /dev/null @@ -1,94 +0,0 @@ -;; LAOO-GENERIC.flt -- Font Layout Table for Lao -;; Copyright (C) 2005, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter laoo-generic nil - (font (nil nil unicode-bmp :lang=lo))) - -;;;
  • LAOO-GENERIC.flt - -(category - ;; C: CONSONANT (except for c and s) - ;; c: TALL CONSONANT - ;; s: LAO SEMIVOWEL SIGN LO - ;; A: VOWEL AM - ;; V: VOWEL UPPER - ;; v: VOWEL LOWER - ;; T: TONE - ;; I: INDEPENDENT VOWEL (except for A) - ;; S: SIGN - (0x0E81 0x0E82 ?C) - (0x0E84 ?C) - (0x0E87 0x0E88 ?C) - (0x0E8A ?C) - (0x0E8D ?C) - (0x0E94 0x0E97 ?C) - (0x0E99 0x0E9E ?C) - (0x0E9B ?c) - (0x0E9D ?c) - (0x0E9F ?c) - (0x0EA1 0x0EA3 ?C) - (0x0EA2 ?c) - (0x0EA5 ?C) - (0x0EA7 ?C) - (0x0EAA 0x0EAB ?C) - (0x0EAD 0x0EAE ?C) - (0x0EAF ?S) - (0x0EB0 ?I) - (0x0EB1 ?V) - (0x0EB2 ?I) - (0x0EB3 ?A) - (0x0EB4 0x0EB7 ?V) - (0x0EB8 0x0EB9 ?v) - (0x0EBB ?V) - (0x0EBC ?s) - (0x0EBD ?I) - (0x0EC0 0x0EC4 ?I) - (0x0EC6 ?S) - (0x0EC8 0x0ECC ?T) - (0x0ECD ?V) - (0x0ED0 0x0ED9 ?I) - (0x0EDC 0x0EDD ?C)) - -(generator - (0 - (cond - ("(Cs?)(T)?(A)" - < (1 = =) 0x0ECD (2 tr+bl =) (3 0x0EB2) > ) - ("(cs?)(T)?(A)" - < (1 = =) Br<10Bl 0x0ECD (2 tr+<10bl =) (3 0x0EB2) > ) - ("(Cs?[vV]?)(T)?" - < (1 = *) (2 tr+bl =) > ) - ("(cs?)([vV])?(T)?" - < (1 = *) (2 (cond ("v" =) ("." Br<10Bl =))) (3 tr+<10bl =) > ) - ("[sVvTA]" - [ = ]) - ("." - =)) - *)) - -;; Copyright (C) 2005, 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: diff --git a/FLT/LAOO-MULE.flt b/FLT/LAOO-MULE.flt deleted file mode 100644 index 8e098df..0000000 --- a/FLT/LAOO-MULE.flt +++ /dev/null @@ -1,134 +0,0 @@ -;; LAOO-MULE.flt -- Font Layout Table for Lao (mule font) -;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter laoo-mule nil - (font (mulelao-1))) - -;;;
  • LAOO-MULE.flt -;;; -;;; For Lao fonts of mule encoding to draw Lao script. The font is -;;; available at: -;;; - -(category - ;; C: CONSONANT (except c and s) - ;; c: TALL CONSONANT - ;; s: LAO SEMIVOWEL SIGN LO - ;; V: VOWEL UPPER - ;; v: VOWEL LOWER - ;; T: TONE - ;; I: INDEPENDENT - ;; - (0x0E80 0x0EDF ?I) - (0x0E81 0x0E82 ?C) - (0x0E84 ?C) - (0x0E87 0x0E88 ?C) - (0x0E8A ?C) - (0x0E8D ?C) - (0x0E94 0x0E97 ?C) - (0x0E99 0x0E9E ?C) - (0x0E9B ?c) - (0x0E9D ?c) - (0x0E9F ?c) - (0x0EA1 0x0EA3 ?C) - (0x0EA2 ?c) - (0x0EA5 ?C) - (0x0EA7 ?C) - (0x0EAA 0x0EAB ?C) - (0x0EAD 0x0EAE ?C) - (0x0EB1 ?V) - (0x0EB4 0x0EB7 ?V) - (0x0EB8 0x0EB9 ?v) - (0x0EBB ?V) - (0x0EBC ?s) - (0x0EC8 0x0ECC ?T) - (0x0ECD ?V)) - -(generator - (0 - (cond - ("cs?(VT?|v?T)" - < - ("(cs?)" independent semi-vowel) - ("VT?" composed-non-relative composed-relative *) - (".*" composed-non-relative *) - > ) - ("Cs?[vV]?T?" - < independent semi-vowel composed-relative * > ) - ("[^Cs]*" - independent *)) - *) - - (independent - ((range 0x0E80 0x0EDF) 0xA0)) - - (composed-relative - (cond - ((0x0EB1) tc+bc 0xD1) - ((0x0EB4) tc+bc 0xD4) - ((0x0EB5) tc+bc 0xD5) - ((0x0EB6) tc+bc 0xD6) - ((0x0EB7) tc+bc 0xD7) - ((0x0EB8) bc+tc 0xD8) - ((0x0EB9) bc+tc 0xD9) - ((0x0EBB) tc+bc 0xDB) - ((0x0EC7) tc+bc 0xE7) - ((0x0EC8) tc+bc 0xE8) - ((0x0EC9) tc+bc 0xE9) - ((0x0ECA) tc+bc 0xEA) - ((0x0ECB) tc+bc 0xEB) - ((0x0ECC) tc+bc 0xEC) - ((0x0ECD) tc+bc 0xED) - ((0x0ECE) tc+bc 0xEE))) - - (semi-vowel - ((0x0EBC) Bc-Bc 0xDC)) - - (composed-non-relative - (cond - ((0x0EB1) Bc-Bc 0xD1) - ((0x0EB4) Bc-Bc 0xD4) - ((0x0EB5) Bc-Bc 0xD5) - ((0x0EB6) Bc-Bc 0xD6) - ((0x0EB7) Bc-Bc 0xD7) - ((0x0EB8) Bc-Bc 0xD8) - ((0x0EB9) Bc-Bc 0xD9) - ((0x0EBB) Bc-Bc 0xDB) - ((0x0E47) Bc-Bc 0xE7) - ((0x0E48) Bc-Bc 0xE8) - ((0x0E49) Bc-Bc 0xE9) - ((0x0E4A) Bc-Bc 0xEA) - ((0x0E4B) Bc-Bc 0xEB) - ((0x0E4C) Bc-Bc 0xEC) - ((0x0E4D) Bc-Bc 0xED) - ((0x0E4E) Bc-Bc 0xEE)))) - -;; Copyright (C) 2003, 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: diff --git a/FLT/LAOO-OTF.flt b/FLT/LAOO-OTF.flt deleted file mode 100644 index 5504171..0000000 --- a/FLT/LAOO-OTF.flt +++ /dev/null @@ -1,83 +0,0 @@ -;; LAOO-OTF.flt -- Font Layout Table for Lao -;; Copyright (C) 2006, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter laoo-otf nil - (font (nil phetsarath\ ot unicode-bmp))) - -;;;
  • LAOO-OTF.flt - -(category - ;; C: CONSONANT - ;; S: LAO SEMIVOWEL SIGN LO - ;; A: VOWEL AM - ;; V: DEPENDENT VOWEL - ;; T: TONE - ;; I: OTHER INDEPENDENT - (0x0E81 0x0EAE ?C) - (0x0EAF 0x0EB0 ?I) - (0x0EB1 ?V) - (0x0EB2 ?I) - (0x0EB3 ?A) - (0x0EB4 0x0EBB ?V) - (0x0EBC ?S) - (0x0EBD 0x0EC6 ?I) - (0x0EC8 0x0ECC ?T) - (0x0ECD ?V) - (0x0ED0 0x0ED9 ?I) - (0x0EDC 0x0EDD ?C) - - (0x25CC ?I)) - -;; The only GSUB is the decomposition of AM. We do it by hand because -;; it requires reordering in addition to decomposition. - -(generator - (0 - (cond - ("(CS?)(T)?A" - < | (1 = *) 0x0ECD (2 =) 0x0EB2 | > ) - ("CS?V?T?" - < | = * | > ) - ("[SVT]" - < | 0x25CC = | > ) - ("." - =)) - *)) - -;; Then apply all GPOS features. - -(generator - (0 - (cond - (" ([^ ]*) " - (1 otf:lao\ =)) - ("." - [ otf:lao\ =+ ])) - *)) - -;; Copyright (C) 2006, 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: emacs-lisp -;; End: diff --git a/FLT/MLYM-CDAC.flt b/FLT/MLYM-CDAC.flt deleted file mode 100644 index 330a4c8..0000000 --- a/FLT/MLYM-CDAC.flt +++ /dev/null @@ -1,245 +0,0 @@ -;; MLYM-CDAC.flt -- Font Layout Table for Malayalam (C-DAC font) -;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter mlym-cdac nil - (font (malayalam-cdac) - (nil ml-ttkarthika apple-roman))) - -;;;
  • MLYM-CDAC.flt -;;; -;;; For the font MLKR0ntt.ttf (developped by C-DAC, encoding is ISFOC) -;;; to draw Malayalam script. The font is available at: -;;; - -(category - (0x0D00 0x0D7F ?E) ; all malayalam characters - (0x0D02 ?A) ; ANUSVARA - (0x0D03 ?G) ; VISARGA - (0x0D05 0x0D14 ?V) ; independent vowel - (0x0D15 0x0D39 ?C) ; consonant - (0x0D3E 0x0D4C ?M) ; dependent vowel (MATRA) - (0x0D4D ?H) ; HALANT - ) - -(generator - (0 - (cond - ("(VA?)|G|((CH)?(CH)?(CH)?CH)?C(H|M?[AH]?)?" | glyph * |) - ("." glyph )) - * ) - - (glyph - (cond - ;; various sign - ((0x0D02) 0x77) - ((0x0D03) 0x78) - ;; Independent Vowels - ((0x0D05) 0x41) - ((0x0D06) 0x42) - ((0x0D07) 0x43) - ((0x0D08) 0x43 0x75) - ((0x0D09) 0x44) - ((0x0D0A) 0x44 0x75) - ((0x0D0B) 0x45) - ((0x0D0C) 0x23) - ((0x0D0E) 0x46) - ((0x0D0F) 0x47) - ((0x0D10) 0x73 0x46) - ((0x0D12) 0x48) - ((0x0D13) 0x48 0x6D) - ((0x0D14) 0x48 0x75) - ;; Consonants - ((0x0D15 0x0D4D 0x0D15 0x0D41) 0xE7) - ((0x0D15 0x0D4D 0x0D15) 0xA1) - ((0x0D15 0x0D4D 0x0D33) 0xA2) - ((0x0D15 0x0D4D 0x0D37) 0xA3) - ((0x0D15 0x0D4D 0x0D1F) 0xCE) - ((0x0D15 0x0D4D 0x0D24) 0xE0) - ((0x0D15 0x0D41) 0xE6) - ((0x0D15 0x0D41) 0xE6) - ((0x0D15) 0x49) - ((0x0D16) 0x4A) - ((0x0D17 0x0D4D 0x0D17) 0xA4) - ((0x0D17 0x0D4D 0x0D32) 0xA5) - ((0x0D17 0x0D4D 0x0D2E) 0xDC) - ((0x0D17 0x0D4D 0x0D28) 0xE1) - ((0x0D17) 0x4B) - ((0x0D18) 0x4C) - ((0x0D19 0x0D4D 0x0D15) 0xA6) - ((0x0D19 0x0D4D 0x0D19) 0xA7) - ((0x0D19 0x0D4D 0x0D15 0x0D41) 0xE8) - ((0x0D19) 0x4D) - ((0x0D1A 0x0D4D 0x0D1A) 0xA8) - ((0x0D1A 0x0D4D 0x0D1B) 0xD1) - ((0x0D1A) 0x4E) - ((0x0D1B) 0x4F) - ((0x0D1C 0x0D4D 0x0D1C) 0xD6) - ((0x0D1C 0x0D4D 0x0D1E) 0xDA) - ((0x0D1C) 0x50) - ((0x0D1D) 0x51) - ((0x0D1E 0x0D4D 0x0D1A) 0xA9) - ((0x0D1E 0x0D4D 0x0D1E) 0xAA) - ((0x0D1E) 0x52) - ((0x0D1F 0x0D4D 0x0D1F) 0xAB) - ((0x0D1F) 0x53) - ((0x0D20) 0x54) - ((0x0D21 0x0D4D 0x0D21) 0xCD) - ((0x0D21) 0x55) - ((0x0D22) 0x56) - ((0x0D23 0x0D41 0x0D4D) 0xAC) - ((0x0D23 0x0D41) 0xE9) - ((0x0D23 0x0D4D 0x0D1F) 0xAD) - ((0x0D23 0x0D4D 0x0D23) 0xAE) - ((0x0D23 0x0D4D 0x0D2E) 0xD7) - ((0x0D23 0x0D4D 0x0D21) 0xDE) - ((0x0D23) 0x57) - ((0x0D24 0x0D4D 0x0D24) 0xAF) - ((0x0D24 0x0D4D 0x0D25) 0xB0) - ((0x0D24 0x0D4D 0x0D38) 0xD5) - ((0x0D24 0x0D4D 0x0D2D) 0xDB) - ((0x0D24 0x0D4D 0x0D2E) 0xDF) - ((0x0D24) 0x58) - ((0x0D25) 0x59) - ((0x0D26 0x0D4D 0x0D26) 0xB1) - ((0x0D26 0x0D4D 0x0D27) 0xB2) - ((0x0D26) 0x5A) - ((0x0D27) 0x5B) - ((0x0D28 0x0D41 0x0D4D) 0xB3) - ((0x0D28 0x0D41) 0xEB) - ((0x0D28 0x0D4D 0x0D24) 0xB4) - ((0x0D28 0x0D4D 0x0D26) 0xB5) - ((0x0D28 0x0D4D 0x0D28 0x0D41) 0xEC) - ((0x0D28 0x0D4D 0x0D28) 0xB6) - ((0x0D28 0x0D4D 0x0D2E) 0xB7) - ((0x0D28 0x0D4D 0x0D27) 0xD4) - ((0x0D28 0x0D4D 0x0D25) 0xD9) - ((0x0D28 0x0D4D 0x0D31) 0xE2) - ((0x0D28) 0x5C) - ((0x0D2A 0x0D4D 0x0D2A) 0xB8) - ((0x0D2A 0x0D4D 0x0D32) 0xB9) - ((0x0D2A) 0x5D) - ((0x0D2B) 0x5E) - ((0x0D2C 0x0D4D 0x0D2C) 0xBA) - ((0x0D2C 0x0D4D 0x0D32) 0xBB) - ((0x0D2C 0x0D4D 0x0D27) 0xCF) - ((0x0D2C 0x0D4D 0x0D26) 0xD0) - ((0x0D2C) 0x5F) - ((0x0D2D) 0x60) - ((0x0D2E 0x0D4D 0x0D2A) 0xBC) - ((0x0D2E 0x0D4D 0x0D2E) 0xBD) - ((0x0D2E 0x0D4D 0x0D32) 0xBE) - ((0x0D2E) 0x61) - ((0x0D2F) 0x62) - ((0x0D2F 0x0D4D 0x0D2F) 0xBF) - ((0x0D2F 0x0D4D 0x0D15 0x0D4D 0x0D15) 0xED) - ((0x0D30 0x0D41 0x0D4D) 0xC0) - ((0x0D30 0x0D41) 0xEA) - ((0x0D30) 0x63) - ((0x0D31 0x0D4D 0x0D31) 0xE4) - ((0x0D31 0x0D4D) 0xC0) - ((0x0D31 0x0D41 0x0D4D) 0xC0) - ((0x0D31) 0x64) - ((0x0D32 0x0D41 0x0D4D) 0xC2) - ((0x0D32 0x0D4D 0x0D32) 0xC3) - ((0x0D32 0x0D4D 0x0D2A) 0xE5) - ((0x0D32) 0x65) - ((0x0D33 0x0D41 0x0D4D) 0xC4) - ((0x0D33 0x0D4D 0x0D33) 0xC5) - ((0x0D33) 0x66) - ((0x0D34) 0x67) - ((0x0D35 0x0D4D 0x0D35) 0xC6) - ((0x0D35) 0x68) - ((0x0D36 0x0D4D 0x0D32) 0xC7) - ((0x0D36 0x0D4D 0x0D36) 0xC8) - ((0x0D36 0x0D4D 0x0D1A) 0xDD) - ((0x0D36) 0x69) - ((0x0D37 0x0D4D 0x0D1F) 0xE3) - ((0x0D37) 0x6A) - ((0x0D38 0x0D4D 0x0D32) 0xC9) - ((0x0D38 0x0D4D 0x0D38) 0xCA) - ((0x0D38 0x0D4D 0x0D31 0x0D4D 0x0D31) 0xCC) - ((0x0D38 0x0D4D 0x0D25) 0xD8) - ((0x0D38) 0x6B) - ((0x0D39 0x0D4D 0x0D32) 0xCB) - ((0x0D39 0x0D4D 0x0D2E) 0xD2) - ((0x0D39 0x0D4D 0x0D28) 0xD3) - ((0x0D39) 0x6C) - ;; Dependent vowel signs - ((0x0D3E) 0x6D) - ((0x0D3F) 0x6E) - ((0x0D40) 0x6F) - ((0x0D41) 0x70) - ((0x0D42) 0x71) - ((0x0D43) 0x72) - ((0x0D46) 0x73) - ((0x0D47) 0x74) - ((0x0D48) 0x73 0x73) - ((0x0D4A) 0x73 0x6D) - ((0x0D4B) 0x74 0x6D) - ((0x0D4C) 0x75) - ;; Various signs - ((0x0D4D 0x0D2F 0x0D41) 0x7C) - ((0x0D4D 0x0D2F 0x0D42) 0x7D) - ((0x0D4D 0x0D2F) 0x79) - ((0x0D4D 0x0D30 0x0D4D) 0x72) - ((0x0D4D 0x0D30) 0x7B) - ((0x0D4D 0x0D31 0x0D4D) 0x72) - ((0x0D4D 0x0D31) 0x7B) - ((0x0D4D 0x0D35) 0x7A) - ((0x0D4D 0x0D4D) 0x76) - ((0x0D4D) 0x76) - ((0x0D57) 0x75)))) - -(category - (0x00 0xFF ?M) - (0x49 0x6C ?C) - (0x73 ?E) ; E - (0x74 ?e) ; EE - (0x79 ?Y) ; yakar - (0x7A ?V) ; vakar - (0x7B ?R) ; rrakar - (0xA1 0xE5 ?C)) - -(generator - (0 - (cond - (" (C[YV]?)(R) " - < (2 =) (1 = *) >) - (" (R?C[YV]?)(EE?) " - < (2 = *) (1 = *) >) - (" (R?C[YV]?)(e) " - < (2 = ) (1 = *) >) - (" ([^ ]*) " - < (1 = *) >) - ("." [ = ])) - *)) - -;; Copyright (C) 2003, 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: diff --git a/FLT/MLYM-OTF.flt b/FLT/MLYM-OTF.flt deleted file mode 100644 index 48426a1..0000000 --- a/FLT/MLYM-OTF.flt +++ /dev/null @@ -1,185 +0,0 @@ -;; MLYM-OTF.flt -- Font Layout Table for Malayalam OpenType font -;; Copyright (C) 2003, 2004, 2005, 2007, 2008 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter mlym-otf nil - (font (nil nil unicode-bmp :otf=mlym=akhn))) - -;;;
  • MLYM-OTF.flt -;;; -;;; For Malayalam OpenType fonts to draw the reformed Malayalam script. - -;; Tested with the following fonts. All of these fonts require Halant -;; movement for syllable-final YA and VA, but not for RA and LA. - -;; AnjaliOldLipi.ttf -;; Dyuthi3.ttf -;; Kalyani121.ttf -;; Meera_04.ttf -;; Rachana_04.ttf -;; RaghuMalayalamSans2.ttf -;; suruma2.ttf - -(category - ;; C: ordinary consonants (except P) - ;; P: consonants that have a post form - ;; H: HALANT - ;; m: vowel sign (pre) - ;; b: vowel sign (below) - ;; p: vowel sign (post) - ;; A: vowel modifier (post) - ;; V: independent vowel - ;; N: ZWNJ (ZERO WIDTH NON-JOINER) - ;; J: ZWJ (ZERO WIDTH JOINER) - ;; Z: internal use - ;; X: generic - (0x0D00 0x0D7F ?X) ; generic - (0x0D00 ?Z) ; internal use - (0x0D02 0x0D03 ?A) ; SIGN ANUSVARA .. VISARGA - (0x0D05 0x0D14 ?V) ; LETTER A .. AU - (0x0D15 0x0D39 ?C) ; LETTER KA .. HA - (0x0D2F ?P) ; LETTER YA - (0x0D35 ?P) ; LETTER VA - (0x0D3E 0x0D44 ?p) ; VOWEL SIGN AA .. VOCALIC RR - (0x0D46 0x0D48 ?m) ; VOWEL SIGN E .. AI - (0x0D4D ?H) ; SIGN VIRAMA - (0x0D57 ?p) ; AU LENGTH MARK - (0x0D60 0x0D61 ?V) ; LETTER VOCALIC RR .. VOCALIC LL - (0x0D62 0x0D63 ?b) ; VOWEL SIGN VOCALIC L .. LL - (0x0964 0x0965 ?X) ; DANDA .. DOUBLE DANDA - (0x200C ?N) ; ZWNJ - (0x200D ?J) ; ZWJ - ) - -;; Stage 0 -;; Decompose two-part vowels. -(generator - (0 - (cond - ((0x0D4A) - 0x0D46 0x0D3E) - ((0x0D4B) - 0x0D47 0x0D3E) - ((0x0D4C) - 0x0D46 0x0D57) - ("." =)) - *)) - -;; Stage 1 -;; Syllable identification and reordering. -;; Put the mark Z after the base consonant. -(generator - (0 - (cond - ;; A syllable with a left vowel sign. - ;;1 2 3 4 - ("([CP](H[CP])*)(m)(p?A?)" - < | (3 =) (1 move-h) (4 = *) | >) - - ;; A syllable with a right vowel sign, a below vowel sign - ;; and/or a vowel modifier. - ;;1 2 3 - ("([CP](H[CP])*)(bA?|pA?|A)" - < | (1 move-h) (3 = *) | >) - - ;; Forced chillu form. - ;;1 2 3 - ("([CP](H[CP])*)(HJ)" - < | (1 move-h) (3 = =) | >) - - ;; A syllable with no vowel signs/modifiers, optionally followed by - ;; an H or an HN. - ;;1 2 3 - ("([CP](H[CP])*)(H|HN)?" - < | (1 move-h) (3 0x0D4D) | >) - - ;; Starting with an independent vowel. - ("VA?" - < | (0 = *) | >) - - ("." =)) - *) - - - ;; Move the halant that follows the base consonant to the end. - (move-h - (cond - ;; All consonants are P's. - ("(P)(H)([PH]*)$" - (1 =) 0x0D00 (3 = *) (2 =)) - - ;; One or more Non-P consonants. - ("([CPH]*C)(H)([PH]+)$" - (1 = *) 0x0D00 (3 = *) (2 =)) - - ;; Otherwise, final consonant is not P. No need to move H. - (".+" - = * 0x0D00))) - ) - -;; Stage 2 -;; Apply GSUB features. -(generator - (0 - (cond - ;; The tested fonts make LA's below form with 1. 'half' + 'blws', - ;; 2. 'half' + 'pres' or 3. 'akhn'. - ;; 1 2 3 4 - (" (m)?([CPH]*)(Z)([PHbpAJ]*) " - | (1 =) (2 otf:mlym=akhn,half,pstf,pres,abvs,blws+) (3 =) - (4 otf:mlym=pstf+) |) - - ("." =)) - *)) - -;; Stage 3 -;; Second reordering. If there are glyphs before the base, move left -;; vowel sign to the left of the base. -(generator - (0 - (cond - ;; 1 2 3 4 - (" (m)?([^Z ]*)([^Z])Z([^ ]*) " - | (2 = *) (1 =) (3 =) (4 = *) |) - - ("." =)) - *)) - -;; Stage 4 -;; Apply remaining GSUB and GPOS features to all syllables. To get -;; correct Y.YA and V.VA conjunctions, we must apply 'psts' to the -;; entire syllable. -(generator - (0 - (cond - (" ([^ ]+) " - (1 otf:mlym=psts,haln+abvm,blwm,dist)) - ("." - [ = ])) - *)) - -;; Copyright (C) 2003, 2004, 2005, 2007, 2008 -;; 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: diff --git a/FLT/MLYM-RACHANA.flt b/FLT/MLYM-RACHANA.flt deleted file mode 100644 index e1d5b51..0000000 --- a/FLT/MLYM-RACHANA.flt +++ /dev/null @@ -1,136 +0,0 @@ -;; MLYM-RACHANA.flt -- Font Layout Table for Malayalam Rachana font -;; Copyright (C) 2005, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter mlym-rachana nil - (font (nil rachana unicode-bmp))) - -;;;
  • MLYM-RACHANA.flt -;;; -;;; For the Rachana Malayalam fonts to draw the traditional Malayalam -;;; script. This fonts handles virtually all ligatures with the AKHN -;;; feature without character reordering. - -;; The first stage is to extract a syllable and re-order characters. -(category - ;; C: consonant - ;; H: HALANT - ;; m: MATRA (Mpre) - ;; p: MATRA (Mpost) - ;; t: MATRA (two-part: Mpre+Mpost) - ;; A: vowel modifier (post) (ANUSVARA and VISARGA) - ;; V: independent vowel - ;; E: else (all other independnt characters) - (0x0D00 0x0D7F ?E) ; else - (0x0D02 0x0D03 ?A) ; ANUSVARA & VISARGA - (0x0D05 0x0D14 ?V) ; independent vowel - (0x0D15 0x0D39 ?C) ; consonant - (0x0D3E 0x0D43 ?p) ; dependent vowel (Mpost) - (0x0D46 0x0D48 ?m) ; dependent vowel (Mpre) - (0x0D4A 0x0D4C ?t) ; dependent vowel (two-part) - (0x0D4D ?H) ; VIRAMA (HALANT) - (0x0D57 ?p) ; dependent vowel (Mpost) - (0x0D60 ?V) ; VOCALIC RR - (0x0D61 ?V) ; VOCALIC LL - (0x0D7F ?x) ; Internal use - (0x200C ?N) ; ZERO WIDTH NON-JOINER - (0x200D ?J) ; ZERO WIDTH JOINER - ) - -;; Step 0. Syllable identification. -(generator - (0 - (cond - ;; Halant + ZWNJ -- forced explicit halant. - ("((CH)*C)HN" - < | (1 otf:mlym=akhn,psts,haln) 0x0D4D | >) - - ;; Halant + ZWJ -- forced cillaksaram. - ("(CH)*(CH)J" - < | (1 otf:mlym=akhn,psts,haln) (2 otf:mlym=haln) | >) - - ;; Pre-consonant vowel is temporarily moved to the leftmost - ;; position to permit consonant ligature. - ("((CH)*C)(m)(A?)" - < | (3 =) (1 otf:mlym=akhn,psts,haln) 0x0D7F (4 =) | >) - - ;; Two-part vowel sign. - ("((CH)*C)(t)(A?)" - < | (3 pre) (1 otf:mlym=akhn,psts,haln) 0x0D7F (3 post) (4 =) | >) - - ;; Post-consonant vowel sign and/or vowel modifier. - ("((CH)*C(pA?|A))" - < | (1 otf:mlym=akhn,psts,haln) | >) - - ;; No vowel sign. - ("((CH)*C(H?))" - < | (1 otf:mlym=akhn,psts,haln) | >) - - ;; A syllable starting with an independent vowel. - ("(VA?)" - < | (1 = *) | >) - - ;; Other dedependent character. - ("[Apmt]" [ = ]) - - ;; Other independent character. - ("." =)) - *) - - ;; Former part of two-part vowel sign. - (pre - (cond - ((0x0D4A) 0x0D46) - ((0x0D4B) 0x0D47) - ((0x0D4C) 0x0D46))) - - ;; Latter part of two-part vowel sign. - (post - (cond - ((0x0D4A) 0x0D3E) - ((0x0D4B) 0x0D3E) - ((0x0D4C) 0x0D57)))) - -;; Step 1. Move Mpre to the left of base consonant(-cluster). -(generator - (0 - (cond - (" (m)([^x]*)([^x])x([^ ]*) " - (2 = *) (1 =) (3 =) (4 = *)) - ("." - =)) - *)) - -;; Step 2. Finalise. -(generator - (0 - (cond - (" ([^ ]*) " (1 otf:mlym=+)) - ("." =)) - *)) - -;; Copyright (C) 2005, 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: emacs-lisp -;; End: diff --git a/FLT/MYMR-MYAZEDI.flt b/FLT/MYMR-MYAZEDI.flt deleted file mode 100644 index 47d6065..0000000 --- a/FLT/MYMR-MYAZEDI.flt +++ /dev/null @@ -1,379 +0,0 @@ -;; MYMR-MYAZEDI.flt -- Font Layout Table for Myanmar (Zedi font) -;; Copyright (C) 2004, 2005, 2006, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter mymr-myazedi nil - (font (nil myazedi_m17n unicode-bmp))) - -;;;
  • MYMR-MYAZEDI.flt -;;; -;;; For the Myanmar Zedi family fonts to draw Myanmar script. -;;; - -;; 1st stage -;; Extract syllable while detecting Kinzi, substituting subscripts, -;; and removing Halants. - -(category - (0x1000 0x107F ?O) ; other - (0x1000 0x1021 ?C) ; consonant except for c, K, n, M - (0x1000 0x1003 ?c) ; consonant that has subscript form - (0x1004 ?K) ; consonant NGA - (0x1005 0x1008 ?c) - (0x100B 0x100C ?c) - (0x100F 0x1019 ?c) - (0xE014 ?c) - (0xE01B ?c) - (0x1014 ?n) ; consonant NA - (0x101C ?c) - ;; cosonants that can be a Medial - (0x101A ?M) ; medial Ya - (0x101B ?M) ; medial Ra - (0x101D ?M) ; medial Wa - (0x101F ?M) ; medial Ha - (0x1021 0x102A ?I) ; independent vowel - (0x102C 0x1032 ?V) ; dependent Vowel - (0x1036 ?A) ; sign ANUSVARA - (0x1037 0x1038 ?S) ; other sign - (0x1039 ?H) ; HALANT (VIRAMA) - (0x200C ?N) ; ZWNJ (Zero Width Non Joiner) - (0x200D ?J) ; ZWJ (Zero Width Joiner) - ) - -(generator - (0 - (cond - ;; The following regular expression matches a graphme cluster pattern - ;; described in Table 10-3 of the Unicode Standard 4.0 except for - ;; Kinzi which is encoded by the sequence "U+1004 U+1039 U+200D". - ;; - ;;<-1-><---------2--------><--4--><--6---><7-><8-> - ;; <---3---> <5-> - ("(KHJ)([CcnKMr](H[CcnK])?)((HM)*)(V*A?H?)(N)?(S*)" - | < (1 0xE390) (2 consonant) (4 remove-halant *) (6 = *) (7) (8 = *) > |) - - ;; Irregular independent Kinzi - ("KHJ" - [ 0xE390 ]) - - ;; Cluster without Kinzi - ("([CcnKMr](H[CcnK])?)((HM)*)(V*A?H?)(N)?(S*)" - | < (1 consonant) (3 remove-halant *) (5 = *) (6) (7 = *) > |) - - ;; Fixme: I'm not sure about the syllable pattern for an - ;; independent vowel. - ("IV*[AS]*" - | < = * > |) - - ;; Treat anything else as a single character. - ("." - [ = ])) - *) - - (consonant - (cond - ((0x100B 0x1039 0x100C) 0xE10C) - ((0x100D 0x1039 0x100D) 0xE00D) - ((0x100E 0x1039 0x100D) 0xE10D) - ((0x100F 0x1039 0x100D) 0xE20D) - ((0x101E 0x1039 0x101E) 0xE01E) - ("(n)H([cn])" 0xE140 (2 subscript)) - ("(.)H([cn])" (1 =) (2 subscript)) - ("(.)H(.)" (1 =) (2 =)) - ("." =))) - - (subscript - (cond ((range 0x1000 0x101C) 0xE000))) - - (remove-halant - (cond - ((0x1039)) - ("." =)))) - -;; 2nd stage -;; Handle medials. - -(category - (0x1000 0x107F ?O) ; other - (0x1000 0x1021 ?W) ; wide consonant - (0x1001 0x1002 ?S) ; single-width consonant - (0x1004 0x1005 ?S) - (0x1007 0x1008 ?S) - (0x100B 0x100E ?S) - (0x1012 0x1017 ?S) - (0x1019 ?S) - (0x101A ?a) ; medial Ya - (0x101B ?b) ; medial Ra - (0x101D ?d) ; medial Wa - (0x101F ?f) ; medial Ha - (0x1020 ?S) - (0x102D 0x102E ?V) ; dependent vowel (upper) - (0x1032 ?V) - (0x200C ?N) ; ZWNJ - (0xE000 0xE3FF ?O) - (0xE000 0xE01E ?w) ; wide subscript - (0xE001 0xE002 ?s) ; single-width subscript - (0xE005 ?s) - (0xE007 ?s) - (0xE00B ?s) - (0xE012 0xE017 ?s) - (0xE019 ?s) - (0xE10C 0xE10D ?s) - (0xE140 ?s) - (0xE20D ?w) - (0xE390 ?K) ; Kinzi - ) - -(generator - (0 - (cond - (" (K)?([WSabdfws][WSKws]?[abdf][abdf]*[^ ]*) " - | (1 =) (2 medial = *) |) - (" ([^ ]*) " - = *) - ("." - =)) - *) - - (medial - (cond - ;; Medial Ya (U+101A) - ("(..?)adf" (1 = *) 0xE1A2) - ("(..?)ad" (1 = *) 0xE1A4) - ("(..?)af" (1 = *) 0xE1A3) - ("(..?)a" (1 = *) 0xE1A1) - - ;; Medial Ra (U+101B) - ("([Waf]|.[Ww])bdf" 0xE1BA (1 = *)) - ("(..?)bdf" 0xE1B9 (1 = *)) - ("([Waf]|.[Ww])bd" 0xE1B8 (1 = *)) - ("(..?)bd" 0xE1B7 (1 = *)) - ("([Waf]|.[Ww])b(f)?(V)" 0xE1B6 (1 = *) (2 0xE1F3) (3 =)) - ("(..?)b(f)?(V)" 0xE1B5 (1 = *) (2 0xE1F3) (3 =)) - ;; Single-width consonant + a wide subscript + Medial Ra. - ;; To use glyph E1B4, we must shift the single-width consonant to - ;; the right. - ("([Sd][Ww])b" 0xE1B4 Br>32Bl (1 = *)) - ("([Waf].|.[Ww])b" 0xE1B4 (1 = *)) - ("(s|..)b" 0xE1B3 (1 = *)) - ("([Waf])b(f)?" 0xE1B2 (1 = *) (2 0xE1F3)) - ("(.)b(f)?" 0xE1B1 (1 = *) (2 0xE1F3)) - - ;; Medial Wa (U+101D) - ("(..?)df" (1 = *) 0xE1D1) - ("(..?)d" (1 = *) 0xE01D) - - ;; Medial Ha (U+101F) - ((0x100A 0x101F) 0x100A 0xE1F3) - ("(..?)f" (1 = *) 0xE1F1)))) - -;; 3rd stage -;; Reorder Kinzi and Vowel E. Handle Kinzi-vowel combination. - -(category - (0x1000 0x107F ?O) - (0x1000 0x1021 ?C) ; Consonants except for c - (0x1001 0x1002 ?c) ; Consonants affecting the shape of - (0x1004 ?c) ; the following vowel U+102C - (0x1012 ?c) - (0x1015 ?c) - (0x101D ?c) - (0x1008 ?b) - (0x100A 0x100D ?b) - (0x1020 ?b) - (0x1025 ?b) - (0x102C ?A) ; Vowel AA - (0x102D ?i) ; Vowel I - (0x102E ?I) ; Vowel II - (0x102F ?u) ; Vowel U - (0x1030 ?U) ; Vowel UU - (0x1031 ?e) ; Vowel E - (0x1032 ?V) ; Vowel AI - (0x1036 0x1038 ?D) - (0x1039 ?H) - (0x200C ?N) - (0x200D ?J) - (0xE000 0xE3FF ?O) - (0xE000 0xE01D ?b) - (0xE140 ?B) - (0xE1A1 0xE1B0 ?b) - (0xE1B1 0xE1BA ?B) - (0xE1D1 0xE1F1 ?B) - (0xE20D ?b) - (0xE390 ?K) ; Kinzi - ) - -(generator - (0 - (cond - (" K([CcbB]*)(e)([^ ]*) " - | (2 =) (1 = *) (3 kinzi-vowel = *) |) - (" K([CcbB]*)([^ ]*) " - | (1 = *) (2 kinzi-vowel = *) |) - (" ([CcbB]*)(e)([^ ]*) " - | (2 =) (1 = *) (3 = *) |) - (" ([^ ]*) " - = *) - ("." - =)) - *) - - (kinzi-vowel - (cond - ((0x102D) 0xE391) - ((0x102E) 0xE391) - ((0x1036) 0xE393) - 0xE390))) - -;; 4th stage -;; Various glyph substitions. - -(generator - (0 - (cond - (" ([^ ]*) " - | - (1 - (cond - ;; Consonant substituion. - ((0x1009 0x1039) 0x1025 0x1039) - ((0x1009 0xE005) 0xE109 Br>5Bl 0xE005) -;; ((0x101B 0x102F) 0xE01B 0x102F) -;; ((0x101B 0x1030) 0xE01B 0x1030) -;; ((0x1014 0x102F) 0xE140 0x102F) -;; ((0x1014 0x1030) 0xE140 0x1030) - -;; ;; Sign substituion. -;; ((0x102F 0x1037) 0x102F 0xE137) -;; ((0x1030 0x1037) 0x1030 0xE137) -;; ((0xE01D 0x1037) 0xE01D 0xE137) -;; ((0xE1A1 0x1036 0x1037) 0xE1A1 0x1036 0xE137) -;; ((0xE1A1 0x1032 0x1037) 0xE1A1 0x1032 0xE137) -;; ((0xE01D 0x1032 0x1037) 0xE01D 0x1032 0xE137) -;; ((0xE01D 0x1036 0x1037) 0xE01D 0x1036 0xE137) - - ;; Vowel substituion. - ((0xE1F1 0x102F) 0xE1F2) - ((0xE1F1 0x102D 0x102F) 0xE1F2 0x102D) - ((0xE1F1 0x102E 0x102F) 0xE1F2 0x102E) - ((0xE1F1 0x1032 0x102F) 0xE1F2 0x1032) - ("BcK?A" = = = =) - ("cAH" = 0xE02D) - ("cA" = 0xE02C) - ("cKA" = = Br>Bl 0xE02C) - ((0x1012 0xE012 0x102C 0x1039) = = 0xE02D) - ((0x1012 0xE01D 0x102C 0x1039) = = 0xE02D) - ((0x1012 0xE012 0x102C) = = 0xE02C) - ((0x1012 0xE01D 0x102C) = = 0xE02C) - ((0x102D 0x1036) 0xE2D1) - ("([bB][^u]*)u" (1 = *) 0xE2F1) - ("([bB][^u]*)U" (1 = *) 0xE2F2) - ("." =)) - *) - |) - ("." - =)) - *)) - -;; 5th stage -;; Adjust below characters (U+102F, U+1037, etc) - -(category - (0x1000 0x107F ?O) - (0x200C 0x200D ?O) - (0xE000 0xE3FF ?O) - (0x1014 ?T) ; tall consonant (substituted) - (0x101B ?T) - (0x102F 0x1030 ?B) ; below position (substitute tall one) - (0x1037 ?b) ; shift to right - (0xE01D ?B) - (0xE1A1 ?B) - (0xE1D1 ?B) - (0xE1B1 0xE1BA ?L) - (0xE1F1 0xE1F2 ?B) - (0xE2F1 0xE2F2 ?L) ; has lower part - ) - -(generator - (0 - (cond - (" ([^ ]*) " - | - (1 - (cond - ("(T)(B)([OL])?(b)?" - (1 (cond ((0x1014) 0xE140) ((0x101B) 0xE01B))) - (2 =) - (3 = *) - (4 0xE137)) - ("([TBL])(O*)?(b)" - (1 =) (2 = *) (3 0xE137)) - ("." =)) - *) - |) - ("OO*" = *) - ("." =)) - *)) - -;; 6th stage -;; Adjust conbination of normal consonant and wide subconsonant. - -(category - (0x1000 0x107F ?O) - (0x200C 0x200D ?O) - (0xE000 0xE3FF ?O) - (0x1001 0x1002 ?n) - (0x1004 0x1005 ?n) - (0x1007 ?n) - (0x100E ?n) - (0x1012 0x1013 ?n) - (0x1015 0x1017 ?n) - (0x1019 ?n) - (0x101D ?n) - (0xE000 ?w) - (0xE003 ?w) - (0xE006 ?w) - (0xE00C ?w) - (0xE00F ?w) - (0xE010 0xE011 ?w) - (0xE018 ?w)) - -(generator - (0 - (cond - (" (n)(w)([^ ]*) " - \[ (1 =) (2 Br>17Bl =) (3 = *)) - (" ([^ ]*) " - (1 = *)) - ("." - =)) - *)) - -;; Copyright (C) 2004, 2005, 2006, 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: emacs-lisp -;; coding: utf-8 -;; End: diff --git a/FLT/NO-CTL.flt b/FLT/NO-CTL.flt deleted file mode 100644 index 46c30da..0000000 --- a/FLT/NO-CTL.flt +++ /dev/null @@ -1,47 +0,0 @@ -;; NO-CLT.flt -- Font Layout Table suppressing Complex Text Layout -;; Copyright (C) 2003, 2004, 2005 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter no-ctl nil) - -;;;
  • NO-CTL.flt -;;; -;;; This is to suppress Complex Text Layout for many scripts. This -;;; FLT can be used for fonts that have Unicode encoding. Even if a -;;; glyph in a font has zero width, the glyph is displayed as if it is -;;; a spacing glyph. - -(category - (0x0000 0x10FFFF ?C) -) - -(generator - (0 - (cond - ("C" [ = ])) - *)) - -;; Copyright (C) 2003, 2004, 2005 -;; National Institute of Advanced Industrial Science and Technology (AIST) -;; Registration Number H15PRO112 - -;; This file is 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: diff --git a/FLT/ORYA-OTF.flt b/FLT/ORYA-OTF.flt deleted file mode 100644 index 2673409..0000000 --- a/FLT/ORYA-OTF.flt +++ /dev/null @@ -1,234 +0,0 @@ -;; ORYA-OTF.flt -- Font Layout Table for Oriya OpenType font -;; Copyright (C) 2004, 2007, 2008 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter orya-otf nil - (font (nil nil unicode-bmp :otf=orya=rphf))) - -;;;
  • ORYA-OTF.flt -;;; -;;; For Oriya OpenType fonts to draw the Oriya script. - -(category - ;; C: consonant (except for R, B and Y) - ;; R: consonant RA - ;; B: consonant (below) - ;; Y: consonant (post) - ;; n: NUKTA - ;; H: HALANT - ;; m: vowel sign (pre) - ;; u: vowel sign (above) - ;; b: vowel sign (below) - ;; p: vowel sign (post) - ;; t: vowel sign (two-part) - ;; A: vowel modifier (above) - ;; a: vowel modifier (post) - ;; V: independent vowel - ;; N: ZWNJ (ZERO WIDTH NON-JOINER) - ;; J: ZWJ (ZERO WIDTH JOINER) - ;; X: generic - ;; Z: internal use - (0x0B00 0x0B7F ?X) ; generic - (0x0B00 ?Z) ; internal use - (0x0B01 0x0B03 ?a) ; SIGN CANDRABINDU .. VISARGA - (0x0B05 0x0B14 ?V) ; LETTER A .. VOCALIC AU - (0x0B15 0x0B39 ?C) ; LETTER KA .. HA - (0x0B24 ?B) ; LETTER TA - (0x0B28 ?B) ; LETTER NA - (0x0B2C 0x0B2E ?B) ; LETTER BA .. MA - (0x0B2F ?Y) ; LETTER YA - (0x0B30 ?R) ; LETTER RA - (0x0B32 0x0B33 ?B) ; LETTER LA - (0x0B33 ?B) ; LETTER LLA - (0x0B3C ?n) ; SIGN NUKTA - (0x0B3E ?p) ; VOWEL SIGN AA - (0x0B3F ?u) ; VOWEL SIGN I - (0x0B40 ?p) ; VOWEL SIGN II - (0x0B41 0x0B44 ?b) ; VOWEL SIGN U .. VOCALIC RR - (0x0B47 ?m) ; VOWEL SIGN E - (0x0B48 0x0B4C ?t) ; VOWEL SIGN AI .. AU - (0x0B4D ?H) ; SIGN VIRAMA - (0x0B56 ?u) ; AI LENGTH MARK - (0x0B57 ?p) ; AU LENGTH MARK - (0x0B5C 0x0B5D ?C) ; LETTER RRA .. RHA - (0x0B5F ?Y) ; LETTER YYA - (0x0B60 0x0B61 ?V) ; LETTER VOCALIC RR .. LL - (0x0B62 0x0B63 ?b) ; VOWEL SIGN VOCALIC L .. LL - (0x0B71 ?C) ; LETTER WA - (0x0B64 0x0B65 ?X) ; DANDA .. DOUBLE DANDA - (0x200C ?N) ; ZWNJ - (0x200D ?J) ; ZWJ - ) - -(generator - (0 - (cond - ;; Decompose two-part vowel signs. - ((0x0B48) - 0x0B47 0x0B56) - ((0x0B4B) - 0x0B47 0x0B3E) - ((0x0B4C) - 0x0B47 0x0B57) - ;; Compose consonant and nukta. - ((0x0B21 0x0B3C) - 0x0B5C) - ((0x0B22 0x0B3C) - 0x0B5D) - ;; Move ZWJ before the consonant. - ("([CRBY]n?)(J)" - (2 =) (1 = *)) - ("." =)) - *)) - -;; Syllable identification and reordering. -;; Do not apply 'rphf' if a syllable begins with a ZWJ. -(generator - (0 - (cond - ;; A syllable with a ZWJ and a pre-base vowel sign. - ;;1 23 4 5 6 7 - ("(J)(([CRBY]n?H)*[CRBY]n?)(m)(u)?(p)?(a)?" - < | (1 =) (4 =) (2 pre-below) (5 =) (2 post) (6 =) (7 =) | >) - - ;; A syllable with a ZWJ and a non-pre-base vowel sign. - ;;1 23 45 6 7 - ("(J)(([CRBY]n?H)*[CRBY]n?)(([bu])|(p))(a)?" - < | (1 =) (2 pre-below) (5 =) (2 post) (6 =) (7 =) | >) - - ;; A syllable with a ZWJ and a vowel modifier, but without vowel signs. - ;;1 23 4 - ("(J)(([CRBY]n?H)*[CRBY]n?)(a)" - < | (1 =) (2 pre-below) (2 post) (4 =) | >) - - ;; Add a ZWNJ explicitly when a syllable ends with a halant. - ;;1 23 4 - ("(J)(([CRBY]n?H)*[CRBY]n?)(HN?)?" - < | (1 =) (2 pre-below) (4 = 0x200C) (2 post) | >) - - ;; With a pre-base vowel sign, without a ZWJ. - ;;1 23 4 5 6 7 - ("(RH)?(([CRBY]n?H)*[CRBY]n?)(m)(u)?(p)?(a)?" - < | - (4 =) (2 pre-below) (5 =) (1 otf:orya=rphf) (2 post) (6 =) (7 =) - | >) - - ;; With a non-pre-base vowel sign, without a ZWJ. - ;; 1 23 45 6 7 - ("(RH)?(([CRBY]n?H)*[CRBY]n?)(([bu])|(p))(a)?" - < | (2 pre-below) (5 =) (1 otf:orya=rphf) (2 post) (6 =) (7 =) | >) - - ;; With a vowel modifier, without vowel signs and a ZWJ. - ;;1 23 4 - ("(RH)?(([CRBY]n?H)*[CRBY]n?)(a)" - < | (2 pre-below) (1 otf:orya=rphf) (2 post) (4 =) | >) - - ;; Add a ZWNJ explicitly when a syllable ends with a halant. - ;;1 23 4 - ("(RH)?(([CRBY]n?H)*[CRBY]n?)(HN?)?" - < | (2 pre-below) (1 otf:orya=rphf) (4 = 0x200C) (2 post) | >) - - ;; A syllable starting with an independent vowel. - ("Va?" - < | = * | >) - - ("." =)) - *) - - ;; Move a halant after the base consonant to the end. - ;; Fill the resulting gap with a special mark. - ;; Remove post-base parts. - (pre-below - (cond - ("([CRBYnH]*[CYn])H([RBH]+)[YH]+$" - (1 = *) 0x0B00 (2 = *)) - ("([CRBYnH]*[CYn])(H)([RBH]+)$" - (1 = *) 0x0B00 (3 = *) (2 =)) - ("([CRBYnH]*[Cn])[YH]*$" - (1 = *) 0x0B00) - ("([RB]n?)H([RBH]*)[YH]+$" - (1 = *) 0x0B00 (2 = *)) - ("([RB]n?)(H)([RBH]*)$" - (1 = *) 0x0B00 (3 = *) (2 =)) - ("([RBY]n?)[YH]*$" - (1 = *) 0x0B00))) - - ;; Extract post-base parts and add a halant at the end. - ;; Produce nothing if there are no post-base parts. - (post - (cond - ("[CRBYnH]*[CRBn]H([YH]+)$" - (1 = *) 0x0B4D) - ("Yn?H([YH]+)$" - (1 = *) 0x0B4D) - (".+" - ))) - ) - -;; Apply language forms to concerning segments. -(generator - (0 - (cond - ;; If a syllable contains a ZWNJ, render the final halant explicitly. - (" ([^Z]+)(Z)([^N]*)(HN)([^ ]*) " - | (1 otf:orya=nukt,akhn,half,pres+) (2 =) (3 otf:orya=blwf+) (4 = =) - (5 otf:orya=pstf+) |) - - (" (J?m?)([^Z]+)(Z)([^ ]*) " - | (1 = *) (2 otf:orya=nukt,akhn,half,pres+) (3 =) (4 otf:orya=blwf,pstf+) |) - - ("." =)) - *)) - -;; When the number of glyphs between a pre-base vowel sign and the -;; post-base mark is more than one, move the pre-base vowel sign -;; before the final glyph. -(generator - (0 - (cond - (" (J)?(m)([^Z]+)([^Z])Z([^N ]*)N?([^ ]*) " - | (1 =) (3 = *) (2 =) (4 =) (5 = *) (6 = *)|) - (" ([^Z]+)Z([^N ]*)N?([^ ]*) " - | (1 = *) (2 = *) (3 = *) |) - ("." =)) - *)) - -;; Apply other features. -;; Do not apply 'vatu' and 'blws' if there is a ZWJ. -;; The 'pres' feature is applied again for pre-base vowel sign. -(generator - (0 - (cond - (" J([^ ]+) " - (1 otf:orya=pres,abvs,pstp,haln+abvm,blwm,dist)) - (" ([^ ]+) " - (1 otf:orya=vatu,pres,abvs,blws,pstp,haln+abvm,blwm,dist)) - ("." - [ = ])) - *)) - -;; Copyright (C) 2004, 2007, 2008 -;; 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: diff --git a/FLT/SINH-OTF.flt b/FLT/SINH-OTF.flt deleted file mode 100644 index 7c0ae83..0000000 --- a/FLT/SINH-OTF.flt +++ /dev/null @@ -1,134 +0,0 @@ -;; SINH-OTF.flt -- Font Layout Table for Sinhala OpenType fonts -;; Copyright (C) 2004, 2005, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter sinh-otf nil - (font (nil nil unicode-bmp :otf=sinh=akhn))) - -;;;
  • SINH-OTF.flt -;;; -;;; For Sinhala OpenType fonts to draw Sinhala. -;;; A Font is available from . - -(category - ;; V : independent vowels - ;; C : consonants - ;; H : AL-LAKUNA (virama) - ;; m : KOMBUVA - ;; M : DIGA KOMBUVA - ;; b : below-consonant vowel signs - ;; u : above-consonant vowel signs - ;; p : post-consonant vowel signs - ;; q : AELA-PILLA - ;; r : GAYANUKITTA - ;; s : KOMBUVA HAA AELA-PILLA - ;; t : two-part vowel sign - ;; a : AVUSVARAYA & VISARGAYA - ;; E : else - ;; J : ZERO WIDTH JOINER - (0x0D80 0x0DFF ?E) - (0x0D82 0x0D83 ?a) - (0x0D85 0x0D96 ?V) - (0x0D96 0x0DC6 ?C) - (0x0DCA ?H) - (0x0DCF ?q) - (0x0DD0 0x0DD1 ?p) - (0x0DD2 0x0DD3 ?u) - (0x0DD4 0x0DD6 ?b) - (0x0DD8 ?p) - (0x0DD9 ?m) - (0x0DDA ?t) - (0x0DDB ?M) - (0x0DDC ?s) - (0x0DDD 0x0DDE ?t) - (0x0DDF ?r) - (0x0DF2 0x0DF3 ?p) - (0x200D ?J) - ) - -;; Step 0 : Syllable identification -(generator - - (0 - (cond - ;; A syllable containing a completely decomposed two-part vowel sign. - ("(C(HJ[CR])*)(m(H|qH?|r)a?)" - < | (1 otf:sinh=akhn,vatu,pres) (3 = *) | >) - - ;; A syllable containing KOMBUVA HAA AELA-PILLA. - ("(C(HJ[CR])*)(s)(H)?(a)?" - < | (1 otf:sinh=akhn,vatu,pres) (3 two-part) (4 =) (5 =) | >) - - ;; A syllable with a two-part vowel sign. - ("(C(HJ[CR])*)(t)(a)?" - < | (1 otf:sinh=akhn,vatu,pres) (3 two-part) (4 =) | >) - - ;; A syllable with a vowel sign and/or a various sign. - ("(C(HJ[CR])*)([mMbupqr]a?|a)" - < | (1 otf:sinh=akhn,vatu,pres) (3 = *) | >) - - ;; No signs. - ("C(HJ[CR])*H?" - < | otf:sinh=akhn,vatu,pres | >) - - ;; Independent vowels. - ("Va?" - < | = * | >) - - ("." =)) - *) - - ;; Split two-part dependent vowel signs for canonicalisation. - (two-part - (cond - ((0x0DDA) 0x0DD9 0x0DCA) - ((0x0DDC) 0x0DD9 0x0DCF) - ((0x0DDD) 0x0DD9 0x0DCF 0x0DCA) - ((0x0DDE) 0x0DD9 0x0DDF))) - ) - -;; Step 1 : Move pre-consonant signs. -(generator - (0 - (cond - ;; 1 2 3 4 5 6 7 8 9 - (" ([^ mMbupqr]+)(m|M)?(b)?(u)?(p)?(q)?(r)?(H)?(a)? " - | (2 =) (1 = *) (3 =) (4 =) (5 =) (6 =) (7 =) (8 =) (9 =) |) - ("." =)) - *)) - -;; Step 2 : OTF substitutions. -(generator - (0 - (cond - (" ([^ ]*) " - (1 otf:sinh)) - ("." - [ = ])) - *)) - -;; Copyright (C) 2004, 2005, 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: emacs-lisp -;; End: diff --git a/FLT/SYRC-OTF.flt b/FLT/SYRC-OTF.flt deleted file mode 100644 index 5cb7fb6..0000000 --- a/FLT/SYRC-OTF.flt +++ /dev/null @@ -1,186 +0,0 @@ -;; 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))) - -;;;
  • 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: diff --git a/FLT/TAML-CDAC.flt b/FLT/TAML-CDAC.flt deleted file mode 100644 index 1dcf85b..0000000 --- a/FLT/TAML-CDAC.flt +++ /dev/null @@ -1,348 +0,0 @@ -;; TAML-CDAC.flt -- Font Layout Table for Tamil (C-DAC font) -;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter taml-cdac nil - (font (nil tm-ttvalluvar apple-roman))) - -;;;
  • TAML-CDAC.flt -;;; -;;; For the font TMVL0ntt.ttf (developped by C-DAC, encoding is ISFOC) -;;; to draw Tamil script. The font is available at: -;;; - -(category - ;; C: CONSONANT - ;; I: INDEPENDENT VOWEL - ;; R: DEPENDENT VOWEL RIGHT - ;; L: DEPENDENT VOWEL LEFT - ;; B: DEPENDENT VOWEL LEFT AND RIGHT TYPE 1 - ;; b: DEPENDENT VOWEL LEFT AND RIGHT TYPE 2 - ;; V: VIRAMA - ;; E: ELSE - ;; - (0x0B83 ?E) - (0x0B85 0x0B8A ?I) - (0x0B8E 0x0B90 ?I) - (0x0B92 0x0B94 ?I) - (0x0B95 ?C) - (0x0B99 0x0B9A ?C) - (0x0B9C ?C) - (0x0B9E 0x0B9F ?C) - (0x0BA3 0x0BA4 ?C) - (0x0BA8 0x0BAA ?C) - (0x0BAE 0x0BB5 ?C) - (0x0BB7 0x0BB9 ?C) - (0x0BBE 0x0BC2 ?R) - (0x0BC6 0x0BC8 ?L) - (0x0BCA ?B) - (0x0BCB ?b) - (0x0BCC ?B) - (0x0BCD ?V) - (0x0BD7 ?E)) - -;; CHAR->GLYPH STAGE -(generator - (0 - (cond - ("((CV)*)(C)(R)" - (1 consonant-virama *) - (3 consonant) - (4 dependent-vowel)) - ("((CV)*)(C)(L)" - < | - (4 dependent-vowel) - (1 consonant-virama *) - (3 consonant) - | >) - ("((CV)*)(C)(B)" - < | - 0xAA - (1 consonant-virama *) - (3 consonant) - (4 dependent-vowel) - | >) - ("((CV)*)(C)(b)" - < | - 0xAB - (1 consonant-virama *) - (3 consonant) - (4 dependent-vowel) - | >) - ("CV" - < consonant-virama >) - ("[RLBb]" - isolated-dependent-vowel) - ("." independent consonant)) - *) - - (consonant-virama - (cond - ((0x0B95 0x0BCD) 0xE8 0xA2) ; k - ((0x0B99 0x0BCD) 0xE9 0xA2) ; n^ - ((0x0B9A 0x0BCD) 0xEA 0xA2) ; c - ((0x0B9E 0x0BCD) 0xEB 0xA2) ; n~ - ((0x0B9F 0x0BCD) 0xEC 0xA2) ; t. - ((0x0BA3 0x0BCD) 0xED 0xA2) ; n. - ((0x0BA4 0x0BCD) 0xEE 0xA2) ; t - ((0x0BA8 0x0BCD) 0xEF 0xA2) ; n - ((0x0BAA 0x0BCD) 0xF0 0xA2) ; p - ((0x0BAE 0x0BCD) 0xF1 0xA2) ; m - ((0x0BAF 0x0BCD) 0xF2 0xA2) ; y - ((0x0BB0 0x0BCD) 0xF3 0xA2) ; r - ((0x0BB2 0x0BCD) 0xF4 0xA2) ; l - ((0x0BB5 0x0BCD) 0xF5 0xA2) ; v - ((0x0BB4 0x0BCD) 0xF6 0xA2) ; l_ - ((0x0BB3 0x0BCD) 0xF7 0xA2) ; l. - ((0x0BB1 0x0BCD) 0xF8 0xA2) ; r_ - ((0x0BA9 0x0BCD) 0xA1) ; n_ - ((0x0BB8 0x0BCD) 0x76) ; s - ((0x0BB7 0x0BCD) 0x77) ; s' - ((0x0B9C 0x0BCD) 0x78) ; j - ((0x0BB9 0x0BCD) 0x79) ; h - )) - - (consonant - (cond - ((0x0B95) 0xE8) ; k - ((0x0B99) 0xE9) ; n^ - ((0x0B9A) 0xEA) ; c - ((0x0B9E) 0xEB) ; n~ - ((0x0B9F) 0xEC) ; t. - ((0x0BA3) 0xED) ; n. - ((0x0BA4) 0xEE) ; t - ((0x0BA8) 0xEF) ; n - ((0x0BAA) 0xF0) ; p - ((0x0BAE) 0xF1) ; m - ((0x0BAF) 0xF2) ; y - ((0x0BB0) 0xF3) ; r - ((0x0BB2) 0xF4) ; l - ((0x0BB5) 0xF5) ; v - ((0x0BB4) 0xF6) ; l_ - ((0x0BB3) 0xF7) ; l. - ((0x0BB1) 0xF8) ; r_ - ((0x0BA9) 0xF9) ; n_ - ((0x0BB8) 0xFA) ; s - ((0x0BB7) 0xFB) ; s' - ((0x0B9C) 0xFC) ; j - ((0x0BB9) 0xFD) ; h - )) - - (dependent-vowel - (cond - ((0x0BBE) 0xA3) ; a~ - ((0x0BBF) 0xA4) ; i - ((0x0BC0) 0xA6) ; i~ - ((0x0BC1) 0xA7) ; u - ((0x0BC2) 0xA8) ; u~ - ((0x0BC6) 0xAA) ; e - ((0x0BC7) 0xAB) ; e~ - ((0x0BC8) 0xAC) ; ai - ((0x0BCA) 0xA3) ; o (right part) - ((0x0BCB) 0xA3) ; o~ (right part) - ((0x0BCC) 0xF7) ; au (right part) - )) - - (independent - (cond - ;; VOWELS - ((0x0B85) 0xDC) ; a - ((0x0B86) 0xDD) ; a~ - ((0x0B87) 0xDE) ; i - ((0x0B88) 0xDF) ; i~ - ((0x0B89) 0xE0) ; u - ((0x0B8A) 0xE1) ; u~ - ((0x0B8E) 0xE2) ; e - ((0x0B8F) 0xE3) ; e~ - ((0x0B90) 0xE4) ; ai - ((0x0B92) 0xE5) ; o - ((0x0B93) 0xE6) ; o~ - ((0x0B94) 0xE5 0xF7) ; au - ;; VISARGA - ((0x0B83) 0xE7) - )) - - (isolated-dependent-vowel - (cond - ((0x0BBE) 0x81 0xA3) ; a~ - ((0x0BBF) 0x81 0xA4) ; i - ((0x0BC0) 0x81 0xA6) ; i~ - ((0x0BC1) 0x81 0xA7) ; u - ((0x0BC2) 0x81 0xA8) ; u~ - ((0x0BC6) 0xAA 0x81) ; e - ((0x0BC7) 0xAB 0x81) ; e~ - ((0x0BC8) 0xAC 0x81) ; ai - ((0x0BCA) 0xAA 0x81 0xA3) ; o - ((0x0BCB) 0xAB 0x81 0xA3) ; o~ - ((0x0BCC) 0xAA 0x81 0xF7) ; au - ))) - -;; LIGATURE STAGE -(category - ;; C: CONSONANT (except for K, R, S) - ;; K: CONSONANT K - ;; R: CONSONANT R - ;; S: CONSONANT S' - ;; V: LIGATURE VOWEL (except for I,i) - ;; I: DEPENDENT VOWEL I - ;; i: DEPENDENT VOWEL I~ - ;; L: LEFT PART OF VOWEL - ;; v: VIRAMA - ;; E: ELSE - ;; - (0x00 0xFF ?E) - (0xA2 ?v) - (0xE9 0xFD ?C) - (0xE8 ?K) - (0xF3 ?R) - (0xFB ?S) - (0xA4 ?I) ; i - (0xA6 ?i) ; i~ - (0xA7 0xA8 ?V) ; u, u~ - (0xAA 0xAC ?L) - ) - -(generator - (0 - (cond - ;; 1 23 4 5 6 - (" (L)(([CKRS](v)?)*)(KvS)(.)? " - (2 = *) (1 =) (5 0xFE) (6 =)) - ;; 1 23 4 5 - (" (L)(([CKRS](v)?)*)([CKRS].?) " - (2 = *) (1 =) (5 = =)) - ("KvS[Iiv]?" - ligature-ks) - ("[CKRS][IiV]" - ligature = =) - ("SvRi" 0xFF) - ("." - =)) - *) - - (ligature-ks - (cond - ((0xE8 0xA2 0xFB 0xA4) 0x56) ; ksi - ((0xE8 0xA2 0xFB 0xA6) 0x72) ; ksi~ - ((0xE8 0xA2 0xFB 0xA2) 0x7A) ; ks - ((0xE8 0xA2 0xFB) 0xFE) ; ks - )) - - (ligature - (cond - ((0xE8 0xA2 0x76 0xA2) 0x7A) ; ks. - - ((0xE8 0xA4) 0x41) ; ki - ((0xE9 0xA4) 0x42) ; n^i - ((0xEA 0xA4) 0x43) ; ci - ((0xEB 0xA4) 0x44) ; n~i - ((0xEC 0xA4) 0xAE) ; t.i - ((0xED 0xA4) 0x45) ; n.i - ((0xEE 0xA4) 0x46) ; ti - ((0xEF 0xA4) 0x47) ; ni - ((0xF0 0xA4) 0x48) ; pi - ((0xF1 0xA4) 0x49) ; mi - ((0xF2 0xA4) 0x4A) ; yi - ((0xF3 0xA4) 0x4B) ; ri - ((0xF4 0xA4) 0x4C) ; li - ((0xF5 0xA4) 0x4D) ; vi - ((0xF6 0xA4) 0x4E) ; l_i - ((0xF7 0xA4) 0x4F) ; l.i - ((0xF8 0xA4) 0x50) ; r_i - ((0xF9 0xA4) 0x51) ; n_i - ((0xFA 0xA4) 0x52) ; si - ((0xFB 0xA4) 0x53) ; s'i - ((0xFC 0xA4) 0x54) ; ji - ((0xFD 0xA4) 0x55) ; hi - - ((0xE8 0xA6) 0x57) ; ki~ - ((0xE9 0xA6) 0x58) ; n^i~ - ((0xEA 0xA6) 0x59) ; ci~ - ((0xEB 0xA6) 0x5A) ; n~i~ - ((0xEC 0xA6) 0xAF) ; t.i~ - ((0xED 0xA6) 0x61) ; n.i~ - ((0xEE 0xA6) 0x62) ; ti~ - ((0xEF 0xA6) 0x63) ; ni~ - ((0xF0 0xA6) 0x64) ; pi~ - ((0xF1 0xA6) 0x65) ; mi~ - ((0xF2 0xA6) 0x66) ; yi~ - ((0xF3 0xA6) 0x67) ; ri~ - ((0xF4 0xA6) 0x68) ; li~ - ((0xF5 0xA6) 0x69) ; vi~ - ((0xF6 0xA6) 0x6A) ; l_i~ - ((0xF7 0xA6) 0x6B) ; l.i~ - ((0xF8 0xA6) 0x6C) ; r_i~ - ((0xF9 0xA6) 0x6D) ; n_i~ - ((0xFA 0xA6) 0x6E) ; si~ - ((0xFB 0xA6) 0x6F) ; s'i~ - ((0xFC 0xA6) 0x70) ; ji~ - ((0xFD 0xA6) 0x71) ; hi~ - - ((0xE8 0xA7) 0xB0) ; ku - ((0xE9 0xA7) 0xB1) ; n^u - ((0xEA 0xA7) 0xB2) ; cu - ((0xEB 0xA7) 0xB3) ; n~u - ((0xEC 0xA7) 0xB4) ; t.u - ((0xED 0xA7) 0xB5) ; n.u - ((0xEE 0xA7) 0xB6) ; tu - ((0xEF 0xA7) 0xB8) ; nu - ((0xF0 0xA7) 0xB9) ; pu - ((0xF1 0xA7) 0xBA) ; mu - ((0xF2 0xA7) 0xBB) ; yu - ((0xF3 0xA7) 0xBC) ; ru - ((0xF4 0xA7) 0xBD) ; lu - ((0xF5 0xA7) 0xBE) ; vu - ((0xF6 0xA7) 0xBF) ; l_u - ((0xF7 0xA7) 0xC0) ; l.u - ((0xF8 0xA7) 0xC1) ; r_u - ((0xF9 0xA7) 0xC2) ; n_u - - ((0xE8 0xA8) 0xC3) ; ku~ - ((0xE9 0xA8) 0xC4) ; n^u~ - ((0xEA 0xA8) 0xC5) ; cu~ - ((0xEB 0xA8) 0xC6) ; n~u~ - ((0xEC 0xA8) 0xC7) ; t.u~ - ((0xED 0xA8) 0xC8) ; n.u~ - ((0xEE 0xA8) 0xC9) ; tu~ - ((0xEF 0xA8) 0xCB) ; nu~ - ((0xF0 0xA8) 0xCC) ; pu~ - ((0xF1 0xA8) 0xCD) ; mu~ - ((0xF2 0xA8) 0xCE) ; yu~ - ((0xF3 0xA8) 0xCF) ; ru~ - ((0xF4 0xA8) 0xD6) ; lu~ - ((0xF5 0xA8) 0xD7) ; vu~ - ((0xF6 0xA8) 0xD8) ; l_u~ - ((0xF7 0xA8) 0xD9) ; l.u~ - ((0xF8 0xA8) 0xDA) ; r_u~ - ((0xF9 0xA8) 0xDB) ; n_u~ - )) - ) - -;; Copyright (C) 2003, 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: diff --git a/FLT/TAML-OTF.flt b/FLT/TAML-OTF.flt deleted file mode 100644 index 05e189f..0000000 --- a/FLT/TAML-OTF.flt +++ /dev/null @@ -1,111 +0,0 @@ -;; TAML-OTF.flt -- Font Layout Table for Tamil OpenType fonts -;; Copyright (C) 2004, 2006, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter taml-otf nil - (font (nil nil unicode-bmp :otf=taml=akhn))) - -;;;
  • TAML-OTF.flt -;;; -;;; For Tamil OpenType fonts to draw the Tamil script. - -(category - ;; C: consonant - ;; H: HALANT - ;; m: vowel sign (pre) - ;; u: vowel sign (above) - ;; b: vowel sign (below) - ;; p: vowel sign (post) - ;; X: generic - (0x0B80 0x0BFF ?X) ; generic - (0x0B95 0x0BB9 ?C) ; LETTER KA .. HA - (0x0BBE 0x0BBF ?p) ; VOWEL SIGN AA .. I - (0x0BC0 ?u) ; VOWEL SIGN II - (0x0BC1 0x0BC2 ?b) ; VOWEL SIGN U .. UU - (0x0BC6 0x0BC8 ?m) ; VOWEL SIGN E .. AI - (0x0BCD ?H) ; SIGN VIRAMA - (0x0BD7 ?p) ; AU LENGTH MARK - (0x0964 0x0965 ?X) ; DANDA .. DOUBLE DANDA - (0x200C ?N) ; ZWNJ - ) - -;; Preprocessing. -(generator - (0 - (cond - ;; Decompose two-part vowel signs. - ((0x0BCA) - 0x0BC6 0x0BBE) - ((0x0BCB) - 0x0BC7 0x0BBE) - ((0x0BCC) - 0x0BC6 0x0BD7) - ;; A variation of AU. - ((0x0B92 0x0BD7) - 0x0B94) - ;; TAMu and TSCu fonts generate the SRI ligature with 'akhn'. - ;; (lohit and latha do it with 'half' + 'abvs'.) - ((0x0BB8 0x0BCD 0x0BB0 0x0BC0) - otf:taml=akhn+) - ("." =)) - *)) - -;; Syllable identification. -(generator - (0 - (cond - ;; A syllable with vowel signs. - ("((CH)*C)(mp?|b|u|p)" - < | (1 otf:taml=akhn,half+) (3 = *) | >) - - ;; No vowel signs. - ("((CH)*C)(HN?)?" - < | (1 otf:taml=akhn,half+) (3 =) | >) - - ("." =)) - *)) - -;; Move Matra before the base consonant. -(generator - (0 - (cond - (" ([^ m]*)([^ m])(m)(p)? " - | (1 = *) (3 =) (2 =) (4 =) |) - ("." =)) - *)) - -;; Apply other OTF features. -(generator - (0 - (cond - (" ([^ ]+) " - (1 otf:taml=pres,abvs,blws,psts,haln+abvm,blwm,dist)) - ("." - [ = ])) - *)) - -;; Copyright (C) 2004, 2006, 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: emacs-lisp -;; End: diff --git a/FLT/TELU-OTF.flt b/FLT/TELU-OTF.flt deleted file mode 100644 index e2f78a5..0000000 --- a/FLT/TELU-OTF.flt +++ /dev/null @@ -1,126 +0,0 @@ -;; TELU-OTF.flt -- Font Layout Table for Telugu OpenType fonts -;; Copyright (C) 2004, 2007, 2008 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter telu-otf nil - (font (nil nil unicode-bmp :otf=telu=blwf))) - -;;;
  • TELU-OTF.flt -;;; -;;; For Telugu OpenType fonts to draw the Telugu script. - -(category - ;; C: consonant - ;; H: HALANT - ;; u: vowel sign (above) - ;; p: vowel sign (post) - ;; b: vowel sign (below) - ;; a: vowel modifier (post) - ;; V: independent vowel - ;; N: ZWNJ (ZERO WIDTH NON-JOINER) - ;; J: ZWJ (ZERO WIDTH JOINER) - ;; X: generic - (0x0C00 0x0C7F ?E) ; generic - (0x0C01 0x0C03 ?a) ; SIGN CANDRABINDU .. VISARGA - (0x0C05 0x0C14 ?V) ; LETTER A .. AU - (0x0C15 0x0C39 ?C) ; LETTER KA .. HA - (0x0C3E 0x0C40 ?u) ; VOWEL SIGN AA .. II - (0x0C41 0x0C44 ?p) ; VOWEL SIGN U .. VOCALIC RR - (0x0C46 0x0C47 ?u) ; VOWEL SIGN E .. EE - (0x0C4A 0x0C4C ?u) ; VOWEL SIGN O .. AU - (0x0C4D ?H) ; SIGN VIRAMA - (0x0C55 ?u) ; LENGTH MARK - (0x0C56 ?b) ; AI LENGTH MARK - (0x0C58 0x0C59 ?C) ; LETTER TSA .. DZA - (0x0C60 0x0C61 ?V) ; LETTER VOCALIC RR .. VOCALIC LL - (0x0C62 0x0C63 ?b) ; VOWEL SIGN VOCALIC L .. LL - (0x0964 0x0965 ?X) ; DANDA .. DOUBLE DANDA - (0x200C ?N) ; ZWNJ - (0x200D ?J) ; ZWJ - ) - -;; Decompose two-part vowels. -(generator - (0 - (cond - ((0x0C48) - 0x0C46 0x0C56) - ("." =)) - *)) - -;; Syllable identification and reordering. The base consonant is -;; always the first one, because all Telugu consonants have a below -;; form. -(generator - (0 - (cond - ;; A syllable with a vowel sign. - ;;1 23 4 5 - ("(C)((HC)*)(ub?|p)(a)?" - < | (1 =) (2 move-h) (4 = *) (5 =) | >) - - ;; A syllable with a vowel modifier. - ;;1 23 4 - ("(C)((HC)*)(a)" - < | (1 =) (2 move-h) (4 =) | >) - - ;; No vowel signs, no vowel modifiers. If the syllable ends with a - ;; Halant, cancel the Halant movement. - ;;1 23 4 - ("(C)((HC)*)(HN?)?" - < | (1 =) (4 0x0C4D) (2 move-h) | >) - - ;; A syllable starting with an independent vowel. - ("Va?" - < | = * | >) - - ("." =)) - *) - - (move-h - (cond - ("(H)(.+)" - (2 = *) (1 =))))) - -;; Apply OTF features. In case of Telugu, 'akhn' is applied after -;; reordering. -(generator - (0 - (cond - ;; A syllable that ends with a Halant. - (" (CH)([^ ]*) " - (1 otf:telu=haln+) (2 otf:telu=akhn,blwf,abvs,blws,psts+abvm,blwm,dist)) - - ;; Ordinary syllables. - (" ([^ ]+) " - (1 otf:telu=akhn,blwf,abvs,blws,psts+absm,blwm,dist)) - - ("." - [ = ])) - *)) - -;; Copyright (C) 2004, 2007, 2008 -;; 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: diff --git a/FLT/THAA-OTF.flt b/FLT/THAA-OTF.flt deleted file mode 100644 index 7847437..0000000 --- a/FLT/THAA-OTF.flt +++ /dev/null @@ -1,57 +0,0 @@ -;; THAA.flt -- Font Layout Table for Thaana OpenType font -;; Copyright (C) 2004, 2005, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter thaa-otf nil - (font (nil nil unicode-bmp :otf=thaa))) - -;;;
  • THAA-OTF.flt -;;; -;;; For Thaana OpenType fonts to draw the Thaana script. - -(category - (0x0780 0x07a5 ?c) ; consonants - (0x07a6 0x07b0 ?v) ; vowels - (0x07b1 ?c) ; consonant - ) - -;; Grouping. -(generator - (0 - (cond - ;; GPOS of OTF wil override this combining rule. - ("cv" < = Bl.Bl = >) - ("v" [ = ]) - ("." =)) - *)) - -;; Drive OTF. -(generator - (0 - otf:thaa=+mark)) - -;; Copyright (C) 2004, 2005, 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: diff --git a/FLT/THAI-GENERIC.flt b/FLT/THAI-GENERIC.flt deleted file mode 100644 index 15d4426..0000000 --- a/FLT/THAI-GENERIC.flt +++ /dev/null @@ -1,81 +0,0 @@ -;; THAI-GENERIC.flt -- Font Layout Table for Thai (proportional font) -;; Copyright (C) 2005, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter thai-generic nil - (font (nil nil unicode-bmp :otf=thai+~mark,~mkmk :lang=th))) - -;;;
  • THAI-GENERIC.flt -;;; -;;; For the Thai proportional fonts to draw Thai script. - -(category - ;; C: CONSONANT normal - ;; c: CONSONANT tall - ;; d: CONSONANT deep - ;; A: SARA-AM - ;; V: VOWEL upper, NIKHAHIT, and YAMAKKAN - ;; v: VOWEL lower - ;; T: TONE - ;; I: OTHER INDEPENDENT - (0x0E01 0x0E2E ?C) - (0x0E0D 0x0E10 ?d) - (0x0E1B ?c) - (0x0E1D ?c) - (0x0E1F ?c) - (0x0E2C ?c) - (0x0E2F 0x0E32 ?I) - (0x0E31 ?V) - (0x0E33 ?A) - (0x0E34 0x0E37 ?V) - (0x0E38 0x0E3A ?v) - (0x0E3F 0x0E46 ?I) - (0x0E47 ?V) - (0x0E48 0x0E4C ?T) - (0x0E4D 0x0E4E ?V) - (0x0E4F 0x0E5B ?I)) - -(generator - (0 - (cond - ("([Cd])(T)?(A)" - < (1 = 0x0E4D) (2 tr+bl =) (3 0x0E32) > ) - ("(c)(T)?(A)" - < (1 = Br<13Bl 0x0E4D) (2 tr+<13bl =) (3 0x0E32) > ) - ("(C[vV]?)(T)?" - < (1 = =) (2 tr+bl =) > ) - ("(c)([vV])?(T)?" - < (1 = *) (2 (cond ("v" =) ("." Br<8Bl =))) (3 tr+<8bl =) > ) - ("(d)([vV])?(T)?" - < (1 = *) (2 (cond ("v" br-tl =) ("." =))) (3 tr+bl =) > ) - ("[VvT]" - (cond ((font-facility 0x25CC) < 0x25CC = > ) ("." [ = ] ))) - ("." - =)) - *)) - -;; Copyright (C) 2005, 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: diff --git a/FLT/THAI-NORASI.flt b/FLT/THAI-NORASI.flt deleted file mode 100644 index 2bb175e..0000000 --- a/FLT/THAI-NORASI.flt +++ /dev/null @@ -1,131 +0,0 @@ -;; THAI-NORASI.flt -- Font Layout Table for Thai (Norasi font) -;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter thai-norasi nil - (font (nil norasi unicode-bmp))) - -;;;
  • THAI-NORASI.flt -;;; -;;; For the Thai Norasi family fonts to draw Thai script. The fonts are -;;; available at: -;;; - -;; 1st stage: basic composition of CVT -(category - ;; C: CONSONANT - ;; V: VOWEL upper and lower - ;; A: SARA-AM - ;; T: TONE - ;; E: else - (0x0E00 0x0E5F ?E) - (0x0E01 0x0E2E ?C) - (0x0E31 ?V) - (0x0E33 ?A) - (0x0E34 0x0E3A ?V) - (0x0E47 ?V) - (0x0E48 0x0E4E ?T) - ) - -(generator - (0 - (cond - ("(C)(T)?(A)" ; SARA-AM -> NIKHAHIT+SARA-AA - (1 = 0x0E4D) (2 =) (3 0x0E32)) - ("(C)(T)(V)?" ; CTV -> CVT - (1 =) (3 =) (2 =)) - ("(C)(V)?(T)?" - (1 =) (2 =) (3 =)) - ("[^C]" - =)) - *)) - -(category - ;; C: CONSONANT tall - ;; c: CONSONANT normal - ;; d: CONSONANT deep - ;; V: VOWEL upper, NIKHAHIT, and YAMAKKAN - ;; v: VOWEL lower - ;; T: TONE - ;; E: ELSE - (0x0E00 0x0E5F ?E) - (0x0E01 0x0E2E ?c) - (0x0E0D 0x0E10 ?d) - (0x0E1B ?C) - (0x0E1D ?C) - (0x0E1F ?C) - (0x0E2C ?C) - (0x0E31 ?V) - (0x0E34 0x0E37 ?V) - (0x0E38 0x0E3A ?v) - (0x0E47 ?V) - (0x0E48 0x0E4C ?T) - (0x0E4D 0x0E4E ?V) - (0x25CC ?E)) - -(generator - (0 - (cond - ("(C)(V)(T)?" - < (1 =) (2 vowel-upper-left) (3 tone-high-left) >) - ("(C)(v)?(T)?" - < (1 =) (2 =) (3 tone-low-left) >) - ("([cd])(V)(T)?" - < (1 =) (2 =) (3 =) >) - ("(c)(v)?(T)?" - < (1 =) (2 =) (3 tone-low) >) - ("(d)(v)?(T)?" - < (1 =) (2 vowel-deep) (3 tone-low) >) - ("[VvT]" - (cond ((font-facility 0x25CC) < 0x25CC = > ) ("." [ = ] ))) - ("." - =)) - *) - - (vowel-upper-left - (cond - ((0x0E31) =) - ((range 0x0E34 0x0E37) 0xF701) - ((0x0E47) =) - ((0x0E4D) 0xF711) - ((0x0E4E) =))) - - (vowel-deep - ((range 0x0E38 0x0E3A) 0xF718)) - - (tone-high-left - ((range 0x0E48 0x0E4C) 0xF713)) - - (tone-low-left - ((range 0x0E48 0x0E4C) 0xF705)) - - (tone-low - ((range 0x0E48 0x0E4C) 0xF70A))) - -;; Copyright (C) 2003, 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: diff --git a/FLT/THAI-OTF.flt b/FLT/THAI-OTF.flt deleted file mode 100644 index 22973e6..0000000 --- a/FLT/THAI-OTF.flt +++ /dev/null @@ -1,101 +0,0 @@ -;; THAI-OTF.flt -- Font Layout Table for Thai -;; Copyright (C) 2006, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter thai-otf nil - (font (nil nil unicode-bmp :otf=thai+mark,mkmk))) - -;;;
  • THAI-OTF.flt - -(category - ;; C: CONSONANT - ;; A: SARA-AM - ;; i: SARA I, SARA U (below vowel 1, above vowel 1) - ;; I: SARA II, SARA UEE (above vowel 3) - ;; U: MAIHAN-AKAT, SARA UE, SARA UU (above vowel 2, below vowel 2) - ;; P: PHINTHU, YAMAKKARN (below diacritic, above diacritic 3) - ;; T: TONE - ;; N: THANTHAKHAT, NIKHAHIT (above diacritic 1) - ;; M: MAITAIKHU (above diacritic 2) - ;; X: OTHER INDEPENDENT - (0x0E01 0x0E23 ?C) - (0x0E24 ?X) - (0x0E25 ?C) - (0x0E26 0x0E2E ?C) - (0x0E2F 0x0E30 ?X) - (0x0E31 ?U) ;; av2 - (0x0E32 ?X) - (0x0E33 ?A) - (0x0E34 ?i) ;; av1 - (0x0E35 ?I) ;; av3 - (0x0E36 ?U) ;; av2 - (0x0E37 ?I) ;; av3 - (0x0E38 ?i) ;; bv1 - (0x0E39 ?U) ;; bv2 - (0x0E3A ?P) ;; bd - (0x0E3F 0x0E46 ?X) - (0x0E47 ?M) ;; ad2 - (0x0E48 0x0E4B ?T) - (0x0E4C 0x0E4D ?N) ;; ad1 - (0x0E4E ?P) ;; ad3 - (0x0E4F 0x0E5B ?X) - (0x25CC ?X)) - -;; Perform GSUB. The decomposition of AM is done by hand because it -;; requires reordering in addition to decomposition. - -(generator - (0 - (cond - ("(C)(T)?(A)" - | < (1 = 0x0E4D) (2 =) > | (3 0x0E32) > ) - ("C[UiI]T" - < | = * | > ) - ("CiN" - < | = * | > ) - ("CIM" - < | = * | > ) - ("C[iIUPTNM]?" - < | = * | > ) - ("[iIUPTNM]" - (cond ((font-facility 0x25CC) < 0x25CC = > ) ("." [ = ] ))) - ("." - =)) - *)) - -;; Perform GPOS. - -(generator - (0 - (cond - (" ([^ ]*) " - (1 otf:thai)) - ("." - =)) - *)) - -;; Copyright (C) 2006, 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: emacs-lisp -;; End: diff --git a/FLT/THAI-TIS620.flt b/FLT/THAI-TIS620.flt deleted file mode 100644 index 3744368..0000000 --- a/FLT/THAI-TIS620.flt +++ /dev/null @@ -1,81 +0,0 @@ -;; THAI-TIS620.flt -- Font Layout Table for Thai (TIS620 font) -;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter thai-tis620 nil - (font (tis620.2529-1) - (tis620.2533-0))) - -;;;
  • THAI-TIS620.flt -;;; -;;; For fixed width fonts of TIS620 encoding to draw Thai script. - -(category - ;; C: CONSONANT - ;; V: VOWEL UPPER - ;; v: VOWEL LOWER - ;; T: TONE - ;; I: INDEPENDENT - ;; - (0x0E01 0x0E2E ?C) - (0x0E2F 0x0E5B ?I) - (0x0E31 ?V) - (0x0E34 0x0E37 ?V) - (0x0E38 0x0E3A ?v) - (0x0E47 ?V) - (0x0E48 0x0E4E ?T) - ) - -(generator - (0 - (cond - ("C([vV])?T?" - = dependent * ) - ("[^C]*" - = *)) - *) - - (dependent - (cond - ((0x0E31) tc+bc =) - ((0x0E34) tc+bc =) - ((0x0E35) tc+bc =) - ((0x0E36) tc+bc =) - ((0x0E37) tc+bc =) - ((0x0E38) bc-tc =) - ((0x0E39) bc-tc =) - ((0x0E3A) bc-tc =) - ((0x0E47) tc+bc =) - ((0x0E48) tc+bc =) - ((0x0E49) tc+bc =) - ((0x0E4A) tc+bc =) - ((0x0E4B) tc+bc =) - ((0x0E4C) tc+bc =) - ((0x0E4D) tc+bc =) - ((0x0E4E) tc+bc =)))) - -;; Copyright (C) 2003, 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: diff --git a/FLT/TIBT-MTIB.flt b/FLT/TIBT-MTIB.flt deleted file mode 100644 index 0df539f..0000000 --- a/FLT/TIBT-MTIB.flt +++ /dev/null @@ -1,266 +0,0 @@ -;; TIBT-MTIB.flt -- Font Layout Table for Tibetan (Tomabechi font) -;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter tibt-mtib nil - (font (nil mtib unicode-bmp))) - -;;;
  • TIBT-MTIB.flt -;;; -;;; For the Tibetan TrueType font developped by Dr. Tomabechi to draw -;;; Tibetan script. The font is available at: -;;; - -(category - ;; Tibetan character category for rendering - ;; C: CONSONANTS (except R) - ;; R: LETTER RA (RA-MGO) - ;; S: SUBJOINED CONSONANTS (except s) - ;; s: SUBJOINED CONSONANTS (don't modify RA-MGO) - ;; V: VOWEL (except a and A) - ;; a: VOWEL SIGN A (invisible when composed) - ;; A: VOWEL SIGN AA (don't make preceding C shorter) - ;; M: MODIFIER - ;; E: ELSE - ;; - (0x0F00 0x0FCF ?E) ; ELSE - (0x0F19 ?M) ; ASTROLOGICAL SIGN SDONG TSHUGS - (0x0F35 ?M) ; MARK NGAS BZUNG NYI ZLA - (0x0F37 ?M) ; MARK NGAS BZUNG SGOR RTAGS - (0x0F39 ?M) ; MARK TSA -PHRU - (0x0F40 0x0F6A ?C) ; LETTER KA .. LETTER FIXED-FORM RA - (0x0F62 ?R) ; LETTER RA - (0x0F70 ?a) ; VOWEL SIGN A - (0x0F71 ?A) ; VOWEL SIGN AA - (0x0F72 0x0F7D ?V) ; VOWEL SIGN I .. VOWEL SIGN OO - (0x0F7E ?M) ; SIGN RJES SU NGA RO - (0x0F80 ?V) ; VOWEL SIGN REVERSED I - (0x0F81 ?V) ; VOWEL SIGN REVERSED II - (0x0F82 ?M) ; SIGN NYI ZLA NAA DA - (0x0F83 ?M) ; SIGN SNA LDAN - (0x0F84 ?V) ; MARK HALANTA - ;; SIGN LCI RTAGS .. SIGN GRU MED RGYINGS - (0x0F86 0x0F8B ?M) - ;; SUBJOINED LETTER KA .. SUBJOINED LETTER FIXED-FORM RA - (0x0F90 0x0FBC ?s) - (0x0FAD ?S) - (0x0FB1 0x0FB2 ?S) - (0x0FC6 ?M)) - -(generator - (0 - (cond - ("[CR][Ss]*[VaA]*M*" - < - (cond - ("R[^SA].*" ; ར[^ྭྱྲཱ] - ((0x0F62) 0xE083) ; convert ར to upper form - subjoined * - dependent-vowel-modifier *) - (".A.*" ; Cཱ (don't make C shorter) - = - dependent-vowel-modifier *) - (".[Ss].*" - | - short-consonant - subjoined * - dependent-vowel-modifier * - |) - (".*" - = - dependent-vowel-modifier * ) - ) - >) - ("[VaAM]" - < 0xE07A dependent-vowel-modifier >) - ("[Ss]" - < 0xE07A subjoined >) - ("." - =)) - *) - - (short-consonant - (cond - ((0x0F5D) 0x0FBA) - ((0x0F61) 0x0FBB) - ((0x0F62) 0x0FBC) - ((0x0F6A) 0x0FBC) - ((range 0x0F40 0x0F69) 0x0F90))) - - (subjoined - ((range 0x0F90 0x0FB9) bc.tc =)) - - (dependent-vowel-modifier - (cond - ((0x0F18) bl.tc =) - ((0x0F19) bc.tc =) - ((0x0F35) bc.tc =) - ((0x0F37) bc.tc =) - ((0x0F39) tc.bc =) - ((0x0F70) ) ; invisible - ((0x0F71) bc.tc =) - ((0x0F72) tc.bc =) - ((0x0F73) bc.tc 0x0F71 tc.bc 0x0F72) - ((0x0F74) bc.tc =) - ((0x0F75) bc.tc =) - ((0x0F76) bc.tc 0x0FB2 tc.bc 0x0F72) - ((0x0F77) bc.tc 0x0FB2 bc.tc 0x0F71 tc.bc 0x0F80) - ((0x0F78) bc.tc 0x0FB3 tc.bc 0x0F80) - ((0x0F79) bc.tc 0x0FB3 bc.tc 0x0F71 tc.bc 0x0F80) - ((0x0F7A) tc.bc =) - ((0x0F7B) tc.bc =) - ((0x0F7C) tc.bc =) - ((0x0F7D) tc.bc =) - ((0x0F7E) tc.bc =) - ((0x0F80) tc.bc =) - ((0x0F81) bc.tc 0x0F71 tc.bc =) - ((0x0F82) tc.bc =) - ((0x0F83) tc.bc =) - ((0x0F84) bc.tc =) - ((0x0F86) tc.bc =) - ((0x0F87) tc.bc =) - ((0x0F88) tc.bc =) - ((0x0F89) tc.bc =) - ((0x0F8A) tc.bc =) - ((0x0F8B) tc.bc =) - ((0x0FC6) bc.tc =)))) - -(category - (0x000 0xFFFF ?G)) - -(generator - (0 - (cond - (" (G*) " - (1 precomposed = *)) - ("[^ ]*" - = *)) - *) - - (precomposed - (cond - ((0x0F90 0x0FAD) 0xE000) - ((0x0F90 0x0FB1) 0xE010) - ((0x0F90 0x0FB2) 0xE018) - ((0x0F90 0x0FB3) 0xE026) - ((0x0F91 0x0FAD) 0xE001) - ((0x0F91 0x0FB1) 0xE011) - ((0x0F91 0x0FB2) 0xE019) - ((0x0F92 0x0FAD) 0xE002) - ((0x0F92 0x0FB1) 0xE012) - ((0x0F92 0x0FB2 0x0FAD) 0xE025) - ((0x0F92 0x0FB2) 0xE01A) - ((0x0F92 0x0FB3) 0xE027) - ((0x0F95 0x0FAD) 0xE003) - ((0x0F97 0x0FB2) 0xE060) - ((0x0F99 0x0FAD) 0xE004) - ((0x0F9F 0x0FAD) 0xE005) - ((0x0F9F 0x0FB2) 0xE01B) - ((0x0FA0 0x0FB2) 0xE01C) - ((0x0FA1 0x0FAD) 0xE006) - ((0x0FA1 0x0FB2) 0xE01D) - ((0x0FA4 0x0FB1) 0xE013) - ((0x0FA4 0x0FB2) 0xE01E) - ((0x0FA5 0x0FB1 0x0FAD) 0xE017) - ((0x0FA5 0x0FB1) 0xE014) - ((0x0FA5 0x0FB2) 0xE01F) - ((0x0FA6 0x0FB1) 0xE015) - ((0x0FA6 0x0FB2) 0xE020) - ((0x0FA6 0x0FB3) 0xE028) - ((0x0FA8 0x0FB1) 0xE016) - ((0x0FA8 0x0FB2) 0xE021) - ((0x0FA9 0x0FAD) 0xE007) - ((0x0FAA 0x0FAD) 0xE008) - ((0x0FAB 0x0FB2) 0xE061) - ((0x0FAE 0x0FAD) 0xE009) - ((0x0FAF 0x0FAD) 0xE00A) - ((0x0FAF 0x0FB3) 0xE029) - ((0x0FB2 0x0F90 0x0FB1) 0xE03A) - ((0x0FB2 0x0F90) 0xE02C) - ((0x0FB2 0x0F92 0x0FAD) 0xE038) - ((0x0FB2 0x0F92 0x0FB1) 0xE03B) - ((0x0FB2 0x0F92) 0xE02D) - ((0x0FB2 0x0F94) 0xE02E) - ((0x0FB2 0x0F97) 0xE02F) - ((0x0FB2 0x0F99) 0xE030) - ((0x0FB2 0x0F9F) 0xE031) - ((0x0FB2 0x0FA1) 0xE032) - ((0x0FB2 0x0FA3) 0xE033) - ((0x0FB2 0x0FA6) 0xE034) - ((0x0FB2 0x0FA8 0x0FB1) 0xE03C) - ((0x0FB2 0x0FA8) 0xE035) - ((0x0FB2 0x0FA9 0x0FAD) 0xE039) - ((0x0FB2 0x0FA9) 0xE036) - ((0x0FB2 0x0FAB) 0xE037) - ((0x0FB2 0x0FAD) 0xE00B) - ((0x0FB2 0x0FB3) 0xE02A) - ((0x0FB3 0x0F90) 0xE03D) - ((0x0FB3 0x0F92) 0xE03E) - ((0x0FB3 0x0F94) 0xE03F) - ((0x0FB3 0x0F95) 0xE040) - ((0x0FB3 0x0F97) 0xE041) - ((0x0FB3 0x0F9F) 0xE042) - ((0x0FB3 0x0FA1) 0xE043) - ((0x0FB3 0x0FA4) 0xE044) - ((0x0FB3 0x0FA6) 0xE045) - ((0x0FB3 0x0FAD) 0xE00C) - ((0x0FB3 0x0FB7) 0xE046) - ((0x0FB4 0x0FAD) 0xE00D) - ((0x0FB4 0x0FB2) 0xE022) - ((0x0FB6 0x0F90 0x0FB1) 0xE052) - ((0x0FB6 0x0F90 0x0FB2) 0xE057) - ((0x0FB6 0x0F90) 0xE047) - ((0x0FB6 0x0F92 0x0FB1) 0xE053) - ((0x0FB6 0x0F92 0x0FB2) 0xE058) - ((0x0FB6 0x0F92) 0xE048) - ((0x0FB6 0x0F94) 0xE049) - ((0x0FB6 0x0F99) 0xE04A) - ((0x0FB6 0x0F9F) 0xE04B) - ((0x0FB6 0x0FA1) 0xE04C) - ((0x0FB6 0x0FA3 0x0FB2) 0xE059) - ((0x0FB6 0x0FA3) 0xE04D) - ((0x0FB6 0x0FA4 0x0FB1) 0xE054) - ((0x0FB6 0x0FA4 0x0FB2) 0xE05A) - ((0x0FB6 0x0FA4) 0xE04E) - ((0x0FB6 0x0FA6 0x0FB1) 0xE055) - ((0x0FB6 0x0FA6 0x0FB2) 0xE05B) - ((0x0FB6 0x0FA6) 0xE04F) - ((0x0FB6 0x0FA8 0x0FB1) 0xE055) - ((0x0FB6 0x0FA8 0x0FB2) 0xE05C) - ((0x0FB6 0x0FA8) 0xE050) - ((0x0FB6 0x0FA9) 0xE051) - ((0x0FB6 0x0FAD) 0xE00E) - ((0x0FB6 0x0FB2) 0xE023) - ((0x0FB6 0x0FB3) 0xE02B) - ((0x0FB7 0x0FAD) 0xE00F) - ((0x0FB7 0x0FB2) 0xE024)))) - -;; Copyright (C) 2003, 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 -;; coding: utf-8 -;; End: diff --git a/FLT/TIBT-MULE.flt b/FLT/TIBT-MULE.flt deleted file mode 100644 index f01c045..0000000 --- a/FLT/TIBT-MULE.flt +++ /dev/null @@ -1,267 +0,0 @@ -;; TIBT-MULE.flt -- Font Layout Table for Tibetan (muletibetan font) -;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter tibt-mule nil - (font (muletibetan-2))) - -;;;
  • TIBT-MULE.flt -;;; -;;; For the muletibetan font developped by Dr. Tomabechi to draw Tibetan -;;; script. The font is available at: -;;; - -(category - ;; Tibetan character category for rendering - ;; C: CONSONANTS (except R) - ;; R: LETTER RA (RA-MGO) - ;; S: SUBJOINED CONSONANTS (except s) - ;; s: SUBJOINED CONSONANTS (don't modify RA-MGO) - ;; V: VOWEL (except a and A) - ;; a: VOWEL SIGN A (invisible when composed) - ;; A: VOWEL SIGN AA (don't make preceding C shorter) - ;; M: MODIFIER - ;; E: ELSE - ;; - (0x0F00 0x0FCF ?E) ; default - (0x0F19 ?M) ; ASTROLOGICAL SIGN SDONG TSHUGS - (0x0F35 ?M) ; MARK NGAS BZUNG NYI ZLA - (0x0F37 ?M) ; MARK NGAS BZUNG SGOR RTAGS - (0x0F39 ?M) ; MARK TSA -PHRU - (0x0F40 0x0F6A ?C) ; LETTER KA .. LETTER FIXED-FORM RA - (0x0F62 ?R) ; LETTER RA - (0x0F70 ?a) ; VOWEL SIGN A - (0x0F71 ?A) ; VOWEL SIGN AA - (0x0F72 0x0F7D ?V) ; VOWEL SIGN I .. VOWEL SIGN OO - (0x0F7E ?M) ; SIGN RJES SU NGA RO - (0x0F80 ?V) ; VOWEL SIGN REVERSED I - (0x0F81 ?V) ; VOWEL SIGN REVERSED II - (0x0F82 ?M) ; SIGN NYI ZLA NAA DA - (0x0F83 ?M) ; SIGN SNA LDAN - (0x0F84 ?V) ; MARK HALANTA - ;; SIGN LCI RTAGS .. SIGN GRU MED RGYINGS - (0x0F86 0x0F8B ?M) - ;; SUBJOINED LETTER KA .. SUBJOINED LETTER FIXED-FORM RA - (0x0F90 0x0FBC ?s) - (0x0FAD ?S) - (0x0FB1 0x0FB2 ?S)) - -(generator - (0 - (cond - ("[CR][Ss]*[VaA]*M*" - < - (cond - ("R[SA].*" ; ར[ྭྱྲཱ] - ((0x0F62) 0x2122) ; convert ར to upper form - subjoined * - dependent-vowel-modifier *) - (".A.*" ; Cཱ - consonant - dependent-vowel-modifier *) - (".[Ss].*" - | - short-consonant - subjoined * - dependent-vowel-modifier * - |) - (".*" - consonant - dependent-vowel-modifier * ) - ) - >) - ("." - independent - subjoined)) - *) - - (consonant - ((range 0x0F40 0x0F6A) 0x2221)) - - (short-consonant - (cond - ((range 0x0F40 0x0F69) 0x2321) - ((0x0F6A) 0x234D))) - - (subjoined - ((range 0x0F90 0x0FBC) bc+tc 0x2321)) - - (dependent-vowel-modifier - (cond - ((0x0F19) bc-tc 0x2149) - ((0x0F35) bc-tc 0x2165) - ((0x0F37) bc-tc 0x2167) - ((0x0F39) tc-bc 0x2169) - ((0x0F70) ) ; invisible - ((0x0F71) bc-tc 0x2252) - ((0x0F72) tc-bc 0x2253) - ((0x0F73) bc-tc 0x2252 tc-bc 0x2253) - ((0x0F74) bc-tc 0x2255) - ((0x0F75) bc-tc 0x2256) - ((0x0F76) bc-tc 0x2343 tc-bc 0x2261) - ((0x0F77) bc-tc 0x2343 bc-tc 0x2252 tc-bc 0x2261) - ((0x0F78) bc-tc 0x2344 tc-bc 0x2261) - ((0x0F79) bc-tc 0x2344 bc-tc 0x2262 tc-bc 0x2261) - ((0x0F7A) tc-bc 0x225B) - ((0x0F7B) tc-bc 0x225C) - ((0x0F7C) tc-bc 0x225D) - ((0x0F7D) tc-bc 0x225E) - ((0x0F7E) tc-bc 0x225F) - ((0x0F80) tc-bc 0x2261) - ((0x0F81) bc-tc 0x2252 0x2261) - ((0x0F82) tc-bc 0x2263) - ((0x0F83) tc-bc 0x2264) - ((0x0F84) bc-tc 0x2265) - ((0x0F86) tc-bc 0x2267) - ((0x0F87) tc-bc 0x2268) - ((0x0F88) tc-bc 0x2269) - ((0x0F89) tc-bc 0x226A) - ((0x0F8A) tc-bc 0x226B) - ((0x0F8B) tc-bc 0x226C))) - - (independent - (cond - ((range 0x0F00 0x0F3F) 0x2130) - ((range 0x0F6B 0x0F8B) 0x224C) - ((range 0x0FBD 0x0FCF) 0x234E)))) - -(category - (0x2121 0x24FF ?G)) - -(generator - (0 - (cond - (" (G*) " - (1 precomposed = * )) - ("[^ ]*" - = * )) - *) - - (precomposed - (cond - ((0x2321 0x233E) 0x2421) - ((0x2321 0x2342) 0x2440) - ((0x2321 0x2343) 0x2450) - ((0x2321 0x2344) 0x2460) - ((0x2322 0x233E) 0x2422) - ((0x2322 0x2342) 0x2441) - ((0x2322 0x2343) 0x2451) - ((0x2323 0x233E) 0x2423) - ((0x2323 0x2342) 0x2442) - ((0x2323 0x2343 0x233E) 0x245F) - ((0x2323 0x2343) 0x2452) - ((0x2323 0x2344) 0x2461) - ((0x2326 0x233E) 0x2424) - ((0x2328 0x2343) 0x245D) - ((0x232A 0x233E) 0x2425) - ((0x2330 0x233E) 0x2426) - ((0x2330 0x2343) 0x2453) - ((0x2331 0x2343) 0x2454) - ((0x2332 0x233E) 0x2427) - ((0x2332 0x2343) 0x2455) - ((0x2335 0x2342) 0x2443) - ((0x2335 0x2343) 0x2456) - ((0x2336 0x2342 0x233E) 0x2447) - ((0x2336 0x2342) 0x2444) - ((0x2336 0x2343) 0x2457) - ((0x2337 0x2342) 0x2445) - ((0x2337 0x2343) 0x2458) - ((0x2337 0x2344) 0x2462) - ((0x2339 0x2342) 0x2446) - ((0x2339 0x2343) 0x2459) - ((0x233A 0x233E) 0x2428) - ((0x233B 0x233E) 0x2429) - ((0x233C 0x2343) 0x245E) - ((0x233F 0x233E) 0x242A) - ((0x2340 0x233E) 0x242B) - ((0x2340 0x2344) 0x2463) - ((0x2343 0x2321 0x2342) 0x2530) - ((0x2343 0x2321) 0x2521) - ((0x2343 0x2323 0x233E) 0x252D) - ((0x2343 0x2323 0x2342) 0x2531) - ((0x2343 0x2323) 0x2522) - ((0x2343 0x2325) 0x2523) - ((0x2343 0x2328) 0x2524) - ((0x2343 0x232A) 0x2525) - ((0x2343 0x2330) 0x2526) - ((0x2343 0x2332) 0x2527) - ((0x2343 0x2334) 0x2528) - ((0x2343 0x2337) 0x2529) - ((0x2343 0x2339 0x2342) 0x2532) - ((0x2343 0x2339) 0x252A) - ((0x2343 0x233A 0x233E) 0x252E) - ((0x2343 0x233A) 0x252B) - ((0x2343 0x233C) 0x252C) - ((0x2343 0x233E) 0x242C) - ((0x2343 0x2344) 0x2464) - ((0x2344 0x2321) 0x2540) - ((0x2344 0x2323) 0x2541) - ((0x2344 0x2325) 0x2542) - ((0x2344 0x2326) 0x2543) - ((0x2344 0x2328) 0x2544) - ((0x2344 0x2330) 0x2545) - ((0x2344 0x2332) 0x2546) - ((0x2344 0x2334) 0x2121) - ((0x2344 0x2335) 0x2547) - ((0x2344 0x2337) 0x2548) - ((0x2344 0x233E) 0x242D) - ((0x2344 0x2348) 0x2549) - ((0x2345 0x233E) 0x242E) - ((0x2345 0x2343) 0x245A) - ((0x2347 0x2321 0x2342) 0x2560) - ((0x2347 0x2321 0x2343) 0x2570) - ((0x2347 0x2321) 0x2550) - ((0x2347 0x2323 0x2342) 0x2561) - ((0x2347 0x2323 0x2343) 0x2571) - ((0x2347 0x2323) 0x2551) - ((0x2347 0x2325) 0x2552) - ((0x2347 0x232A) 0x2553) - ((0x2347 0x2330) 0x2554) - ((0x2347 0x2332) 0x2555) - ((0x2347 0x2334 0x2343) 0x2572) - ((0x2347 0x2334) 0x2556) - ((0x2347 0x2335 0x2342) 0x2562) - ((0x2347 0x2335 0x2343) 0x2573) - ((0x2347 0x2335) 0x2557) - ((0x2347 0x2337 0x2342) 0x2563) - ((0x2347 0x2337 0x2343) 0x2574) - ((0x2347 0x2337) 0x2558) - ((0x2347 0x2339 0x2342) 0x2564) - ((0x2347 0x2339 0x2343) 0x2575) - ((0x2347 0x2339) 0x2559) - ((0x2347 0x233A) 0x255A) - ((0x2347 0x233E) 0x242F) - ((0x2347 0x2343) 0x245B) - ((0x2347 0x2344) 0x2465) - ((0x2348 0x233E) 0x2430) - ((0x2348 0x2343) 0x245C)))) - -;; Copyright (C) 2003, 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 -;; coding: utf-8 -;; End: diff --git a/FLT/TIBT-OTF.flt b/FLT/TIBT-OTF.flt deleted file mode 100644 index d608211..0000000 --- a/FLT/TIBT-OTF.flt +++ /dev/null @@ -1,118 +0,0 @@ -;; TIBT-OTF.flt -- Font Layout Table for Tibetan (OpenType font) -;; Copyright (C) 2005, 2007 AIST (H15PRO112) -;; See the end for copying conditions. - -(font layouter tibt-otf nil - (font (nil nil unicode-bmp :otf=tibt=ccmp,blws,abvs))) - -;;;
  • TIBT-OTF.flt -;;; -;;; For TibetanMachineUniAlpha.ttf to draw Tibetan script. -;;; The font is available at: -;;; - -;; Step 0: Reordering Characters -;; -;; According to the Unicode canonical combining class value (CCCV), -;; Tibetan combining characters must be orderd in the following way: -;; -;; MARK HALANTA (CCCV=9) -;; VOWEL SIGN AA (129) -;; Above base vowel signs (130) -;; VOWEL SIGN U (132) -;; MARK TSA -PHRU (216) -;; -;; However, the current font expects the following order: -;; -;; MARK TSA -PHRU -;; VOWEL SIGN AA -;; VOWEL SIGN U -;; MARK HALANTA -;; Above base vowel signs - -(category - (0x0F00 0x0FCF ?x) ; default - (0x0F39 ?T) ; MARK TSA -PHRU - (0x0F71 ?A) ; VOWEL SIGN AA - (0x0F72 ?V) ; VOWEL SIGN I - (0x0F74 ?U) ; VOWEL SIGN U - (0x0F7A 0x0F7D ?V) ; VOWEL SIGN E .. VOWEL SIGN OO - (0x0F80 ?V) ; VOWEL SIGN REVERSED I - (0x0F84 ?H)) ; MARK HALANTA - -(generator - (0 - (cond - ("x+" - = *) - ("(H?)(A*)(V?)(U*)(T?)" - (5 =) (2 = *) (4 = *) (1 =) (3 =))) - *)) - -;; Step 1: Syllable identification - -;; C: Consonants -;; T: MARK TSA -PHRU -;; c: Subjoind consonants -;; A: VOWEL SIGN AA -;; U: VOWEL SIGN U -;; H: MARK HALANTA -;; V: Above or two-part vowel signs -;; S: Above base signs -;; s: Other above base signs -;; x: Others - -(category - (0x0F00 0x0FCF ?x) ; default - (0x0F39 ?T) ; MARK TSA -PHRU - (0x0F40 0x0F6A ?C) ; LETTER KA .. LETTER FIXED-FORM RA - (0x0F71 ?A) ; VOWEL SIGN AA - (0x0F72 0x0F7E ?V) ; VOWEL SIGN I .. SIGN RJES SU NGA RO - (0x0F74 ?U) ; VOWEL SIGN U - (0x0F80 0x0F81 ?V) ; VOWEL SIGN REVERSED I, REVERSED II - (0x0F82 0x0F83 ?S) ; SIGN NYI ZLA NAADA, SIGN SNA LDAN - (0x0F84 ?H) ; MARK HALANTA - (0x0F86 0x0F87 ?s) ; SIGN LCI RTAGS, SIGN YANG RTAGS - (0x0F88 0x0F89 ?C) ; SIGN LCE TSA CAN, SIGN MCHU CAN - (0x0F90 0x0FBC ?c)) ; SUBJOIND LETTER KA .. FIXED-FORM RA - -(generator - (0 - (cond - ;; For some reason, it is better not to apply the abvs feature when - ;; both A and U exist. - ("(C)(T?)(c*)(A*)(U*)(H?)(V*)(S*)(s*)" - < otf:tibt=ccmp,blws,abvs >) - ("." - =)) - *)) - -;; Copyright (C) 2005, 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 -;; coding: utf-8 -;; End: