[layout] Don't check glyph props against lookup flags when recursing

Shouldn't be needed.  I have a hard time imagining this breaking any
legitimate use case.
This commit is contained in:
Behdad Esfahbod 2015-02-19 10:40:23 +03:00
parent 095a1257cc
commit 1a2322134a
2 changed files with 2 additions and 18 deletions

View File

@ -1431,14 +1431,6 @@ struct PosLookup : Lookup
dispatch (&c); dispatch (&c);
} }
inline bool apply_once (hb_apply_context_t *c) const
{
TRACE_APPLY (this);
if (!c->check_glyph_property (&c->buffer->cur(), c->lookup_props))
return TRACE_RETURN (false);
return TRACE_RETURN (dispatch (c));
}
static bool apply_recurse_func (hb_apply_context_t *c, unsigned int lookup_index); static bool apply_recurse_func (hb_apply_context_t *c, unsigned int lookup_index);
template <typename context_t> template <typename context_t>
@ -1572,7 +1564,7 @@ template <typename context_t>
const PosLookup &l = gpos.get_lookup (lookup_index); const PosLookup &l = gpos.get_lookup (lookup_index);
unsigned int saved_lookup_props = c->lookup_props; unsigned int saved_lookup_props = c->lookup_props;
c->set_lookup (l); c->set_lookup (l);
bool ret = l.apply_once (c); bool ret = l.dispatch (c);
c->set_lookup_props (saved_lookup_props); c->set_lookup_props (saved_lookup_props);
return ret; return ret;
} }

View File

@ -1147,14 +1147,6 @@ struct SubstLookup : Lookup
return TRACE_RETURN (dispatch (c)); return TRACE_RETURN (dispatch (c));
} }
inline bool apply_once (hb_apply_context_t *c) const
{
TRACE_APPLY (this);
if (!c->check_glyph_property (&c->buffer->cur(), c->lookup_props))
return TRACE_RETURN (false);
return TRACE_RETURN (dispatch (c));
}
static bool apply_recurse_func (hb_apply_context_t *c, unsigned int lookup_index); static bool apply_recurse_func (hb_apply_context_t *c, unsigned int lookup_index);
inline SubstLookupSubTable& serialize_subtable (hb_serialize_context_t *c, inline SubstLookupSubTable& serialize_subtable (hb_serialize_context_t *c,
@ -1315,7 +1307,7 @@ template <typename context_t>
const SubstLookup &l = gsub.get_lookup (lookup_index); const SubstLookup &l = gsub.get_lookup (lookup_index);
unsigned int saved_lookup_props = c->lookup_props; unsigned int saved_lookup_props = c->lookup_props;
c->set_lookup (l); c->set_lookup (l);
bool ret = l.apply_once (c); bool ret = l.dispatch (c);
c->set_lookup_props (saved_lookup_props); c->set_lookup_props (saved_lookup_props);
return ret; return ret;
} }