Minor
authorBehdad Esfahbod <behdad@behdad.org>
Mon, 24 Sep 2018 23:07:23 +0000 (19:07 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Mon, 24 Sep 2018 23:07:23 +0000 (19:07 -0400)
src/hb-ot-map.hh
src/hb-ot-shape-complex-indic.cc
src/hb-ot-shape-complex-khmer.cc

index b6942ca..13bbc8f 100644 (file)
@@ -173,6 +173,7 @@ enum hb_ot_map_feature_flags_t
   F_HAS_FALLBACK       = 0x0002u, /* Has fallback implementation, so include mask bit even if feature not found. */
   F_MANUAL_ZWNJ                = 0x0004u, /* Don't skip over ZWNJ when matching **context**. */
   F_MANUAL_ZWJ         = 0x0008u, /* Don't skip over ZWJ when matching **input**. */
+  F_MANUAL_JOINERS     = F_MANUAL_ZWNJ | F_MANUAL_ZWJ,
   F_GLOBAL_SEARCH      = 0x0010u, /* If feature not found in LangSys, look for it in global feature list and pick one. */
   F_RANDOM             = 0x0020u  /* Randomly select a glyph from an AlternateSubstFormat1 subtable. */
 };
index e2fae7a..1fec0e5 100644 (file)
@@ -102,29 +102,29 @@ indic_features[] =
    * Basic features.
    * These features are applied in order, one at a time, after initial_reordering.
    */
-  {HB_TAG('n','u','k','t'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('a','k','h','n'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('r','p','h','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('r','k','r','f'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('p','r','e','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('b','l','w','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('a','b','v','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('h','a','l','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('p','s','t','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('v','a','t','u'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('c','j','c','t'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
+  {HB_TAG('n','u','k','t'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('a','k','h','n'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('r','p','h','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('r','k','r','f'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('p','r','e','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('b','l','w','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('a','b','v','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('h','a','l','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('p','s','t','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('v','a','t','u'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('c','j','c','t'), F_GLOBAL | F_MANUAL_JOINERS},
   /*
    * Other features.
    * These features are applied all at once, after final_reordering.
    * Default Bengali font in Windows for example has intermixed
    * lookups for init,pres,abvs,blws features.
    */
-  {HB_TAG('i','n','i','t'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('p','r','e','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('a','b','v','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('b','l','w','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('p','s','t','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('h','a','l','n'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
+  {HB_TAG('i','n','i','t'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('p','r','e','s'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('a','b','v','s'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('b','l','w','s'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('p','s','t','s'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('h','a','l','n'), F_GLOBAL | F_MANUAL_JOINERS},
   /*
    * Positioning features.
    * We don't care about the types.
index 7705929..f8c0a4b 100644 (file)
@@ -39,19 +39,19 @@ khmer_features[] =
    * Basic features.
    * These features are applied in order, one at a time, after reordering.
    */
-  {HB_TAG('p','r','e','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('b','l','w','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('a','b','v','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('p','s','t','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('c','f','a','r'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
+  {HB_TAG('p','r','e','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('b','l','w','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('a','b','v','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('p','s','t','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('c','f','a','r'), F_NONE   | F_MANUAL_JOINERS},
   /*
    * Other features.
    * These features are applied all at once.
    */
-  {HB_TAG('p','r','e','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('a','b','v','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('b','l','w','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('p','s','t','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
+  {HB_TAG('p','r','e','s'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('a','b','v','s'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('b','l','w','s'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('p','s','t','s'), F_GLOBAL | F_MANUAL_JOINERS},
   /*
    * Positioning features.
    * We don't care about the types.