Don't count fixing-up FeatureParams offset as error
authorBehdad Esfahbod <behdad@behdad.org>
Tue, 5 Jan 2016 13:23:45 +0000 (13:23 +0000)
committerBehdad Esfahbod <behdad@behdad.org>
Tue, 5 Jan 2016 13:23:45 +0000 (13:23 +0000)
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.

src/hb-ot-layout-common-private.hh

index 5b21f14..64829ac 100644 (file)
@@ -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);