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).
This commit is contained in:
parent
df8f70ae5d
commit
10f964623f
2
TODO
2
TODO
|
@ -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…
Reference in New Issue