[HarfBuzz] Default hb_font_t scale
Behdad Esfahbod
behdad at behdad.org
Wed Sep 2 01:12:50 PDT 2015
Right now default scale is 0,0 when a new font is created. Should I change
that to upem,upem? That sounds like a more useful default.
Specifically, this pattern is becoming more common:
parent_font = hb_font_create (face);
hb_ot_font_set_funcs (parent_font);
font = hb_font_create_sub_font (parent_font);
hb_font_set_funcs(font, custom_funcs...);
hb_font_set_scale(font, ...);
This way custom funcs can provide only a few (say, hinted h_advance) function
and everything else comes from parent_font. For size-related things (like
glyph_extents()) that do come from parent_font, they are scaled properly to
match the scale of the new font, but that will only work if the scale of
parent_font is NOT zero, otherwise the extents will be converted to a scale of
zero (ie, they all become zero), then go through a division by zero!
Changing the default scale addresses that, and plus, make "shape at font
units" the default behavior.
Objections?
Cheers,
--
behdad
http://behdad.org/
More information about the HarfBuzz
mailing list