From 295b2f43db4ed680f52b29d3af0424a5d8c55c83 Mon Sep 17 00:00:00 2001 From: Victoria Lease Date: Thu, 26 Apr 2012 11:20:43 -0700 Subject: Replace Lohit Devanagari/Tamil fonts with Droid versions. WebView's fallback lists previously provided only regular weight for Tamil, so I adapted Hebrew's separate Regular/Bold logic there. Also of note is that while the rest of the system uses the UI Tamil fonts, WebView substitutes the non-UI version. The Devanagari font needs to fit on all devices, so we only supply a single font there. Bug: 6318791 Change-Id: Iba0d98e5869b8fa00c1431cccee85e6e1943d2f8 --- .../platform/graphics/android/fonts/FontAndroid.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/Source/WebCore/platform/graphics/android/fonts/FontAndroid.cpp b/Source/WebCore/platform/graphics/android/fonts/FontAndroid.cpp index 3146612..827a531 100644 --- a/Source/WebCore/platform/graphics/android/fonts/FontAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/fonts/FontAndroid.cpp @@ -463,6 +463,7 @@ private: HebrewBold, Naskh, Tamil, + TamilBold, Thai, NUM_SCRIPTS }; @@ -517,11 +518,12 @@ private: // Indexed using enum CustomScript const char* TextRunWalker::paths[] = { "/system/fonts/Lohit-Bengali.ttf", - "/system/fonts/Lohit-Devanagari.ttf", + "/system/fonts/DroidSansDevanagari-Regular.ttf", "/system/fonts/DroidSansHebrew-Regular.ttf", "/system/fonts/DroidSansHebrew-Bold.ttf", "/system/fonts/DroidNaskh-Regular.ttf", - "/system/fonts/Lohit-Tamil.ttf", + "/system/fonts/DroidSansTamil-Regular.ttf", + "/system/fonts/DroidSansTamil-Bold.ttf", "/system/fonts/DroidSansThai.ttf" }; @@ -713,7 +715,7 @@ void TextRunWalker::setupFontForScriptRun() complexPlatformData = setupComplexFont(Bengali, platformData); break; case HB_Script_Devanagari: - complexPlatformData = setupComplexFont(Devanagari, platformData); + complexPlatformData = setupComplexFont(Devanagari, platformData); break; case HB_Script_Hebrew: switch (platformData.typeface()->style()) { @@ -732,7 +734,17 @@ void TextRunWalker::setupFontForScriptRun() complexPlatformData = setupComplexFont(Naskh, platformData); break; case HB_Script_Tamil: - complexPlatformData = setupComplexFont(Tamil, platformData); + switch (platformData.typeface()->style()) { + case SkTypeface::kBold: + case SkTypeface::kBoldItalic: + complexPlatformData = setupComplexFont(TamilBold, platformData); + break; + case SkTypeface::kNormal: + case SkTypeface::kItalic: + default: + complexPlatformData = setupComplexFont(Tamil, platformData); + break; + } break; case HB_Script_Thai: complexPlatformData = setupComplexFont(Thai, platformData); -- cgit v1.1