Revert "Round when scaling values"

This reverts commit 10f964623f.

See discussion with Khaled Hosny on mailing list.  In short, since
integers here can be negative, and int division is "round towards
zero", proper rounding should take sign into account.  Just skip
doing it again, has been serving us well before.
This commit is contained in:
Behdad Esfahbod 2013-09-03 20:11:01 -04:00
parent 74ff41c3a5
commit 5a5350b39b
2 changed files with 3 additions and 5 deletions

2
TODO
View File

@ -12,6 +12,8 @@ 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

View File

@ -397,11 +397,7 @@ struct hb_font_t {
}
private:
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;
}
inline hb_position_t em_scale (int16_t v, int scale) { return v * (int64_t) scale / face->get_upem (); }
};
#define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS