Index: third_party/harfbuzz-ng/src/hb-ot-shape-complex-myanmar.cc |
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-myanmar.cc b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-myanmar.cc |
index e5af8930d870346f0c2c566d7403f6b47d2e76cd..a32405a82194b664d1f400d7e046d693d653a43a 100644 |
--- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-myanmar.cc |
+++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-myanmar.cc |
@@ -60,6 +60,16 @@ other_features[] = |
HB_TAG('p','s','t','s'), |
/* Positioning features, though we don't care about the types. */ |
HB_TAG('d','i','s','t'), |
+ /* Pre-release version of Windows 8 Myanmar font had abvm,blwm |
+ * features. The released Windows 8 version of the font (as well |
+ * as the released spec) used 'mark' instead. The Windows 8 |
+ * shaper however didn't apply 'mark' but did apply 'mkmk'. |
+ * Perhaps it applied abvm/blwm. This was fixed in a Windows 8 |
+ * update, so now it applies mark/mkmk. We are guessing that |
+ * it still applies abvm/blwm too. |
+ */ |
+ HB_TAG('a','b','v','m'), |
+ HB_TAG('b','l','w','m'), |
}; |
static void |
@@ -104,17 +114,6 @@ static void |
override_features_myanmar (hb_ot_shape_planner_t *plan) |
{ |
plan->map.add_feature (HB_TAG('l','i','g','a'), 0, F_GLOBAL); |
- |
- /* |
- * Note: |
- * |
- * Spec says 'mark' is used, and the mmrtext.ttf font from |
- * Windows 8 has lookups for it. But testing suggests that |
- * Windows 8 Uniscribe is NOT applying it. It *is* applying |
- * 'mkmk' however. |
- */ |
- if (hb_options ().uniscribe_bug_compatible) |
- plan->map.add_feature (HB_TAG('m','a','r','k'), 0, F_GLOBAL); |
} |
@@ -152,7 +151,7 @@ static inline bool |
is_one_of (const hb_glyph_info_t &info, unsigned int flags) |
{ |
/* If it ligated, all bets are off. */ |
- if (is_a_ligature (info)) return false; |
+ if (_hb_glyph_info_ligated (&info)) return false; |
return !!(FLAG (info.myanmar_category()) & flags); |
} |