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.
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);
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'),