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

Behdad Esfahbod behdad at kemper.freedesktop.org
Tue Jan 5 05:26:37 PST 2016


 src/hb-open-type-private.hh        |    2 +-
 src/hb-ot-layout-common-private.hh |    3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 53c47c85827a7e3ca82000e3baa9aa87c5770ce9
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Tue Jan 5 13:26:20 2016 +0000

    Increase sanitize edit count from 8 to 32
    
    See previous commit.

diff --git a/src/hb-open-type-private.hh b/src/hb-open-type-private.hh
index 1e40378..6323da8 100644
--- a/src/hb-open-type-private.hh
+++ b/src/hb-open-type-private.hh
@@ -182,7 +182,7 @@ struct hb_dispatch_context_t
 
 /* This limits sanitizing time on really broken fonts. */
 #ifndef HB_SANITIZE_MAX_EDITS
-#define HB_SANITIZE_MAX_EDITS 8
+#define HB_SANITIZE_MAX_EDITS 32
 #endif
 
 struct hb_sanitize_context_t :
commit da2fcfdc51a2cc0d0a782efa6c91b733f7aa84ba
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Tue Jan 5 13:23:45 2016 +0000

    Don't count fixing-up FeatureParams offset as error
    
    The font Garamond Premier Pro Caption (and possibly many other
    Adobe fonts), have many FeatureParamsSize tables with the old
    wrong offset.  We handle fixing those up, but they were still
    contributing to edit_count, and when I reduced HB_SANITIZE_MAX_EDIT
    from 100 to 8 in 14c2de321826c36037adde859ccca3e2011325a9, these
    fonts were now getting GPOS dropped and hence kerning disabled.
    
    Fix, by not counting edits made towareds offset fix-up.  I'll
    also increase edit count again, in the next commit.

diff --git a/src/hb-ot-layout-common-private.hh b/src/hb-ot-layout-common-private.hh
index 5b21f14..64829ac 100644
--- a/src/hb-ot-layout-common-private.hh
+++ b/src/hb-ot-layout-common-private.hh
@@ -545,6 +545,9 @@ struct Feature
 	  c->try_set (&featureParams, new_offset) &&
 	  !featureParams.sanitize (c, this, closure ? closure->tag : HB_TAG_NONE))
 	return_trace (false);
+
+      if (c->edit_count > 1)
+        c->edit_count--; /* This was a "legitimate" edit; don't contribute to error count. */
     }
 
     return_trace (true);


More information about the HarfBuzz mailing list