[HarfBuzz] harfbuzz: Branch 'master'
Behdad Esfahbod
behdad at kemper.freedesktop.org
Wed Jun 26 16:47:34 PDT 2013
src/hb-ot-layout-gsubgpos-private.hh | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
New commits:
commit 3f9e2dced298c3d00f31b2dfc38685bb071a3a22
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Wed Jun 26 19:46:55 2013 -0400
Fix contextual lookup recursion indexing
See email thread "Skipping Control for Attaching Marks using OpenType"
from earlier this month.
diff --git a/src/hb-ot-layout-gsubgpos-private.hh b/src/hb-ot-layout-gsubgpos-private.hh
index 32c4a6d..2b95009 100644
--- a/src/hb-ot-layout-gsubgpos-private.hh
+++ b/src/hb-ot-layout-gsubgpos-private.hh
@@ -1009,15 +1009,12 @@ static inline bool apply_lookup (hb_apply_context_t *c,
unsigned int i = 0;
if (lookupCount && 0 == lookupRecord->sequenceIndex)
{
- unsigned int old_pos = c->buffer->idx;
-
/* Apply a lookup */
bool done = c->recurse (lookupRecord->lookupListIndex);
lookupRecord++;
lookupCount--;
- /* Err, this is wrong if the lookup jumped over some glyphs */
- i += c->buffer->idx - old_pos;
+ i++;
if (!done)
goto not_applied;
@@ -1044,15 +1041,12 @@ static inline bool apply_lookup (hb_apply_context_t *c,
if (lookupCount && i == lookupRecord->sequenceIndex)
{
- unsigned int old_pos = c->buffer->idx;
-
/* Apply a lookup */
bool done = c->recurse (lookupRecord->lookupListIndex);
lookupRecord++;
lookupCount--;
- /* Err, this is wrong if the lookup jumped over some glyphs */
- i += c->buffer->idx - old_pos;
+ i++;
if (!done)
goto not_applied2;
More information about the HarfBuzz
mailing list