Akihiro Sagawa : gdi32: Fixup the internal ntmFlags for bitmap fonts.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Jan 5 12:18:32 CST 2016


Module: wine
Branch: master
Commit: 79ab7456ed72119d4b793ce4fbde714ed8b56872
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=79ab7456ed72119d4b793ce4fbde714ed8b56872

Author: Akihiro Sagawa <sagawa.aki at gmail.com>
Date:   Thu Dec 31 13:33:15 2015 +0900

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 <sagawa.aki at gmail.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/gdi32/freetype.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index 693a54d..f7cd0ee 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 ))




More information about the wine-cvs mailing list