Reviewed by Adam Roben.
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Dec 2009 08:17:24 +0000 (08:17 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Dec 2009 08:17:24 +0000 (08:17 +0000)
commit6a3ebfbf8d76474cdb73eb0cfd364408c71671ea
tree847f4f8388f5753a93deced2a9648ed58ff5b792
parent3713f3b288c7d6256b3c4229da91b53ae7ad45a1
    Reviewed by Adam Roben.

WebCore:
        WebCore part of <rdar://problem/7173515> Use LOGFONT support in Core
        Graphics when available

        When using a version of Core Graphics with LOGFONT support, this fixes
        <rdar://problem/5764844> First-time launch is painfully slow due to font
        plist creation
        and <rdar://problem/6576281> 12px synthetic-italics Tahoma text is less
        readable in Safari than in Firefox/IE due to poorly-spaced letters

        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::Font::drawGlyphs): No longer call drawGDIGlyphs for stroked
        text.
        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::createGDIFont): Added a synthesizeItalic parameter. When set
        to true, if italics are desired but the best match lacks italics,
        creates and returns a synthetic italics font.
        (WebCore::FontCache::createFontPlatformData): Ask to synthesize italics
        if needed.
        * platform/graphics/win/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData): Updated an
        assertion, and changed to create the CGFont from the LOGFONT.
        (WebCore::createFontCustomPlatformData): Changed cgFont to be a
        RetainPtr. Do not create a CGFont from the font data if it can be
        created from the LOGFONT in fontPlatformData().
        * platform/graphics/win/FontDatabase.cpp:
        (WebCore::populateFontDatabase): Avoid font database work if fonts are
        not going to be looked up by name.
        * platform/graphics/win/FontPlatformDataCGWin.cpp:
        (WebCore::FontPlatformData::platformDataInit): Create the CGFont from
        a LOGFONT based on the HFONT.

WebKitLibraries:
        WebKitSystemInterface part of <rdar://problem/7173515> Use LOGFONT support in
        Core Graphics when available

        * win/include/WebKitSystemInterface/WebKitSystemInterface.h: Declared
            wkCanCreateCGFontWithLOGFONT().
        * win/lib/WebKitSystemInterface.lib:
        * win/lib/WebKitSystemInterface_debug.lib:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@52141 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/platform/graphics/win/FontCGWin.cpp
WebCore/platform/graphics/win/FontCacheWin.cpp
WebCore/platform/graphics/win/FontCustomPlatformData.cpp
WebCore/platform/graphics/win/FontDatabase.cpp
WebCore/platform/graphics/win/FontPlatformDataCGWin.cpp
WebKitLibraries/ChangeLog
WebKitLibraries/win/include/WebKitSystemInterface/WebKitSystemInterface.h
WebKitLibraries/win/lib/WebKitSystemInterface.lib
WebKitLibraries/win/lib/WebKitSystemInterface_debug.lib