[layout] Don't check glyph props against lookup flags when recursing
authorBehdad Esfahbod <behdad@behdad.org>
Thu, 19 Feb 2015 07:40:23 +0000 (10:40 +0300)
committerBehdad Esfahbod <behdad@behdad.org>
Wed, 25 Feb 2015 23:43:30 +0000 (15:43 -0800)
Shouldn't be needed.  I have a hard time imagining this breaking any
legitimate use case.

src/hb-ot-layout-gpos-table.hh
src/hb-ot-layout-gsub-table.hh

index 9f1df4c..ee204eb 100644 (file)
@@ -1431,14 +1431,6 @@ struct PosLookup : Lookup
     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);
 
   template <typename context_t>
@@ -1572,7 +1564,7 @@ template <typename context_t>
   const PosLookup &l = gpos.get_lookup (lookup_index);
   unsigned int saved_lookup_props = c->lookup_props;
   c->set_lookup (l);
-  bool ret = l.apply_once (c);
+  bool ret = l.dispatch (c);
   c->set_lookup_props (saved_lookup_props);
   return ret;
 }
index 9e0c8a3..f657b09 100644 (file)
@@ -1147,14 +1147,6 @@ struct SubstLookup : Lookup
       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);
 
   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);
   unsigned int saved_lookup_props = c->lookup_props;
   c->set_lookup (l);
-  bool ret = l.apply_once (c);
+  bool ret = l.dispatch (c);
   c->set_lookup_props (saved_lookup_props);
   return ret;
 }