[hvar] Minor internal rewiring

Not passing font to functions makes it more clear that they don't
scale values.
pull/3701/head
Behdad Esfahbod 2 years ago
parent aba4a4957a
commit 13c499cb26
  1. 10
      src/hb-ot-hmtx-table.hh
  2. 5
      src/hb-ot-var-hvar-table.hh

@ -283,9 +283,9 @@ struct hmtxvmtx
return advances[hb_min (glyph - num_bearings, num_advances - num_bearings - 1)];
}
unsigned int get_advance (hb_codepoint_t glyph,
hb_font_t *font,
VariationStore::cache_t *store_cache = nullptr) const
unsigned get_advance (hb_codepoint_t glyph,
hb_font_t *font,
VariationStore::cache_t *store_cache = nullptr) const
{
unsigned int advance = get_advance (glyph);
@ -294,7 +294,9 @@ struct hmtxvmtx
return advance;
if (var_table.get_length ())
return advance + roundf (var_table->get_advance_var (glyph, font, store_cache)); // TODO Optimize?!
return advance + roundf (var_table->get_advance_var (glyph,
font->coords, font->num_coords,
store_cache)); // TODO Optimize?!
return _glyf_get_advance_var (font, glyph, T::tableTag == HB_OT_TAG_vmtx);
#else

@ -320,13 +320,12 @@ struct HVARVVAR
}
float get_advance_var (hb_codepoint_t glyph,
hb_font_t *font,
const int *coords, unsigned int coord_count,
VariationStore::cache_t *store_cache = nullptr) const
{
uint32_t varidx = (this+advMap).map (glyph);
return (this+varStore).get_delta (varidx,
font->coords,
font->num_coords,
coords, coord_count,
store_cache);
}

Loading…
Cancel
Save