From ebccff822576cbff2b4401c74d83912d637a7026 Mon Sep 17 00:00:00 2001 From: Akihiro Sagawa Date: Thu, 9 Jan 2014 21:07:45 +0900 Subject: [PATCH] gdi32: Relax vertical face requirements. --- dlls/gdi32/freetype.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index fda54aad07d..4be29780993 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ -2148,6 +2148,9 @@ static INT AddFontToList(const char *file, void *font_data_ptr, DWORD font_data_ #endif /* HAVE_CARBON_CARBON_H */ do { + const DWORD FS_DBCS_MASK = FS_JISJAPAN|FS_CHINESESIMP|FS_WANSUNG|FS_CHINESETRAD|FS_JOHAB; + FONTSIGNATURE fs; + ft_face = new_ft_face( file, font_data_ptr, font_data_size, face_index, flags & ADDFONT_ALLOW_BITMAP ); if (!ft_face) return 0; @@ -2161,7 +2164,8 @@ static INT AddFontToList(const char *file, void *font_data_ptr, DWORD font_data_ AddFaceToList(ft_face, file, font_data_ptr, font_data_size, face_index, flags); ++ret; - if (FT_HAS_VERTICAL(ft_face)) + get_fontsig(ft_face, &fs); + if (fs.fsCsb[0] & FS_DBCS_MASK) { AddFaceToList(ft_face, file, font_data_ptr, font_data_size, face_index, flags | ADDFONT_VERTICAL_FONT);