From 8eef1964a708c3db52e5e7312689c4664afa9839 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Tue, 31 Jul 2018 13:35:10 -0700 Subject: [PATCH] [khmer] Revert previous change, and remove pauses This makes test suite happy again (at 44) while fixing the sequences we were fixing, which were the following with KhmerUI.ttf: U+1789,U+17BC U+1789,U+17D2,U+1789 U+1789,U+17D2,U+1789,U+17BC Fixes rest of https://github.com/harfbuzz/harfbuzz/issues/974 --- src/hb-ot-shape-complex-khmer.cc | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/hb-ot-shape-complex-khmer.cc b/src/hb-ot-shape-complex-khmer.cc index a5f357a5..1a155a16 100644 --- a/src/hb-ot-shape-complex-khmer.cc +++ b/src/hb-ot-shape-complex-khmer.cc @@ -107,18 +107,9 @@ collect_features_khmer (hb_ot_shape_planner_t *plan) map->add_gsub_pause (setup_syllables); map->add_gsub_pause (reorder); - map->add_global_bool_feature (HB_TAG('l','o','c','l')); - map->add_gsub_pause (nullptr); - - unsigned int i = 0; - for (; i < KHMER_BASIC_FEATURES; i++) { - map->add_feature (khmer_features[i].tag, 1, khmer_features[i].flags | F_MANUAL_ZWJ | F_MANUAL_ZWNJ); - map->add_gsub_pause (nullptr); - } - - /* Testing suggests that Uniscribe applies 'ccmp' here, NOT before - * the basic features. Test with KhmerUI.ttf and the following - * three sequences: + /* Testing suggests that Uniscribe does NOT before between basic + * features. Test with KhmerUI.ttf and the following three + * sequences: * * U+1789,U+17BC * U+1789,U+17D2,U+1789 @@ -126,14 +117,20 @@ collect_features_khmer (hb_ot_shape_planner_t *plan) * * https://github.com/harfbuzz/harfbuzz/issues/974 */ + map->add_global_bool_feature (HB_TAG('l','o','c','l')); map->add_global_bool_feature (HB_TAG('c','c','m','p')); + + unsigned int i = 0; + for (; i < KHMER_BASIC_FEATURES; i++) { + map->add_feature (khmer_features[i].tag, 1, khmer_features[i].flags | F_MANUAL_ZWJ | F_MANUAL_ZWNJ); + } + map->add_gsub_pause (nullptr); for (; i < KHMER_NUM_FEATURES; i++) { map->add_feature (khmer_features[i].tag, 1, khmer_features[i].flags | F_MANUAL_ZWJ | F_MANUAL_ZWNJ); } - map->add_global_bool_feature (HB_TAG('c','a','l','t')); map->add_global_bool_feature (HB_TAG('c','l','i','g')); -- GitLab