[PATCH 4/4] dwrite: Recognize CFF2 table as CFF variant

Nikolay Sivov nsivov at codeweavers.com
Mon Oct 9 02:47:05 CDT 2017


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/dwrite/opentype.c   | 4 +++-
 dlls/dwrite/tests/font.c | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/dlls/dwrite/opentype.c b/dlls/dwrite/opentype.c
index 431fac959a..e3bf483dba 100644
--- a/dlls/dwrite/opentype.c
+++ b/dlls/dwrite/opentype.c
@@ -37,6 +37,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(dwrite);
 #define MS_NAME_TAG DWRITE_MAKE_OPENTYPE_TAG('n','a','m','e')
 #define MS_GLYF_TAG DWRITE_MAKE_OPENTYPE_TAG('g','l','y','f')
 #define MS_CFF__TAG DWRITE_MAKE_OPENTYPE_TAG('C','F','F',' ')
+#define MS_CFF2_TAG DWRITE_MAKE_OPENTYPE_TAG('C','F','F','2')
 #define MS_COLR_TAG DWRITE_MAKE_OPENTYPE_TAG('C','O','L','R')
 #define MS_SVG__TAG DWRITE_MAKE_OPENTYPE_TAG('S','V','G',' ')
 #define MS_SBIX_TAG DWRITE_MAKE_OPENTYPE_TAG('s','b','i','x')
@@ -2217,7 +2218,8 @@ UINT32 opentype_get_glyph_image_formats(IDWriteFontFace4 *fontface)
     if (opentype_has_font_table(fontface, MS_GLYF_TAG))
         ret |= DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE;
 
-    if (opentype_has_font_table(fontface, MS_CFF__TAG))
+    if (opentype_has_font_table(fontface, MS_CFF__TAG) ||
+            opentype_has_font_table(fontface, MS_CFF2_TAG))
         ret |= DWRITE_GLYPH_IMAGE_FORMATS_CFF;
 
     if (opentype_has_font_table(fontface, MS_COLR_TAG))
diff --git a/dlls/dwrite/tests/font.c b/dlls/dwrite/tests/font.c
index e22d682e42..4adb02218f 100644
--- a/dlls/dwrite/tests/font.c
+++ b/dlls/dwrite/tests/font.c
@@ -44,6 +44,7 @@
 #define MS_KERN_TAG DWRITE_MAKE_OPENTYPE_TAG('k','e','r','n')
 #define MS_GLYF_TAG DWRITE_MAKE_OPENTYPE_TAG('g','l','y','f')
 #define MS_CFF__TAG DWRITE_MAKE_OPENTYPE_TAG('C','F','F',' ')
+#define MS_CFF2_TAG DWRITE_MAKE_OPENTYPE_TAG('C','F','F','2')
 #define MS_COLR_TAG DWRITE_MAKE_OPENTYPE_TAG('C','O','L','R')
 #define MS_SVG__TAG DWRITE_MAKE_OPENTYPE_TAG('S','V','G',' ')
 #define MS_SBIX_TAG DWRITE_MAKE_OPENTYPE_TAG('s','b','i','x')
@@ -8048,7 +8049,8 @@ static DWORD get_face_glyph_image_formats(IDWriteFontFace4 *fontface)
     if (face_has_table(fontface, MS_GLYF_TAG))
         ret |= DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE;
 
-    if (face_has_table(fontface, MS_CFF__TAG))
+    if (face_has_table(fontface, MS_CFF__TAG) ||
+            face_has_table(fontface, MS_CFF2_TAG))
         ret |= DWRITE_GLYPH_IMAGE_FORMATS_CFF;
 
     if (face_has_table(fontface, MS_COLR_TAG))
-- 
2.14.2




More information about the wine-patches mailing list