Round when scaling values

Doesn't matter for most users since they should be working in a
fixed sub-pixel scale anyway (ie. 22.10, 26.6, 16.16, etc).
pull/4/head
Behdad Esfahbod 11 years ago
parent df8f70ae5d
commit 10f964623f
  1. 2
      TODO
  2. 6
      src/hb-font-private.hh

@ -12,8 +12,6 @@ General fixes:
- Warn at compile time (and runtime with HB_DEBUG?) if no Unicode / font
funcs found / set.
- Do proper rounding when scaling from font space? May be a non-issue.
- Misc features:
* init/medi/fina/isol for non-cursive scripts

@ -461,7 +461,11 @@ struct hb_font_t {
}
private:
inline hb_position_t em_scale (int16_t v, int scale) { return v * (int64_t) scale / face->get_upem (); }
inline hb_position_t em_scale (int16_t v, int scale)
{
unsigned int upem = face->get_upem ();
return (v * (int64_t) scale + upem / 2) / upem;
}
};
#define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS

Loading…
Cancel
Save