Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1599)

Unified Diff: Source/platform/fonts/win/FontCacheSkiaWin.cpp

Issue 221153002: [DirectWrite] Set minimum anti-aliased font size on a per script basis (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Remove FIXME Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698