Reviewed by Darin Adler.
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Jan 2008 19:23:07 +0000 (19:23 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Jan 2008 19:23:07 +0000 (19:23 +0000)
        - fix synthetic bold and italic on Windows

        Covered by an existing test.

        * platform/graphics/win/FontPlatformDataWin.cpp:
        (WebCore::FontPlatformData::FontPlatformData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/platform/graphics/win/FontPlatformDataWin.cpp

index 0d3cd5b..504216e 100644 (file)
@@ -1,3 +1,14 @@
+2008-01-04  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Darin Adler.
+
+        - fix synthetic bold and italic on Windows
+
+        Covered by an existing test.
+
+        * platform/graphics/win/FontPlatformDataWin.cpp:
+        (WebCore::FontPlatformData::FontPlatformData):
+
 2008-01-04  Alp Toker  <alp@atoker.com>
 
         GTK+ autotools build fix. Terminate empty rules.
 
         - fix small caps rendering
 
-        Covered by an existing test,
+        Covered by an existing test.
 
         * platform/graphics/win/FontDataWin.cpp:
         (WebCore::FontData::smallCapsFontData):
index c944b6d..beedb41 100644 (file)
@@ -150,7 +150,7 @@ FontPlatformData::FontPlatformData(HFONT font, float size, bool bold, bool obliq
         GetOutlineTextMetricsW(hdc, bufferSize, metrics);
         WCHAR* faceName = (WCHAR*)((uintptr_t)metrics + (uintptr_t)metrics->otmpFaceName);
 
-        if (bold || oblique) {
+        if (!useGDI && (bold || oblique)) {
             LOGFONT logFont;
 
             int len = min((int)wcslen(faceName), LF_FACESIZE - 1);
@@ -179,9 +179,6 @@ FontPlatformData::FontPlatformData(HFONT font, float size, bool bold, bool obliq
                     m_syntheticOblique = true;
         }
 
-        // For GDI text, synthetic bold and oblique never need to be set.
-        m_syntheticBold = m_syntheticOblique = false;
-
         // Try the face name first.  Windows may end up localizing this name, and CG doesn't know about
         // the localization.  If the create fails, we'll try the PostScript name.
         RetainPtr<CFStringRef> fullName(AdoptCF, CFStringCreateWithCharacters(NULL, (const UniChar*)faceName, wcslen(faceName)));