[subset] Rewrite CoverageFormat2::intersects as dagger
This commit is contained in:
parent
cf5001fac7
commit
777debd748
|
@ -1547,16 +1547,12 @@ struct CoverageFormat2
|
||||||
|
|
||||||
bool intersects (const hb_set_t *glyphs) const
|
bool intersects (const hb_set_t *glyphs) const
|
||||||
{
|
{
|
||||||
/* TODO Speed up, using hb_set_next() and bsearch()? */
|
return hb_any (+ hb_iter (rangeRecord.as_array ())
|
||||||
/* TODO(iter) Rewrite as dagger. */
|
| hb_map ([glyphs] (const RangeRecord &range) { return range.intersects (glyphs); }));
|
||||||
for (const auto& range : rangeRecord.as_array ())
|
|
||||||
if (range.intersects (glyphs))
|
|
||||||
return true;
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
bool intersects_coverage (const hb_set_t *glyphs, unsigned int index) const
|
bool intersects_coverage (const hb_set_t *glyphs, unsigned int index) const
|
||||||
{
|
{
|
||||||
/* TODO(iter) Rewrite as dagger. */
|
/* TODO Use bsearch? */
|
||||||
for (const auto& range : rangeRecord.as_array ())
|
for (const auto& range : rangeRecord.as_array ())
|
||||||
{
|
{
|
||||||
if (range.value <= index &&
|
if (range.value <= index &&
|
||||||
|
|
Loading…
Reference in New Issue