Lines Matching refs:num_advances
34086 - unsigned num_advances)
34092 - if (idx < num_advances)
34103 - unsigned num_advances = _mtx.num_advances_for_subset (c->plan);
34125 - table_prime->serialize (c->serializer, it, num_advances);
34134 - if (unlikely (!subset_update_header (c->plan, num_advances)))
34155 - num_advances = T::is_horizontal ?
34179 - /* Cap num_metrics() and num_advances() based on table length. */
34181 - if (unlikely (num_advances * 4 > len))
34182 - num_advances = len / 4;
34183 - num_metrics = num_advances + (len - 4 * num_advances) / 2;
34190 - /* We MUST set num_metrics to zero if num_advances is zero.
34193 - if (unlikely (!num_advances))
34195 - num_metrics = num_advances = 0;
34203 + num_advances = num_bearings + len / 2;
34205 + if (num_glyphs < num_advances)
34206 + num_glyphs = num_advances;
34220 - if (glyph < num_advances)
34228 - const FWORD *bearings = (const FWORD *) &table->longMetricZ[num_advances];
34229 - return bearings[glyph - num_advances];
34262 + /* If num_advances is zero, it means we don't have the metrics table
34265 + if (unlikely (!num_advances))
34268 - return table->longMetricZ[hb_min (glyph, (uint32_t) num_advances - 1)].advance;
34277 + * num_bearings <= num_advances */
34281 + if (num_bearings == num_advances)
34287 + return advances[hb_min (glyph - num_bearings, num_advances - num_bearings - 1)];
34306 - unsigned int num_advances = plan->num_output_glyphs ();
34308 - num_advances - 1);
34309 - while (num_advances > 1 &&
34311 - num_advances - 2))
34313 - num_advances--;
34316 - return num_advances;
34332 - unsigned int num_advances;
34333 + // 0 <= num_long_metrics <= num_bearings <= num_advances <= num_glyphs
34336 + unsigned num_advances;