Module: wine Branch: stable Commit: 173de6d66d3d61147ac433a55688d85eba5d79ab URL: https://source.winehq.org/git/wine.git/?a=commit;h=173de6d66d3d61147ac433a55... Author: Akihiro Sagawa <sagawa.aki(a)gmail.com> Date: Sun Feb 18 21:33:57 2018 +0900 gdi32: Fix synthetic bold outline text metrics. Without this fix, synthetic tmAveCharWidth value unintentionally affects SCALE_X calculation. Signed-off-by: Akihiro Sagawa <sagawa.aki(a)gmail.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> (cherry picked from commit 68f9fb556d6ac51ed628d106a33737c13095fad4) Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org> --- dlls/gdi32/freetype.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index 7016095..2a95643 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ -7553,6 +7553,11 @@ static void scale_font_metrics(const GdiFont *font, LPTEXTMETRICW ptm) SCALE_Y(ptm->tmExternalLeading); SCALE_Y(ptm->tmOverhang); + if(FT_IS_SCALABLE(font->ft_face) && font->fake_bold) + { + ptm->tmAveCharWidth++; + ptm->tmMaxCharWidth++; + } SCALE_X(ptm->tmAveCharWidth); SCALE_X(ptm->tmMaxCharWidth); @@ -7777,11 +7782,8 @@ static BOOL get_outline_text_metrics(GdiFont *font) } TM.tmMaxCharWidth = SCALE_X(ft_face->bbox.xMax - ft_face->bbox.xMin); TM.tmWeight = FW_REGULAR; - if (font->fake_bold) { - TM.tmAveCharWidth++; - TM.tmMaxCharWidth++; + if (font->fake_bold) TM.tmWeight = FW_BOLD; - } else { if (ft_face->style_flags & FT_STYLE_FLAG_BOLD)