From 277003d553293c7af0b5b6d25be02fac0925e597 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Mon, 30 Jan 2023 22:43:01 -0700 Subject: [PATCH] [ft] Fit advance cache into short int --- src/hb-ft.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/hb-ft.cc b/src/hb-ft.cc index 6c2f255ab..063ffb314 100644 --- a/src/hb-ft.cc +++ b/src/hb-ft.cc @@ -84,7 +84,7 @@ */ -using hb_ft_advance_cache_t = hb_cache_t<16, 24, 8, false>; +using hb_ft_advance_cache_t = hb_cache_t<16, 8, 8, false>; struct hb_ft_font_t { @@ -479,10 +479,11 @@ hb_ft_get_glyph_h_advances (hb_font_t* font, void* font_data, /* Work around bug that FreeType seems to return negative advance * for variable-set fonts if x_scale is negative! */ v = abs (v); + v = (int) (v * x_mult + (1<<9)) >> 10; ft_font->advance_cache.set (glyph, v); } - *first_advance = (int) (v * x_mult + (1<<9)) >> 10; + *first_advance = v; first_glyph = &StructAtOffsetUnaligned (first_glyph, glyph_stride); first_advance = &StructAtOffsetUnaligned (first_advance, advance_stride); }