Fix for the case of failed LAM-ALEF ligature. Handle positioning of
authorhanda <handa>
Fri, 17 Sep 2010 11:40:54 +0000 (11:40 +0000)
committerhanda <handa>
Fri, 17 Sep 2010 11:40:54 +0000 (11:40 +0000)
multiple diacritcs.  Fix typo.

FLT/ARAB-OTF-NO-GPOS.flt

index 84a7ca3..83b4365 100644 (file)
@@ -59,8 +59,8 @@
 (category
  ;; D: Dual-joining (beh, teh, etc. & zwj) except for LAMs
  ;; L: LAMs
- ;; R: Right-joining (alef, dal, thal, reh, zain) except for AREFs
- ;; A: AREFs
+ ;; R: Right-joining (alef, dal, thal, reh, zain) except for ALEFs
+ ;; A: ALEFs
  ;; U: Non-joining (Hamza, etc. & zwnj)
  ;; T: Transparent (combining marks)
  (0x060B 0x060F                ?U)
   (cond
    (".*X.*" (cond ("[DLRAUX]T*" < = * >) ("." =)) *)
 
-   ;; LAM-AREF pattern.  Move diacritcs on LAM after AREF.  This is to
+   ;; LAM-ALEF pattern.  Move diacritcs on LAM after ALEF.  This is to
    ;; avoid loosing surrounding separators by OTF's liga or rlig
    ;; features in the next step.
    ("L(T*)A.*"
 
    ;; Incorrect leading diacritcs.
    ("(T+)(.*)"
-    (1 (cond ((font-facilty 0x25CC)
+    (1 (cond ((font-facility 0x25CC)
              (cond ("." 0x25CC | = |)) *)
             ("." 0xE800 | = |)) *)
     (2 disjoin))))
 
  (join
   (cond
-   ;; LAM-AREF pattern.  See the above comment.
+   ;; LAM-ALEF pattern.  See the above comment.
    ("L(T*)A.*"
     (cond
      ("(.)(T*)(A)(T*)([DLRA].*)"
 
  (disjoin
   (cond
-   ;; LAM-AREF pattern.  See the above comment.
+   ;; LAM-ALEF pattern.  See the above comment.
    ("L(T*)A.*"
     (cond
      ("(.)(T*)(A)(T*)([DLRA].*)"
   (cond
    ("C ([^ ]) "                                ; dummy dotted-circle
     [ (1 =) ])
-   ("([^ ]) ([^ ]+)?  ([^ ]+)? "       ; LAM-AREF ligature
-    < (1 =) (2 Br.Br = *) (3 Bl.Bl = *) >)
+   ("([^ ]) ([^ ]+)?  ([^ ]+)? "       ; LAM-ALEF ligature
+    < (1 =) (2 right-combining) (3 left-combining) >)
    ("([^ ]) ([^ ]+)? "
-    < (1 =) (2 Bc.Bc = *) >)
-   ("([^ ])([^ ]) ([^ ]+)?  ([^ ]+)? " ; failed LAM-AREF ligature
-    (1 < =) (3 Br.Br = *) > (2 < = ) (4 Bl.Bl = *) >)
+    < (1 =) (2 center-combining) >)
+   ("([^ ])([^ ]) ([^ ]+)?  ([^ ]+)? " ; failed LAM-ALEF ligature
+    (1 < =) (3 right-combining = *) > (2 < = ) (4 left-combining = *) >)
    ("[^ ]" =)
    (" "))
-  *))
+  *)
+
+ (right-combining
+  (cond ("." Br.Br =)) *)
+
+ (left-combining
+  (cond ("." Bl.Bl =)) *)
+
+ (center-combining
+  (cond ("." Bc.Bc =)) *))
 
 ;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)