Disable 'cswh' by default except for Arabic shaper

That better matches OpenType spec.  Note that we enable it for all
Arabic-shaper scripts.  Ie. we enable it by default for Syriac too,
but the SyriacOT spec does not require it.  I think this is a more
useful compromise than special-casing for Arabic script alone.
This commit is contained in:
Behdad Esfahbod 2011-04-06 14:04:56 -04:00
parent cab6f65bba
commit a71b9c8579
2 changed files with 3 additions and 1 deletions

View File

@ -154,6 +154,9 @@ static const struct arabic_state_table_entry {
void
_hb_ot_shape_complex_collect_features_arabic (hb_ot_shape_plan_t *plan, const hb_segment_properties_t *props)
{
/* ArabicOT spec enables 'cswh' for Arabic where as for basic shaper it's disabled by default. */
plan->map.add_bool_feature (HB_TAG('c','s','w','h'));
unsigned int num_features = props->script == HB_SCRIPT_SYRIAC ? SYRIAC_NUM_FEATURES : COMMON_NUM_FEATURES;
for (unsigned int i = 0; i < num_features; i++)
plan->map.add_bool_feature (arabic_syriac_features[i], false);

View File

@ -37,7 +37,6 @@ hb_tag_t default_features[] = {
HB_TAG('c','a','l','t'),
HB_TAG('c','c','m','p'),
HB_TAG('c','l','i','g'),
HB_TAG('c','s','w','h'),
HB_TAG('c','u','r','s'),
HB_TAG('k','e','r','n'),
HB_TAG('l','i','g','a'),