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

Unified Diff: src/ports/SkFontHost_android.cpp

Issue 14942003: Remove unused complex script support from android builds (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 7 years, 8 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 | « include/ports/SkTypeface_android.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/ports/SkFontHost_android.cpp
diff --git a/src/ports/SkFontHost_android.cpp b/src/ports/SkFontHost_android.cpp
index 37495e7a10e2f5077135cc53a22943b4a3488d31..ce478def6bad336527ae30321f8201f59dd428c9 100644
--- a/src/ports/SkFontHost_android.cpp
+++ b/src/ports/SkFontHost_android.cpp
@@ -878,40 +878,6 @@ SkTypeface* SkFontHost::CreateTypefaceFromFile(const char path[]) {
// Function from SkTypeface_android.h
///////////////////////////////////////////////////////////////////////////////
-struct FBScriptInfo {
- const FallbackScripts fScript;
- const char* fScriptID;
- const SkTypeface::Style fStyle;
- const SkUnichar fChar; // representative character for that script type
- SkFontID fFontID;
-};
-
-#define SK_DEFINE_SCRIPT_ENTRY(script, style, unichar) \
- { script, #script, style, unichar, 0 }
-
-static FBScriptInfo gFBScriptInfo[] = {
- SK_DEFINE_SCRIPT_ENTRY(kArabic_FallbackScript, SkTypeface::kNormal, 0x0627),
- SK_DEFINE_SCRIPT_ENTRY(kArmenian_FallbackScript, SkTypeface::kNormal, 0x0531),
- SK_DEFINE_SCRIPT_ENTRY(kBengali_FallbackScript, SkTypeface::kNormal, 0x0981),
- SK_DEFINE_SCRIPT_ENTRY(kDevanagari_FallbackScript, SkTypeface::kNormal, 0x0901),
- SK_DEFINE_SCRIPT_ENTRY(kEthiopic_FallbackScript, SkTypeface::kNormal, 0x1200),
- SK_DEFINE_SCRIPT_ENTRY(kGeorgian_FallbackScript, SkTypeface::kNormal, 0x10A0),
- SK_DEFINE_SCRIPT_ENTRY(kHebrewRegular_FallbackScript, SkTypeface::kNormal, 0x0591),
- SK_DEFINE_SCRIPT_ENTRY(kHebrewBold_FallbackScript, SkTypeface::kBold, 0x0591),
- SK_DEFINE_SCRIPT_ENTRY(kKannada_FallbackScript, SkTypeface::kNormal, 0x0C90),
- SK_DEFINE_SCRIPT_ENTRY(kMalayalam_FallbackScript, SkTypeface::kNormal, 0x0D10),
- SK_DEFINE_SCRIPT_ENTRY(kTamilRegular_FallbackScript, SkTypeface::kNormal, 0x0B82),
- SK_DEFINE_SCRIPT_ENTRY(kTamilBold_FallbackScript, SkTypeface::kBold, 0x0B82),
- SK_DEFINE_SCRIPT_ENTRY(kThai_FallbackScript, SkTypeface::kNormal, 0x0E01),
- SK_DEFINE_SCRIPT_ENTRY(kTelugu_FallbackScript, SkTypeface::kNormal, 0x0C10),
-};
-
-static bool gFBScriptInitialized = false;
-static const int gFBScriptInfoCount = sizeof(gFBScriptInfo) / sizeof(FBScriptInfo);
-
-// ensure that if any value is added to the public enum it is also added here
-SK_COMPILE_ASSERT(gFBScriptInfoCount == kFallbackScriptNumber, FBScript_count_mismatch);
-
// this function can't be called if the gFamilyHeadAndNameListMutex is already locked
static bool typefaceContainsChar(SkTypeface* face, SkUnichar uni) {
SkPaint paint;
@@ -940,103 +906,6 @@ static SkTypeface* findFallbackTypefaceForChar(SkUnichar uni) {
return 0;
}
-// this function can't be called if the gFamilyHeadAndNameListMutex is already locked
-static SkFontID findFallbackFontIDForChar(SkUnichar uni, SkTypeface::Style style) {
- const SkTypeface* tf = findFallbackTypefaceForChar(uni);
- if (!tf) {
- return 0;
- }
- return find_typeface(tf, style)->uniqueID();
-}
-
-// this function can't be called if the gFamilyHeadAndNameListMutex is already locked
-static void initFBScriptInfo() {
- if (gFBScriptInitialized) {
- return;
- }
-
- // ensure the system fonts are loaded
- gFamilyHeadAndNameListMutex.acquire();
- load_system_fonts();
- gFamilyHeadAndNameListMutex.release();
-
- for (int i = 0; i < gFBScriptInfoCount; i++) {
- FBScriptInfo& scriptInfo = gFBScriptInfo[i];
- // selects the best available style for the desired font. However, if
- // bold is requested and no bold font exists for the typeface containing
- // the character the next best style is chosen (e.g. normal).
- scriptInfo.fFontID = findFallbackFontIDForChar(scriptInfo.fChar, scriptInfo.fStyle);
-#if SK_DEBUG_FONTS
- SkDebugf("gFBScriptInfo[%s] --> %d", scriptInfo.fScriptID, scriptInfo.fFontID);
-#endif
- }
- // mark the value as initialized so we don't repeat our work unnecessarily
- gFBScriptInitialized = true;
-}
-
-SkTypeface* SkCreateTypefaceForScript(FallbackScripts script) {
- if (!SkTypeface_ValidScript(script)) {
- return NULL;
- }
-
- // ensure that our table is populated
- initFBScriptInfo();
-
- FBScriptInfo& scriptInfo = gFBScriptInfo[script];
-
- // ensure the element with that index actually maps to the correct script
- SkASSERT(scriptInfo.fScript == script);
-
- // if a suitable script could not be found then return NULL
- if (scriptInfo.fFontID == 0) {
- return NULL;
- }
-
- SkAutoMutexAcquire ac(gFamilyHeadAndNameListMutex);
-
- // retrieve the typeface the corresponds to this fontID
- SkTypeface* tf = find_from_uniqueID(scriptInfo.fFontID);
- // we ref(), since the semantic is to return a new instance
- tf->ref();
- return tf;
-}
-
-const char* SkGetFallbackScriptID(FallbackScripts script) {
- for (int i = 0; i < gFBScriptInfoCount; i++) {
- if (gFBScriptInfo[i].fScript == script) {
- return gFBScriptInfo[i].fScriptID;
- }
- }
- return NULL;
-}
-
-FallbackScripts SkGetFallbackScriptFromID(const char* id) {
- for (int i = 0; i < gFBScriptInfoCount; i++) {
- if (strcmp(gFBScriptInfo[i].fScriptID, id) == 0) {
- return gFBScriptInfo[i].fScript;
- }
- }
- return kFallbackScriptNumber; // Use kFallbackScriptNumber as an invalid value.
-}
-
-SkTypeface* SkCreateFallbackTypefaceForChar(SkUnichar uni,
- SkTypeface::Style style) {
- {
- SkAutoMutexAcquire ac(gFamilyHeadAndNameListMutex);
- load_system_fonts();
- }
-
- SkTypeface* tf = findFallbackTypefaceForChar(uni);
- if (!tf) {
- return NULL;
- }
- SkAutoMutexAcquire ac(gFamilyHeadAndNameListMutex);
- tf = find_typeface(tf, style);
- // we ref(), since the semantic is to return a new instance
- tf->ref();
- return tf;
-}
-
bool SkGetFallbackFamilyNameForChar(SkUnichar uni, SkString* name) {
SkASSERT(name);
{
« no previous file with comments | « include/ports/SkTypeface_android.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698