/* * 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)