From 4ac6cc284b2c1eb670c2a3659ec385ed729acac4 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 29 Apr 2010 03:48:11 -0400 Subject: [PATCH] [gdef] Fix rounding --- src/hb-ot-layout-gdef-private.hh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hb-ot-layout-gdef-private.hh b/src/hb-ot-layout-gdef-private.hh index 46d40bae7..5e7c47e96 100644 --- a/src/hb-ot-layout-gdef-private.hh +++ b/src/hb-ot-layout-gdef-private.hh @@ -94,7 +94,7 @@ struct CaretValueFormat1 inline int get_caret_value (hb_ot_layout_context_t *context, hb_codepoint_t glyph_id HB_GNUC_UNUSED) const { /* TODO vertical */ - return context->font->x_scale * coordinate / 0x10000; + return _hb_16dot16_mul_round (context->font->x_scale, coordinate); } inline bool sanitize (SANITIZE_ARG_DEF) { @@ -139,7 +139,7 @@ struct CaretValueFormat3 inline int get_caret_value (hb_ot_layout_context_t *context, hb_codepoint_t glyph_id HB_GNUC_UNUSED) const { /* TODO vertical */ - return context->font->x_scale * coordinate / 0x10000 + + return _hb_16dot16_mul_round (context->font->x_scale, coordinate) + ((this+deviceTable).get_delta (context->font->x_ppem) << 6); }