[Indic] Apply presentation-forms features all at once
Seems like this is what Uniscribe is doing, and does not break any fonts
we tested (with Devanagari, Malayalam, Khmer, and Bengali), while fixing
some Ra Phala sequences for Bengali with Vrinda. Fixes another 2% of
Bengali failures (a couple more to go).
diff --git a/src/hb-ot-shape-complex-indic.cc b/src/hb-ot-shape-complex-indic.cc
index 19bb75c..48c7a15 100644
--- a/src/hb-ot-shape-complex-indic.cc
+++ b/src/hb-ot-shape-complex-indic.cc
@@ -135,6 +135,7 @@
hb_bool_t is_global;
};
+/* These features are applied one at a time, given the order in this table. */
static const feature_list_t
indic_basic_features[] =
{
@@ -166,6 +167,7 @@
VATU
};
+/* These features are applied all at once. */
static const feature_list_t
indic_other_features[] =
{
@@ -211,10 +213,8 @@
map->add_gsub_pause (final_reordering, NULL);
- for (unsigned int i = 0; i < ARRAY_LENGTH (indic_other_features); i++) {
+ for (unsigned int i = 0; i < ARRAY_LENGTH (indic_other_features); i++)
map->add_bool_feature (indic_other_features[i].tag, indic_other_features[i].is_global);
- map->add_gsub_pause (NULL, NULL);
- }
}
void