src/hb-ot-shape-complex-khmer.cc | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-)
New commits: commit 6ddd669e205cf2c1c3b0a362330b686386f68519 Author: Behdad Esfahbod <beh...@behdad.org> Date: Tue Jul 31 13:38:07 2018 -0700 [khmer] Clear syllables before presentation features Probably not what Uniscribe does, but good idea? diff --git a/src/hb-ot-shape-complex-khmer.cc b/src/hb-ot-shape-complex-khmer.cc index 1a155a16..58236039 100644 --- a/src/hb-ot-shape-complex-khmer.cc +++ b/src/hb-ot-shape-complex-khmer.cc @@ -125,7 +125,7 @@ collect_features_khmer (hb_ot_shape_planner_t *plan) map->add_feature (khmer_features[i].tag, 1, khmer_features[i].flags | F_MANUAL_ZWJ | F_MANUAL_ZWNJ); } - map->add_gsub_pause (nullptr); + map->add_gsub_pause (clear_syllables); for (; i < KHMER_NUM_FEATURES; i++) { map->add_feature (khmer_features[i].tag, 1, khmer_features[i].flags | F_MANUAL_ZWJ | F_MANUAL_ZWNJ); @@ -134,7 +134,6 @@ collect_features_khmer (hb_ot_shape_planner_t *plan) map->add_global_bool_feature (HB_TAG('c','a','l','t')); map->add_global_bool_feature (HB_TAG('c','l','i','g')); - map->add_gsub_pause (clear_syllables); } static void commit 8eef1964a708c3db52e5e7312689c4664afa9839 Author: Behdad Esfahbod <beh...@behdad.org> Date: Tue Jul 31 13:35:10 2018 -0700 [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 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')); _______________________________________________ HarfBuzz mailing list HarfBuzz@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/harfbuzz