[HarfBuzz] harfbuzz: Branch 'master' - 2 commits

Behdad Esfahbod behdad at kemper.freedesktop.org
Tue Jul 31 20:41:51 UTC 2018


 src/hb-ot-shape-complex-khmer.cc |   26 +++++++++++---------------
 1 file changed, 11 insertions(+), 15 deletions(-)

New commits:
commit 6ddd669e205cf2c1c3b0a362330b686386f68519
Author: Behdad Esfahbod <behdad at 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 <behdad at 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'));
 


More information about the HarfBuzz mailing list