From 79ab7456ed72119d4b793ce4fbde714ed8b56872 Mon Sep 17 00:00:00 2001 From: Akihiro Sagawa Date: Thu, 31 Dec 2015 13:33:15 +0900 Subject: [PATCH] gdi32: Fixup the internal ntmFlags for bitmap fonts. The value is used not for APIs, but for our fake-bold implementation. Signed-off-by: Akihiro Sagawa Signed-off-by: Huw Davies Signed-off-by: Alexandre Julliard --- dlls/gdi32/freetype.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index 693a54ddd71..f7cd0eea269 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ -1942,9 +1942,17 @@ static inline DWORD get_ntm_flags( FT_Face ft_face ) { DWORD flags = 0; FT_ULong table_size = 0; + FT_WinFNT_HeaderRec winfnt_header; if (ft_face->style_flags & FT_STYLE_FLAG_ITALIC) flags |= NTM_ITALIC; if (ft_face->style_flags & FT_STYLE_FLAG_BOLD) flags |= NTM_BOLD; + + /* fixup the flag for our fake-bold implementation. */ + if (!FT_IS_SCALABLE( ft_face ) && + !pFT_Get_WinFNT_Header( ft_face, &winfnt_header ) && + winfnt_header.weight > FW_NORMAL ) + flags |= NTM_BOLD; + if (flags == 0) flags = NTM_REGULAR; if (!pFT_Load_Sfnt_Table( ft_face, FT_MAKE_TAG( 'C','F','F',' ' ), 0, NULL, &table_size ))