提交 241eac95 编写于 作者: B Behdad Esfahbod

Hide internals of lookup accelerators

上级 e2d4e848
......@@ -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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册