diff options
author | Russell Brenner <russellbrenner@google.com> | 2011-11-07 16:10:32 -0800 |
---|---|---|
committer | Russell Brenner <russellbrenner@google.com> | 2011-11-09 09:48:57 -0800 |
commit | 6148667638b4a39c80b0742f640cc167abe0139b (patch) | |
tree | 6297964f5a0e801a2f22c7b1d3ca07fc87bbee4b /Source | |
parent | 54464c408c893079c1486aec03329f1de8ec6a29 (diff) | |
download | external_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')
-rw-r--r-- | Source/WebCore/platform/graphics/android/FontAndroid.cpp | 36 |
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; |