| Index: Source/platform/fonts/win/FontCacheSkiaWin.cpp
|
| diff --git a/Source/platform/fonts/win/FontCacheSkiaWin.cpp b/Source/platform/fonts/win/FontCacheSkiaWin.cpp
|
| index 8851cd1ceedf31e060f192ee7d9cb2c370ba1f68..5802e0d5bb2386d18569b3e61b602cc141c0b959 100644
|
| --- a/Source/platform/fonts/win/FontCacheSkiaWin.cpp
|
| +++ b/Source/platform/fonts/win/FontCacheSkiaWin.cpp
|
| @@ -42,10 +42,6 @@
|
|
|
| namespace WebCore {
|
|
|
| -// Minimum size, in pixels, at which anti alias is enabled for certain
|
| -// scripts. Only applies to the Direct Write backend for now.
|
| -static const unsigned s_minSizeForComplexScriptsAntiAlias = 32;
|
| -
|
| FontCache::FontCache()
|
| : m_purgePreventCount(0)
|
| {
|
| @@ -191,6 +187,40 @@ static bool typefacesMatchesFamily(const SkTypeface* tf, const AtomicString& fam
|
| return matchesRequestedFamily;
|
| }
|
|
|
| +// Minimum size, in pixels, at which anti alias is enabled for certain
|
| +// scripts. Only applies to the Direct Write backend for now.
|
| +static unsigned minSizeForAntiAlias(UScriptCode script)
|
| +{
|
| + switch (script) {
|
| + case USCRIPT_TRADITIONAL_HAN:
|
| + return 24;
|
| + case USCRIPT_SIMPLIFIED_HAN:
|
| + case USCRIPT_HIRAGANA:
|
| + case USCRIPT_KATAKANA:
|
| + case USCRIPT_KATAKANA_OR_HIRAGANA:
|
| + case USCRIPT_HANGUL:
|
| + case USCRIPT_BENGALI:
|
| + return 16;
|
| + case USCRIPT_THAI:
|
| + case USCRIPT_HEBREW:
|
| + case USCRIPT_ARABIC:
|
| + case USCRIPT_DEVANAGARI:
|
| + case USCRIPT_GURMUKHI:
|
| + case USCRIPT_GUJARATI:
|
| + case USCRIPT_TAMIL:
|
| + case USCRIPT_TELUGU:
|
| + case USCRIPT_KANNADA:
|
| + case USCRIPT_GEORGIAN:
|
| + case USCRIPT_ARMENIAN:
|
| + case USCRIPT_THAANA:
|
| + case USCRIPT_CANADIAN_ABORIGINAL:
|
| + case USCRIPT_CHEROKEE:
|
| + case USCRIPT_MONGOLIAN:
|
| + default:
|
| + return 0;
|
| + }
|
| +}
|
| +
|
| FontPlatformData* FontCache::createFontPlatformData(const FontDescription& fontDescription, const AtomicString& family, float fontSize)
|
| {
|
| CString name;
|
| @@ -215,31 +245,9 @@ FontPlatformData* FontCache::createFontPlatformData(const FontDescription& fontD
|
| fontDescription.orientation(),
|
| s_useSubpixelPositioning);
|
|
|
| - // FIXME: Turn this into a script to min-size table.
|
| - if (s_useDirectWrite
|
| - && (fontDescription.script() == USCRIPT_SIMPLIFIED_HAN
|
| - || fontDescription.script() == USCRIPT_TRADITIONAL_HAN
|
| - || fontDescription.script() == USCRIPT_HIRAGANA
|
| - || fontDescription.script() == USCRIPT_KATAKANA
|
| - || fontDescription.script() == USCRIPT_KATAKANA_OR_HIRAGANA
|
| - || fontDescription.script() == USCRIPT_HANGUL
|
| - || fontDescription.script() == USCRIPT_THAI
|
| - || fontDescription.script() == USCRIPT_HEBREW
|
| - || fontDescription.script() == USCRIPT_ARABIC
|
| - || fontDescription.script() == USCRIPT_DEVANAGARI
|
| - || fontDescription.script() == USCRIPT_BENGALI
|
| - || fontDescription.script() == USCRIPT_GURMUKHI
|
| - || fontDescription.script() == USCRIPT_GUJARATI
|
| - || fontDescription.script() == USCRIPT_TAMIL
|
| - || fontDescription.script() == USCRIPT_TELUGU
|
| - || fontDescription.script() == USCRIPT_KANNADA
|
| - || fontDescription.script() == USCRIPT_GEORGIAN
|
| - || fontDescription.script() == USCRIPT_ARMENIAN
|
| - || fontDescription.script() == USCRIPT_THAANA
|
| - || fontDescription.script() == USCRIPT_CANADIAN_ABORIGINAL
|
| - || fontDescription.script() == USCRIPT_CHEROKEE
|
| - || fontDescription.script() == USCRIPT_MONGOLIAN)) {
|
| - result->setMinSizeForAntiAlias(s_minSizeForComplexScriptsAntiAlias);
|
| + if (s_useDirectWrite) {
|
| + result->setMinSizeForAntiAlias(
|
| + minSizeForAntiAlias(fontDescription.script()));
|
| }
|
|
|
| return result;
|
|
|