summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/FontAndroid.cpp
diff options
context:
space:
mode:
authorRussell Brenner <russellbrenner@google.com>2011-11-07 16:10:32 -0800
committerRussell Brenner <russellbrenner@google.com>2011-11-09 09:48:57 -0800
commit6148667638b4a39c80b0742f640cc167abe0139b (patch)
tree6297964f5a0e801a2f22c7b1d3ca07fc87bbee4b /Source/WebCore/platform/graphics/android/FontAndroid.cpp
parent54464c408c893079c1486aec03329f1de8ec6a29 (diff)
downloadexternal_webkit-6148667638b4a39c80b0742f640cc167abe0139b.zip
external_webkit-6148667638b4a39c80b0742f640cc167abe0139b.tar.gz
external_webkit-6148667638b4a39c80b0742f640cc167abe0139b.tar.bz2
Add support for Bengali and Tamil gpos/gsub tables
HB_Script_Bengali and HB_Script_Tamil are now recognized in FontAndroid.cpp and map to Lohit-Bengali.ttf and Lohit-Tamil.ttf, allowing Harfbuzz to properly load the gpos/gsub tables for those languages. Bug: 5578901 Change-Id: I20ed542dd5a616535222dcb5c808f3716a062e80
Diffstat (limited to 'Source/WebCore/platform/graphics/android/FontAndroid.cpp')
-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;