From b350122fb3af6d4eff9a2cf9c8fc3b7157601944 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Tue, 7 Feb 2023 13:49:16 -0700 Subject: [PATCH] [embolden] Fix glyph_extents in hb-ft --- src/hb-ft.cc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/hb-ft.cc b/src/hb-ft.cc index 5ca08d0a6..6cf27203d 100644 --- a/src/hb-ft.cc +++ b/src/hb-ft.cc @@ -657,6 +657,22 @@ hb_ft_get_glyph_extents (hb_font_t *font, extents->width = ceilf (x2) - extents->x_bearing; extents->height = ceilf (y2) - extents->y_bearing; + if (font->x_strength || font->y_strength) + { + /* Y */ + int y_shift = font->y_strength; + if (font->y_scale < 0) y_shift = -y_shift; + extents->y_bearing += y_shift; + extents->height -= y_shift; + + /* X */ + int x_shift = font->x_strength; + if (font->x_scale < 0) x_shift = -x_shift; + if (font->embolden_in_place) + extents->x_bearing -= x_shift / 2; + extents->width += x_shift; + } + return true; }