Huw Davies : gdi32: Add a helper to retrieve the ntm flags.
Alexandre Julliard
julliard at winehq.org
Tue Mar 27 12:48:06 CDT 2012
Module: wine
Branch: master
Commit: afae44da2528b09ca8a302d072b2256ba55eee62
URL: http://source.winehq.org/git/wine.git/?a=commit;h=afae44da2528b09ca8a302d072b2256ba55eee62
Author: Huw Davies <huw at codeweavers.com>
Date: Tue Mar 27 11:48:42 2012 +0100
gdi32: Add a helper to retrieve the ntm flags.
---
dlls/gdi32/freetype.c | 31 ++++++++++++++++---------------
1 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index 2926d59..446175e 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -1579,6 +1579,21 @@ static inline FT_Fixed get_font_version( FT_Face ft_face )
return version;
}
+static inline DWORD get_ntm_flags( FT_Face ft_face )
+{
+ DWORD flags = 0;
+ FT_ULong table_size = 0;
+
+ 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 (flags == 0) flags = NTM_REGULAR;
+
+ if (!pFT_Load_Sfnt_Table( ft_face, FT_MAKE_TAG( 'C','F','F',' ' ), 0, NULL, &table_size ))
+ flags |= NTM_PS_OPENTYPE;
+
+ return flags;
+}
+
#define ADDFONT_EXTERNAL_FONT 0x01
#define ADDFONT_FORCE_BITMAP 0x02
#define ADDFONT_ADD_TO_CACHE 0x04
@@ -1597,7 +1612,6 @@ static void AddFaceToList(FT_Face ft_face, const char *file, void *font_data_ptr
int internal_leading;
FONTSIGNATURE fs;
My_FT_Bitmap_Size *size = NULL;
- FT_ULong tmp_size;
FT_Fixed version;
if(!FT_IS_SCALABLE(ft_face))
@@ -1676,12 +1690,7 @@ static void AddFaceToList(FT_Face ft_face, const char *file, void *font_data_ptr
face->font_data_size = font_data_size;
}
face->face_index = face_index;
- face->ntmFlags = 0;
- if (ft_face->style_flags & FT_STYLE_FLAG_ITALIC)
- face->ntmFlags |= NTM_ITALIC;
- if (ft_face->style_flags & FT_STYLE_FLAG_BOLD)
- face->ntmFlags |= NTM_BOLD;
- if (face->ntmFlags == 0) face->ntmFlags = NTM_REGULAR;
+ face->ntmFlags = get_ntm_flags( ft_face );
face->font_version = version;
face->family = family;
face->vertical = vertical;
@@ -1704,14 +1713,6 @@ static void AddFaceToList(FT_Face ft_face, const char *file, void *font_data_ptr
face->scalable = FALSE;
}
- /* check for the presence of the 'CFF ' table to check if the font is Type1 */
- tmp_size = 0;
- if (!pFT_Load_Sfnt_Table(ft_face, FT_MAKE_TAG('C','F','F',' '), 0, NULL, &tmp_size))
- {
- TRACE("Font %s/%p is OTF Type1\n", wine_dbgstr_a(file), font_data_ptr);
- face->ntmFlags |= NTM_PS_OPENTYPE;
- }
-
TRACE("fsCsb = %08x %08x/%08x %08x %08x %08x\n",
face->fs.fsCsb[0], face->fs.fsCsb[1],
face->fs.fsUsb[0], face->fs.fsUsb[1],
More information about the wine-cvs
mailing list