Qian Hong : gdi32: Prepend at in get_outline_text_metrics for vertical fonts.

Alexandre Julliard julliard at winehq.org
Wed Sep 12 13:39:17 CDT 2012


Module: wine
Branch: master
Commit: df8be7b81aad749fc712c4a8ba79a1204faa008b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=df8be7b81aad749fc712c4a8ba79a1204faa008b

Author: Qian Hong <fracting at gmail.com>
Date:   Wed Sep 12 21:55:15 2012 +0800

gdi32: Prepend at in get_outline_text_metrics for vertical fonts.

---

 dlls/gdi32/freetype.c   |    1 +
 dlls/gdi32/tests/font.c |    8 ++------
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index 7e5fc36..3a90036 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -6579,6 +6579,7 @@ static BOOL get_outline_text_metrics(GdiFont *font)
         FIXME("failed to read face_nameW for font %s!\n", wine_dbgstr_w(font->name));
         face_nameW = strdupW(font->name);
     }
+    if (font->name[0] == '@') face_nameW = prepend_at( face_nameW );
     lenface = (strlenW(face_nameW) + 1) * sizeof(WCHAR);
 
     full_nameW = get_face_name( ft_face, TT_NAME_ID_UNIQUE_ID, GetSystemDefaultLangID() );
diff --git a/dlls/gdi32/tests/font.c b/dlls/gdi32/tests/font.c
index 1cf679b..92cc0a7 100644
--- a/dlls/gdi32/tests/font.c
+++ b/dlls/gdi32/tests/font.c
@@ -4131,9 +4131,7 @@ static void test_fullname2_helper(const char *Family)
         WideCharToMultiByte(CP_ACP, 0, bufW, -1, bufA, buf_size, NULL, FALSE);
         ok(!lstrcmpA(FamilyName, bufA), "font family names don't match: returned %s, expect %s\n", FamilyName, bufA);
         otmStr = (LPSTR)otm + (UINT_PTR)otm->otmpFamilyName;
-        if (want_vertical)
-            todo_wine ok(!lstrcmpA(FamilyName, otmStr), "FamilyName %s doesn't match otmpFamilyName %s\n", FamilyName, otmStr);
-        else ok(!lstrcmpA(FamilyName, otmStr), "FamilyName %s doesn't match otmpFamilyName %s\n", FamilyName, otmStr);
+        ok(!lstrcmpA(FamilyName, otmStr), "FamilyName %s doesn't match otmpFamilyName %s\n", FamilyName, otmStr);
 
         bufW[0] = 0;
         bufA[0] = 0;
@@ -4146,9 +4144,7 @@ static void test_fullname2_helper(const char *Family)
         ok(ret, "FULL_NAME (face name) could not be read\n");
         if (want_vertical) bufW = prepend_at(bufW);
         WideCharToMultiByte(CP_ACP, 0, bufW, -1, bufA, buf_size, NULL, FALSE);
-        if (want_vertical)
-            todo_wine ok(!lstrcmpA(FaceName, bufA), "font face names don't match: returned %s, expect %s\n", FaceName, bufA);
-        else ok(!lstrcmpA(FaceName, bufA), "font face names don't match: returned %s, expect %s\n", FaceName, bufA);
+        ok(!lstrcmpA(FaceName, bufA), "font face names don't match: returned %s, expect %s\n", FaceName, bufA);
         otmStr = (LPSTR)otm + (UINT_PTR)otm->otmpFaceName;
         ok(!lstrcmpA(FaceName, otmStr), "FaceName %s doesn't match otmpFaceName %s\n", FaceName, otmStr);
 




More information about the wine-cvs mailing list