On Tue, Mar 01, 2016 at 07:19:02AM +0300, Nikolay Sivov wrote:
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com
dlls/gdi32/freetype.c | 13 ++++++++++--- dlls/gdi32/tests/font.c | 3 +++ 2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index 01cb913..57cf695 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ -1942,7 +1942,6 @@ static inline FT_Fixed get_font_version( FT_Face ft_face ) 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;
@@ -1956,8 +1955,16 @@ static inline DWORD get_ntm_flags( FT_Face ft_face )
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;
if (FT_IS_SFNT( ft_face )) {
FT_ULong table_size = 0;
if (!pFT_Load_Sfnt_Table( ft_face, FT_MAKE_TAG( 'C','F','F',' ' ), 0, NULL, &table_size ))
flags |= NTM_PS_OPENTYPE;
table_size = 0;
if (!pFT_Load_Sfnt_Table( ft_face, FT_MAKE_TAG( 'D','S','I','G' ), 0, NULL, &table_size ))
flags |= NTM_DSIG;
}
return flags;
} diff --git a/dlls/gdi32/tests/font.c b/dlls/gdi32/tests/font.c index d39e701..1059d29 100644 --- a/dlls/gdi32/tests/font.c +++ b/dlls/gdi32/tests/font.c @@ -78,6 +78,7 @@ static WORD system_lang_id; #define MS_CMAP_TAG MS_MAKE_TAG('c','m','a','p') #define MS_NAME_TAG MS_MAKE_TAG('n','a','m','e') #define MS_CFF_TAG MS_MAKE_TAG('C','F','F',' ') +#define MS_DSIG_TAG MS_MAKE_TAG('D','S','I','G')
static void init(void) { @@ -3968,6 +3969,8 @@ static void test_text_metrics(const LOGFONTA *lf, const NEWTEXTMETRICA *ntm) has_cff = GetFontData(hdc, MS_CFF_TAG, 0, NULL, 0) != GDI_ERROR; ok(((ntm->ntmFlags & NTM_PS_OPENTYPE) == NTM_PS_OPENTYPE) == has_cff, "CFF test, got flags 0x%08x, CFF table %d, %s\n", ntm->ntmFlags, has_cff, font_name);
if (GetFontData(hdc, MS_DSIG_TAG, 0, NULL, 0) != GDI_ERROR)
ok(ntm->ntmFlags & NTM_DSIG, "DSIG test, got flags 0x%08x, %s\n", ntm->ntmFlags, font_name);
test_negative_width(hdc, lf);
I get a test failure on OS/X. I suspect it might be something to do with the Helvetica -> Arial substitution.
font.c:3974: Test failed: DSIG test, got flags 0x00040040, Helvetica
Also, since you'll have to resend it, could you avoid adding more K&R style braces.
Huw.