Hide internals of lookup accelerators

pull/90/head
Behdad Esfahbod 10 years ago
parent e2d4e8480d
commit 241eac9559
  1. 5
      src/hb-ot-layout-gsub-table.hh
  2. 5
      src/hb-ot-layout-private.hh
  3. 6
      src/hb-ot-layout.cc

@ -1195,11 +1195,12 @@ struct SubstLookup : Lookup
}
}
inline bool would_apply (hb_would_apply_context_t *c, const hb_set_digest_t *digest) const
inline bool would_apply (hb_would_apply_context_t *c,
const hb_ot_layout_lookup_accelerator_t *accel) const
{
TRACE_WOULD_APPLY (this);
if (unlikely (!c->len)) return TRACE_RETURN (false);
if (!digest->may_have (c->glyphs[0])) return TRACE_RETURN (false);
if (!accel->may_have (c->glyphs[0])) return TRACE_RETURN (false);
return TRACE_RETURN (dispatch (c));
}

@ -130,6 +130,11 @@ struct hb_ot_layout_lookup_accelerator_t
{
}
inline bool may_have (hb_codepoint_t g) const {
return digest.may_have (g);
}
private:
hb_set_digest_t digest;
};

@ -699,7 +699,7 @@ hb_ot_layout_lookup_would_substitute_fast (hb_face_t *face,
const OT::SubstLookup& l = hb_ot_layout_from_face (face)->gsub->get_lookup (lookup_index);
return l.would_apply (&c, &hb_ot_layout_from_face (face)->gsub_accels[lookup_index].digest);
return l.would_apply (&c, &hb_ot_layout_from_face (face)->gsub_accels[lookup_index]);
}
void
@ -861,7 +861,7 @@ apply_string (OT::hb_apply_context_t *c,
while (buffer->idx < buffer->len)
{
if (accel.digest.may_have (buffer->cur().codepoint) &&
if (accel.may_have (buffer->cur().codepoint) &&
(buffer->cur().mask & c->lookup_mask) &&
apply_once (c, lookup))
ret = true;
@ -884,7 +884,7 @@ apply_string (OT::hb_apply_context_t *c,
buffer->idx = buffer->len - 1;
do
{
if (accel.digest.may_have (buffer->cur().codepoint) &&
if (accel.may_have (buffer->cur().codepoint) &&
(buffer->cur().mask & c->lookup_mask) &&
apply_once (c, lookup))
ret = true;

Loading…
Cancel
Save