[iter] Use hb_apply() with lambda functions in a few places
This commit is contained in:
parent
0670e1a6f5
commit
7514a49f21
|
@ -345,18 +345,20 @@ struct MultipleSubstFormat1
|
||||||
|
|
||||||
void closure (hb_closure_context_t *c) const
|
void closure (hb_closure_context_t *c) const
|
||||||
{
|
{
|
||||||
for (auto it = hb_zip (this+coverage, sequence)
|
+ hb_zip (this+coverage, sequence)
|
||||||
| hb_filter (*c->glyphs, hb_first)
|
| hb_filter (*c->glyphs, hb_first)
|
||||||
| hb_map (hb_second); it; ++it)
|
| hb_map (hb_second)
|
||||||
(this+*it).closure (c);
|
| hb_apply ([&](const OffsetTo<Sequence> &_) { (this+_).closure (c); })
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
void collect_glyphs (hb_collect_glyphs_context_t *c) const
|
void collect_glyphs (hb_collect_glyphs_context_t *c) const
|
||||||
{
|
{
|
||||||
if (unlikely (!(this+coverage).add_coverage (c->input))) return;
|
if (unlikely (!(this+coverage).add_coverage (c->input))) return;
|
||||||
for (auto it = hb_zip (this+coverage, sequence)
|
+ hb_zip (this+coverage, sequence)
|
||||||
| hb_map (hb_second); it; ++it)
|
| hb_map (hb_second)
|
||||||
(this+*it).collect_glyphs (c);
|
| hb_apply ([&](const OffsetTo<Sequence> &_) { (this+_).collect_glyphs (c); })
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Coverage &get_coverage () const { return this+coverage; }
|
const Coverage &get_coverage () const { return this+coverage; }
|
||||||
|
@ -521,17 +523,19 @@ struct AlternateSubstFormat1
|
||||||
|
|
||||||
void closure (hb_closure_context_t *c) const
|
void closure (hb_closure_context_t *c) const
|
||||||
{
|
{
|
||||||
for (auto it = hb_zip (this+coverage, alternateSet)
|
+ hb_zip (this+coverage, alternateSet)
|
||||||
| hb_map (hb_second); it; ++it)
|
| hb_map (hb_second)
|
||||||
(this+*it).closure (c);
|
| hb_apply ([&](const OffsetTo<AlternateSet> &_) { (this+_).closure (c); })
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
void collect_glyphs (hb_collect_glyphs_context_t *c) const
|
void collect_glyphs (hb_collect_glyphs_context_t *c) const
|
||||||
{
|
{
|
||||||
if (unlikely (!(this+coverage).add_coverage (c->input))) return;
|
if (unlikely (!(this+coverage).add_coverage (c->input))) return;
|
||||||
for (auto it = hb_zip (this+coverage, alternateSet)
|
+ hb_zip (this+coverage, alternateSet)
|
||||||
| hb_map (hb_second); it; ++it)
|
| hb_map (hb_second)
|
||||||
(this+*it).collect_glyphs (c);
|
| hb_apply ([&](const OffsetTo<AlternateSet> &_) { (this+_).collect_glyphs (c); })
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Coverage &get_coverage () const { return this+coverage; }
|
const Coverage &get_coverage () const { return this+coverage; }
|
||||||
|
|
Loading…
Reference in New Issue