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
|
- Warn at compile time (and runtime with HB_DEBUG?) if no Unicode / font
|
||||||
funcs found / set.
|
funcs found / set.
|
||||||
|
|
||||||
- Do proper rounding when scaling from font space? May be a non-issue.
|
|
||||||
|
|
||||||
- Misc features:
|
- Misc features:
|
||||||
* init/medi/fina/isol for non-cursive scripts
|
* init/medi/fina/isol for non-cursive scripts
|
||||||
|
|
||||||
|
|
|
@ -461,7 +461,11 @@ struct hb_font_t {
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
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
|
#define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS
|
||||||
|
|
Loading…
Reference in New Issue