Index: third_party/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc |
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc |
index 54c12ebca28708c9b4bac8c4d7af2bf004c68fee..6ac18b08bff23ac6ed995d1f1bc12b5f7d81c7ec 100644 |
--- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc |
+++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc |
@@ -59,6 +59,15 @@ collect_features_hangul (hb_ot_shape_planner_t *plan) |
map->add_feature (hangul_features[i], 1, F_NONE); |
} |
+static void |
+override_features_hangul (hb_ot_shape_planner_t *plan) |
+{ |
+ /* Uniscribe does not apply 'calt' for Hangul, and certain fonts |
+ * (Noto Sans CJK, Source Sans Han, etc) apply all of jamo lookups |
+ * in calt, which is not desirable. */ |
+ plan->map.add_feature (HB_TAG('c','a','l','t'), 0, F_GLOBAL); |
+} |
+ |
struct hangul_shape_plan_t |
{ |
ASSERT_POD (); |
@@ -404,7 +413,7 @@ const hb_ot_complex_shaper_t _hb_ot_complex_shaper_hangul = |
{ |
"hangul", |
collect_features_hangul, |
- NULL, /* override_features */ |
+ override_features_hangul, |
data_create_hangul, /* data_create */ |
data_destroy_hangul, /* data_destroy */ |
preprocess_text_hangul, |