docs/Makefile.am | 2 +- src/hb-aat-layout-common-private.hh | 12 +++++++++--- src/hb-aat-layout-morx-table.hh | 2 ++ 3 files changed, 12 insertions(+), 4 deletions(-)
New commits: commit 57051b4f672d7d9dd10c45cc95b1e50e32cd42a9 Author: Behdad Esfahbod <[email protected]> Date: Fri Jan 12 11:42:25 2018 +0100 [aat] Flush rest of buffer if state machine failed diff --git a/src/hb-aat-layout-common-private.hh b/src/hb-aat-layout-common-private.hh index 2dcbd557..990be2e7 100644 --- a/src/hb-aat-layout-common-private.hh +++ b/src/hb-aat-layout-common-private.hh @@ -631,7 +631,7 @@ struct StateTableDriver unsigned int count = buffer->len; unsigned int state = 0; bool last_was_dont_advance = false; - for (buffer->idx = 0; buffer->idx <= count; buffer->idx++) + for (buffer->idx = 0; buffer->idx <= count;) { if (!state) last_zero = buffer->idx; @@ -655,7 +655,6 @@ struct StateTableDriver if (likely (!dont_advance_set.has (key))) { dont_advance_set.add (key); - buffer->idx--; last_was_dont_advance = true; } else @@ -664,10 +663,17 @@ struct StateTableDriver else last_was_dont_advance = false; + if (!last_was_dont_advance) + buffer->next_glyph (); + state = entry->newState; } - /* XXX finish if not in-place */ + if (!c->in_place) + { + for (buffer->idx = 0; buffer->idx <= count;) + buffer->next_glyph (); + } } public: diff --git a/src/hb-aat-layout-morx-table.hh b/src/hb-aat-layout-morx-table.hh index f24db56d..f0715894 100644 --- a/src/hb-aat-layout-morx-table.hh +++ b/src/hb-aat-layout-morx-table.hh @@ -42,6 +42,7 @@ struct RearrangementSubtable { struct driver_context_t { + static const bool in_place = true; enum Flags { MarkFirst = 0x8000, /* If set, make the current glyph the first * glyph to be rearranged. */ @@ -185,6 +186,7 @@ struct ContextualSubtable struct driver_context_t { + static const bool in_place = true; enum Flags { SetMark = 0x8000, /* If set, make the current glyph the marked glyph. */ DontAdvance = 0x4000, /* If set, don't advance to the next glyph before commit 369dfab0f8b7f22338bbd7a58a27e2e02e1efc29 Author: Behdad Esfahbod <[email protected]> Date: Fri Jan 12 11:37:01 2018 +0100 Minor diff --git a/docs/Makefile.am b/docs/Makefile.am index 79934d5a..a9935385 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -111,7 +111,7 @@ EXTRA_DIST += version.xml.in # for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt #DISTCLEANFILES += -# Comment this out if you want 'make check' to test you doc status +# Comment this out if you don't want 'make check' to test you doc status # and run some sanity checks if ENABLE_GTK_DOC TESTS_ENVIRONMENT = cd $(srcdir) && \ _______________________________________________ HarfBuzz mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/harfbuzz
