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

Behdad Esfahbod behdad at kemper.freedesktop.org
Mon Sep 24 23:43:21 UTC 2018


 .circleci/config.yml             |    2 +-
 src/hb-ot-layout-gsubgpos.hh     |   12 ++++++------
 src/hb-ot-map.hh                 |    1 +
 src/hb-ot-shape-complex-indic.cc |   34 +++++++++++++++++-----------------
 src/hb-ot-shape-complex-khmer.cc |   18 +++++++++---------
 src/hb-ot-shape.cc               |    3 ++-
 6 files changed, 36 insertions(+), 34 deletions(-)

New commits:
commit 8282e881b51363811078bce53fad6aa5b41f7b41
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Mon Sep 24 19:43:01 2018 -0400

    Disable msan bot again
    
    Fixes https://github.com/harfbuzz/harfbuzz/issues/1175

diff --git a/.circleci/config.yml b/.circleci/config.yml
index 74411778..3bf1977a 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -265,7 +265,7 @@ workflows:
       - archlinux-debug-O0-py3
       - clang-O3-O0
       - clang-asan
-      - clang-msan
+      #- clang-msan # https://github.com/harfbuzz/harfbuzz/issues/1175
       - clang-tsan
       - clang-ubsan
       - fedora-outoftreebuild
commit 6c0e7eb6a6f3f888442c0a97ce6a771631990ed6
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Mon Sep 24 19:07:23 2018 -0400

    Minor

diff --git a/src/hb-ot-map.hh b/src/hb-ot-map.hh
index b6942ca2..13bbc8fe 100644
--- a/src/hb-ot-map.hh
+++ b/src/hb-ot-map.hh
@@ -173,6 +173,7 @@ enum hb_ot_map_feature_flags_t
   F_HAS_FALLBACK	= 0x0002u, /* Has fallback implementation, so include mask bit even if feature not found. */
   F_MANUAL_ZWNJ		= 0x0004u, /* Don't skip over ZWNJ when matching **context**. */
   F_MANUAL_ZWJ		= 0x0008u, /* Don't skip over ZWJ when matching **input**. */
+  F_MANUAL_JOINERS	= F_MANUAL_ZWNJ | F_MANUAL_ZWJ,
   F_GLOBAL_SEARCH	= 0x0010u, /* If feature not found in LangSys, look for it in global feature list and pick one. */
   F_RANDOM		= 0x0020u  /* Randomly select a glyph from an AlternateSubstFormat1 subtable. */
 };
diff --git a/src/hb-ot-shape-complex-indic.cc b/src/hb-ot-shape-complex-indic.cc
index e2fae7ae..1fec0e56 100644
--- a/src/hb-ot-shape-complex-indic.cc
+++ b/src/hb-ot-shape-complex-indic.cc
@@ -102,29 +102,29 @@ indic_features[] =
    * Basic features.
    * These features are applied in order, one at a time, after initial_reordering.
    */
-  {HB_TAG('n','u','k','t'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('a','k','h','n'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('r','p','h','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('r','k','r','f'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('p','r','e','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('b','l','w','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('a','b','v','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('h','a','l','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('p','s','t','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('v','a','t','u'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('c','j','c','t'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
+  {HB_TAG('n','u','k','t'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('a','k','h','n'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('r','p','h','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('r','k','r','f'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('p','r','e','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('b','l','w','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('a','b','v','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('h','a','l','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('p','s','t','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('v','a','t','u'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('c','j','c','t'), F_GLOBAL | F_MANUAL_JOINERS},
   /*
    * Other features.
    * These features are applied all at once, after final_reordering.
    * Default Bengali font in Windows for example has intermixed
    * lookups for init,pres,abvs,blws features.
    */
-  {HB_TAG('i','n','i','t'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('p','r','e','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('a','b','v','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('b','l','w','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('p','s','t','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('h','a','l','n'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
+  {HB_TAG('i','n','i','t'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('p','r','e','s'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('a','b','v','s'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('b','l','w','s'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('p','s','t','s'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('h','a','l','n'), F_GLOBAL | F_MANUAL_JOINERS},
   /*
    * Positioning features.
    * We don't care about the types.
diff --git a/src/hb-ot-shape-complex-khmer.cc b/src/hb-ot-shape-complex-khmer.cc
index 77059293..f8c0a4be 100644
--- a/src/hb-ot-shape-complex-khmer.cc
+++ b/src/hb-ot-shape-complex-khmer.cc
@@ -39,19 +39,19 @@ khmer_features[] =
    * Basic features.
    * These features are applied in order, one at a time, after reordering.
    */
-  {HB_TAG('p','r','e','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('b','l','w','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('a','b','v','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('p','s','t','f'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('c','f','a','r'), F_NONE   | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
+  {HB_TAG('p','r','e','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('b','l','w','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('a','b','v','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('p','s','t','f'), F_NONE   | F_MANUAL_JOINERS},
+  {HB_TAG('c','f','a','r'), F_NONE   | F_MANUAL_JOINERS},
   /*
    * Other features.
    * These features are applied all at once.
    */
-  {HB_TAG('p','r','e','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('a','b','v','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('b','l','w','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
-  {HB_TAG('p','s','t','s'), F_GLOBAL | F_MANUAL_ZWJ | F_MANUAL_ZWNJ},
+  {HB_TAG('p','r','e','s'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('a','b','v','s'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('b','l','w','s'), F_GLOBAL | F_MANUAL_JOINERS},
+  {HB_TAG('p','s','t','s'), F_GLOBAL | F_MANUAL_JOINERS},
   /*
    * Positioning features.
    * We don't care about the types.
commit d748dc76644f28d4130f9cb1dee7a22cbe81c25d
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Mon Sep 24 18:30:50 2018 -0400

    More iter inits

diff --git a/src/hb-ot-layout-gsubgpos.hh b/src/hb-ot-layout-gsubgpos.hh
index 031b39b9..5dd4c3da 100644
--- a/src/hb-ot-layout-gsubgpos.hh
+++ b/src/hb-ot-layout-gsubgpos.hh
@@ -506,21 +506,21 @@ struct hb_ot_apply_context_t :
 			auto_zwnj (true),
 			auto_zwj (true),
 			random (false),
-			random_state (1) {}
+			random_state (1) { init_iters (); }
 
-  inline void reinit_iters (void)
+  inline void init_iters (void)
   {
     iter_input.init (this, false);
     iter_context.init (this, true);
   }
 
-  inline void set_lookup_mask (hb_mask_t mask) { lookup_mask = mask; }
-  inline void set_auto_zwj (bool auto_zwj_) { auto_zwj = auto_zwj_; reinit_iters (); }
-  inline void set_auto_zwnj (bool auto_zwnj_) { auto_zwnj = auto_zwnj_; reinit_iters (); }
+  inline void set_lookup_mask (hb_mask_t mask) { lookup_mask = mask; init_iters (); }
+  inline void set_auto_zwj (bool auto_zwj_) { auto_zwj = auto_zwj_; init_iters (); }
+  inline void set_auto_zwnj (bool auto_zwnj_) { auto_zwnj = auto_zwnj_; init_iters (); }
   inline void set_random (bool random_) { random = random_; }
   inline void set_recurse_func (recurse_func_t func) { recurse_func = func; }
   inline void set_lookup_index (unsigned int lookup_index_) { lookup_index = lookup_index_; }
-  inline void set_lookup_props (unsigned int lookup_props_) { lookup_props = lookup_props_; reinit_iters (); }
+  inline void set_lookup_props (unsigned int lookup_props_) { lookup_props = lookup_props_; init_iters (); }
 
   inline uint32_t random_number (void)
   {
commit d9867497d09af929554eaa89cc6fee865b018646
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Mon Sep 24 18:11:59 2018 -0400

    Minor

diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc
index 6bfd2c7a..5404a5c3 100644
--- a/src/hb-ot-shape.cc
+++ b/src/hb-ot-shape.cc
@@ -125,7 +125,8 @@ hb_ot_shape_collect_features (hb_ot_shape_planner_t          *planner,
   {
     const hb_feature_t *feature = &user_features[i];
     map->add_feature (feature->tag,
-		      (feature->start == 0 && feature->end == (unsigned int) -1) ?  F_GLOBAL : F_NONE,
+		      (feature->start == HB_FEATURE_GLOBAL_START &&
+		       feature->end == HB_FEATURE_GLOBAL_END) ?  F_GLOBAL : F_NONE,
 		      feature->value);
   }
 }


More information about the HarfBuzz mailing list