mirror of
https://github.com/harfbuzz/harfbuzz.git
synced 2025-04-14 17:13:40 +00:00
Revert "[gsubgpos] Keep another digest in the applicable_t"
This reverts commit fd79c7cecd
.
This commit is contained in:
parent
fd79c7cecd
commit
2feac50b40
1 changed files with 10 additions and 22 deletions
|
@ -1002,7 +1002,6 @@ struct hb_accelerate_subtables_context_t :
|
|||
hb_cache_func_t cache_func;
|
||||
#endif
|
||||
hb_set_digest_t digest;
|
||||
hb_set_digest_t digest_rest;
|
||||
};
|
||||
|
||||
#ifndef HB_NO_OT_LAYOUT_LOOKUP_CACHE
|
||||
|
@ -4340,12 +4339,6 @@ struct hb_ot_layout_lookup_accelerator_t
|
|||
thiz->digest.init ();
|
||||
for (auto& subtable : hb_iter (thiz->subtables, count))
|
||||
thiz->digest.add (subtable.digest);
|
||||
if (count)
|
||||
for (unsigned int i = count - 1; i; i--)
|
||||
{
|
||||
thiz->subtables[i - 1].digest_rest.add (thiz->subtables[i].digest);
|
||||
thiz->subtables[i - 1].digest_rest.add (thiz->subtables[i].digest_rest);
|
||||
}
|
||||
|
||||
#ifndef HB_NO_OT_LAYOUT_LOOKUP_CACHE
|
||||
thiz->cache_user_idx = c_accelerate_subtables.cache_user_idx;
|
||||
|
@ -4365,28 +4358,23 @@ struct hb_ot_layout_lookup_accelerator_t
|
|||
#endif
|
||||
bool apply (hb_ot_apply_context_t *c, unsigned subtables_count, bool use_cache) const
|
||||
{
|
||||
hb_codepoint_t g = c->buffer->cur().codepoint;
|
||||
#ifndef HB_NO_OT_LAYOUT_LOOKUP_CACHE
|
||||
if (use_cache)
|
||||
{
|
||||
for (const auto &subtable : hb_iter (subtables, subtables_count))
|
||||
{
|
||||
if (subtable.apply_cached (c))
|
||||
return true;
|
||||
if (!subtable.digest_rest.may_have (g))
|
||||
return false;
|
||||
}
|
||||
return
|
||||
+ hb_iter (hb_iter (subtables, subtables_count))
|
||||
| hb_map ([&c] (const hb_accelerate_subtables_context_t::hb_applicable_t &_) { return _.apply_cached (c); })
|
||||
| hb_any
|
||||
;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
for (const auto &subtable : hb_iter (subtables, subtables_count))
|
||||
{
|
||||
if (subtable.apply (c))
|
||||
return true;
|
||||
if (!subtable.digest_rest.may_have (g))
|
||||
return false;
|
||||
}
|
||||
return
|
||||
+ hb_iter (hb_iter (subtables, subtables_count))
|
||||
| hb_map ([&c] (const hb_accelerate_subtables_context_t::hb_applicable_t &_) { return _.apply (c); })
|
||||
| hb_any
|
||||
;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue