This commit is contained in:
Behdad Esfahbod 2018-09-24 19:07:23 -04:00
parent d748dc7664
commit 6c0e7eb6a6
3 changed files with 27 additions and 26 deletions

View 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. */
};

View 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.

View 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.