| /* | 
 |  * Copyright 2015 Google Inc. | 
 |  * | 
 |  * Use of this source code is governed by a BSD-style license that can be | 
 |  * found in the LICENSE file. | 
 |  */ | 
 | #include "SkTypes.h" | 
 | #if defined(SK_BUILD_FOR_ANDROID) | 
 |  | 
 | #include "SkFontMgr.h" | 
 | #include "SkFontMgr_android.h" | 
 |  | 
 | // For test only. | 
 | static const char* gTestFontsXml = nullptr; | 
 | static const char* gTestFallbackFontsXml = nullptr; | 
 | static const char* gTestBasePath = nullptr; | 
 |  | 
 | void SkUseTestFontConfigFile(const char* fontsXml, const char* fallbackFontsXml, | 
 |                              const char* basePath) | 
 | { | 
 |     gTestFontsXml = fontsXml; | 
 |     gTestFallbackFontsXml = fallbackFontsXml; | 
 |     gTestBasePath = basePath; | 
 |     SkASSERT(gTestFontsXml); | 
 |     SkASSERT(gTestFallbackFontsXml); | 
 |     SkASSERT(gTestBasePath); | 
 |     SkDEBUGF(("Test BasePath: %s Fonts: %s FallbackFonts: %s\n", | 
 |               gTestBasePath, gTestFontsXml, gTestFallbackFontsXml)); | 
 | } | 
 |  | 
 | SkFontMgr* SkFontMgr::Factory() { | 
 |     // These globals exist so that Chromium can override the environment. | 
 |     // TODO: these globals need to be removed, and Chromium use SkFontMgr_New_Android instead. | 
 |     if ((gTestFontsXml || gTestFallbackFontsXml) && gTestBasePath) { | 
 |         SkFontMgr_Android_CustomFonts custom = { | 
 |             SkFontMgr_Android_CustomFonts::kOnlyCustom, | 
 |             gTestBasePath, | 
 |             gTestFontsXml, | 
 |             gTestFallbackFontsXml, | 
 |             false /* fIsolated */ | 
 |         }; | 
 |         return SkFontMgr_New_Android(&custom); | 
 |     } | 
 |  | 
 |     return SkFontMgr_New_Android(nullptr); | 
 | } | 
 |  | 
 | #endif//defined(SK_BUILD_FOR_ANDROID) |