[HarfBuzz] harfbuzz: Branch 'master' - 2 commits
Behdad Esfahbod
behdad at kemper.freedesktop.org
Fri Jan 12 10:42:50 UTC 2018
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 <behdad at behdad.org>
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 <behdad at behdad.org>
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) && \
More information about the HarfBuzz
mailing list