| Index: third_party/harfbuzz-ng/src/hb-font-private.hh
|
| diff --git a/third_party/harfbuzz-ng/src/hb-font-private.hh b/third_party/harfbuzz-ng/src/hb-font-private.hh
|
| index 8da40a992e963af526a4114d7f3f23d19c7edb80..0b755779490a92c2f46db45d07417b3f1aa4d554 100644
|
| --- a/third_party/harfbuzz-ng/src/hb-font-private.hh
|
| +++ b/third_party/harfbuzz-ng/src/hb-font-private.hh
|
| @@ -505,7 +505,13 @@ struct hb_font_t {
|
| }
|
|
|
| private:
|
| - inline hb_position_t em_scale (int16_t v, int scale) { return (hb_position_t) (v * (int64_t) scale / face->get_upem ()); }
|
| + inline hb_position_t em_scale (int16_t v, int scale)
|
| + {
|
| + int upem = face->get_upem ();
|
| + int64_t scaled = v * (int64_t) scale;
|
| + scaled += scaled >= 0 ? upem/2 : -upem/2; /* Round. */
|
| + return (hb_position_t) (scaled / upem);
|
| + }
|
| };
|
|
|
| #define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS
|
|
|