summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell Brenner <russellbrenner@google.com>2011-11-09 10:11:22 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-11-09 10:11:22 -0800
commit7c7fadaed03fc262d86394fc08ae3948ebc904e1 (patch)
tree0d12fd5e30b1817f9d1c017797053500f4ccc530
parent6b0ab97afc8596ad2a5579ce6c6b6ef992ba6c0a (diff)
parent6148667638b4a39c80b0742f640cc167abe0139b (diff)
downloadexternal_webkit-7c7fadaed03fc262d86394fc08ae3948ebc904e1.zip
external_webkit-7c7fadaed03fc262d86394fc08ae3948ebc904e1.tar.gz
external_webkit-7c7fadaed03fc262d86394fc08ae3948ebc904e1.tar.bz2
Merge "Add support for Bengali and Tamil gpos/gsub tables" into ics-mr1
-rw-r--r--Source/WebCore/platform/graphics/android/FontAndroid.cpp36
1 files changed, 23 insertions, 13 deletions
diff --git a/Source/WebCore/platform/graphics/android/FontAndroid.cpp b/Source/WebCore/platform/graphics/android/FontAndroid.cpp
index 3528d47..795111d 100644
--- a/Source/WebCore/platform/graphics/android/FontAndroid.cpp
+++ b/Source/WebCore/platform/graphics/android/FontAndroid.cpp
@@ -445,11 +445,13 @@ public:
private:
enum CustomScript {
- Hindi,
- Thai,
- Naskh,
+ Bengali,
+ Devanagari,
Hebrew,
HebrewBold,
+ Naskh,
+ Tamil,
+ Thai,
NUM_SCRIPTS
};
@@ -502,11 +504,13 @@ private:
// Indexed using enum CustomScript
const char* TextRunWalker::paths[] = {
+ "/system/fonts/Lohit-Bengali.ttf",
"/system/fonts/Lohit-Devanagari.ttf",
- "/system/fonts/DroidSansThai.ttf",
- "/system/fonts/DroidNaskh-Regular.ttf",
"/system/fonts/DroidSansHebrew-Regular.ttf",
- "/system/fonts/DroidSansHebrew-Bold.ttf"
+ "/system/fonts/DroidSansHebrew-Bold.ttf",
+ "/system/fonts/DroidNaskh-Regular.ttf",
+ "/system/fonts/Lohit-Tamil.ttf",
+ "/system/fonts/DroidSansThai.ttf"
};
// Indexed using enum CustomScript
@@ -689,14 +693,11 @@ void TextRunWalker::setupFontForScriptRun()
const FontPlatformData* complexPlatformData = &platformData;
switch (m_item.item.script) {
+ case HB_Script_Bengali:
+ complexPlatformData = setupComplexFont(Bengali, platformData);
+ break;
case HB_Script_Devanagari:
- complexPlatformData = setupComplexFont(Hindi, platformData);
- break;
- case HB_Script_Thai:
- complexPlatformData = setupComplexFont(Thai, platformData);
- break;
- case HB_Script_Arabic:
- complexPlatformData = setupComplexFont(Naskh, platformData);
+ complexPlatformData = setupComplexFont(Devanagari, platformData);
break;
case HB_Script_Hebrew:
switch (platformData.typeface()->style()) {
@@ -711,6 +712,15 @@ void TextRunWalker::setupFontForScriptRun()
break;
}
break;
+ case HB_Script_Arabic:
+ complexPlatformData = setupComplexFont(Naskh, platformData);
+ break;
+ case HB_Script_Tamil:
+ complexPlatformData = setupComplexFont(Tamil, platformData);
+ break;
+ case HB_Script_Thai:
+ complexPlatformData = setupComplexFont(Thai, platformData);
+ break;
default:
// HB_Script_Common; includes Ethiopic
complexPlatformData = &platformData;