Remove unused complex script support from android builds

R=reed@google.com

Author: djsollen@google.com

Review URL: https://chromiumcodereview.appspot.com/14942003

git-svn-id: http://skia.googlecode.com/svn/trunk@9011 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/ports/SkTypeface_android.h b/include/ports/SkTypeface_android.h
index 0592167..e87fa48 100644
--- a/include/ports/SkTypeface_android.h
+++ b/include/ports/SkTypeface_android.h
@@ -11,60 +11,6 @@
 
 #include "SkTypeface.h"
 
-enum FallbackScripts {
-    kArabic_FallbackScript,
-    kArmenian_FallbackScript,
-    kBengali_FallbackScript,
-    kDevanagari_FallbackScript,
-    kEthiopic_FallbackScript,
-    kGeorgian_FallbackScript,
-    kHebrewRegular_FallbackScript,
-    kHebrewBold_FallbackScript,
-    kKannada_FallbackScript,
-    kMalayalam_FallbackScript,
-    kTamilRegular_FallbackScript,
-    kTamilBold_FallbackScript,
-    kThai_FallbackScript,
-    kTelugu_FallbackScript,
-    kFallbackScriptNumber
-};
-
-// This particular mapping will be removed after WebKit is updated to use the
-// new mappings. No new caller should use the kTamil_FallbackScript but rather
-// the more specific Tamil scripts in the standard enum.
-#define kTamil_FallbackScript kTamilRegular_FallbackScript
-
-#define SkTypeface_ValidScript(s) (s >= 0 && s < kFallbackScriptNumber)
-
-/**
- *  Return a new typeface for a fallback script. If the script is
- *  not valid, or can not map to a font, returns null.
- *  @param  script  The script id.
- *  @return reference to the matching typeface. Caller must call
- *          unref() when they are done.
- */
-SK_API SkTypeface* SkCreateTypefaceForScript(FallbackScripts script);
-
-/**
- *  Return the string representation for the fallback script on Android.
- *  If the script is not valid, returns null.
- */
-SK_API const char* SkGetFallbackScriptID(FallbackScripts script);
-
-/**
- *  Return the fallback script enum for the ID on Android.
- *  If the ID is not valid, or can not map to a fallback
- *  script, returns kFallbackScriptNumber.
- */
-SK_API FallbackScripts SkGetFallbackScriptFromID(const char* id);
-
-/**
- *  Return a new typeface of the font in the fallback font list containing
- *  the specified chararacter. If no typeface is found, returns null.
- */
-SK_API SkTypeface* SkCreateFallbackTypefaceForChar(SkUnichar uni,
-                                                   SkTypeface::Style style);
-
 /**
  *  Get the family name of the font in the fallback font list containing
  *  the specified chararacter. if no font is found, returns false.
diff --git a/src/ports/SkFontHost_android.cpp b/src/ports/SkFontHost_android.cpp
index 37495e7..ce478de 100644
--- a/src/ports/SkFontHost_android.cpp
+++ b/src/ports/SkFontHost_android.cpp
@@ -878,40 +878,6 @@
 // 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 @@
     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);
     {