From: Behdad Esfahbod Date: Fri, 10 May 2019 23:07:51 +0000 (-0700) Subject: [serialize] Fix a TODO X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=99ed6e29d86bbf391c12ee1f980b8af9dc35615e;p=platform%2Fupstream%2FlibHarfBuzzSharp.git [serialize] Fix a TODO --- diff --git a/src/hb-ot-layout-common.hh b/src/hb-ot-layout-common.hh index 478e66c..2fd97cf 100644 --- a/src/hb-ot-layout-common.hh +++ b/src/hb-ot-layout-common.hh @@ -1043,12 +1043,16 @@ struct Coverage TRACE_SERIALIZE (this); if (unlikely (!c->extend_min (*this))) return_trace (false); - /* TODO(iter) Port to non-random-access iterator interface. */ - unsigned int count = glyphs.len (); - unsigned int num_ranges = 1; - for (unsigned int i = 1; i < count; i++) - if (glyphs[i - 1] + 1 != glyphs[i]) - num_ranges++; + unsigned count = 0; + unsigned num_ranges = 0; + hb_codepoint_t last = (hb_codepoint_t) -2; + for (auto g: glyphs) + { + if (last + 1 != g) + num_ranges++; + last = g; + count++; + } u.format = count * 2 < num_ranges * 3 ? 1 : 2; switch (u.format)