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@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Akihiro Sagawa 2015-12-31 13:33:15 +09:00 committed by Alexandre Julliard
parent 37fdc50097
commit 79ab7456ed
1 changed files with 8 additions and 0 deletions

View File

@ -1942,9 +1942,17 @@ static inline DWORD get_ntm_flags( FT_Face ft_face )
{ {
DWORD flags = 0; DWORD flags = 0;
FT_ULong table_size = 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_ITALIC) flags |= NTM_ITALIC;
if (ft_face->style_flags & FT_STYLE_FLAG_BOLD) flags |= NTM_BOLD; 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 (flags == 0) flags = NTM_REGULAR;
if (!pFT_Load_Sfnt_Table( ft_face, FT_MAKE_TAG( 'C','F','F',' ' ), 0, NULL, &table_size )) if (!pFT_Load_Sfnt_Table( ft_face, FT_MAKE_TAG( 'C','F','F',' ' ), 0, NULL, &table_size ))