[indic/khmer] Remove use of global constructors

Alternative woul have been to resurrect F_COMBINE that I removed in
70136a78cb

But this does it for now.  I'm not sure why check-static-inits.sh didn't
catch this before.  Clang -Weverything bot did:

  CXX      libharfbuzz_la-hb-ot-shape-complex-indic.lo
hb-ot-shape-complex-indic.cc:99:1: warning: declaration requires a global constructor [-Wglobal-constructors]
indic_features[] =
^
1 warning generated.
  CXX      libharfbuzz_la-hb-ot-shape-complex-khmer.lo
hb-ot-shape-complex-khmer.cc:36:1: warning: declaration requires a global constructor [-Wglobal-constructors]
khmer_features[] =
^
1 warning generated.
This commit is contained in:
Behdad Esfahbod 2018-09-30 05:43:22 -04:00
parent 00cd00e641
commit b1e07e1e6c
3 changed files with 28 additions and 26 deletions

View File

@ -174,11 +174,13 @@ enum hb_ot_map_feature_flags_t
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_MANUAL_JOINERS= F_GLOBAL | F_MANUAL_JOINERS,
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. */
};
HB_MARK_AS_FLAG_T (hb_ot_map_feature_flags_t);
struct hb_ot_map_feature_t
{
hb_tag_t tag;

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_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},
{HB_TAG('n','u','k','t'), F_GLOBAL_MANUAL_JOINERS},
{HB_TAG('a','k','h','n'), F_GLOBAL_MANUAL_JOINERS},
{HB_TAG('r','p','h','f'), F_MANUAL_JOINERS},
{HB_TAG('r','k','r','f'), F_GLOBAL_MANUAL_JOINERS},
{HB_TAG('p','r','e','f'), F_MANUAL_JOINERS},
{HB_TAG('b','l','w','f'), F_MANUAL_JOINERS},
{HB_TAG('a','b','v','f'), F_MANUAL_JOINERS},
{HB_TAG('h','a','l','f'), F_MANUAL_JOINERS},
{HB_TAG('p','s','t','f'), F_MANUAL_JOINERS},
{HB_TAG('v','a','t','u'), F_GLOBAL_MANUAL_JOINERS},
{HB_TAG('c','j','c','t'), F_GLOBAL_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_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},
{HB_TAG('i','n','i','t'), F_MANUAL_JOINERS},
{HB_TAG('p','r','e','s'), F_GLOBAL_MANUAL_JOINERS},
{HB_TAG('a','b','v','s'), F_GLOBAL_MANUAL_JOINERS},
{HB_TAG('b','l','w','s'), F_GLOBAL_MANUAL_JOINERS},
{HB_TAG('p','s','t','s'), F_GLOBAL_MANUAL_JOINERS},
{HB_TAG('h','a','l','n'), F_GLOBAL_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_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},
{HB_TAG('p','r','e','f'), F_MANUAL_JOINERS},
{HB_TAG('b','l','w','f'), F_MANUAL_JOINERS},
{HB_TAG('a','b','v','f'), F_MANUAL_JOINERS},
{HB_TAG('p','s','t','f'), F_MANUAL_JOINERS},
{HB_TAG('c','f','a','r'), F_MANUAL_JOINERS},
/*
* Other features.
* These features are applied all at once.
*/
{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('p','r','e','s'), F_GLOBAL_MANUAL_JOINERS},
{HB_TAG('a','b','v','s'), F_GLOBAL_MANUAL_JOINERS},
{HB_TAG('b','l','w','s'), F_GLOBAL_MANUAL_JOINERS},
{HB_TAG('p','s','t','s'), F_GLOBAL_MANUAL_JOINERS},
/*
* Positioning features.
* We don't care about the types.