// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_GFX_FONT_FALLBACK_LINUX_H_ #define UI_GFX_FONT_FALLBACK_LINUX_H_ #include #include "base/files/file_path.h" #include "third_party/icu/source/common/unicode/uchar.h" #include "ui/gfx/gfx_export.h" namespace gfx { // Exposed fallback font caches methods for testing. GFX_EXPORT size_t GetFallbackFontEntriesCacheSizeForTesting(); GFX_EXPORT size_t GetFallbackFontListCacheSizeForTesting(); GFX_EXPORT void ClearAllFontFallbackCachesForTesting(); struct GFX_EXPORT FallbackFontData { std::string name; base::FilePath filepath; int fontconfig_interface_id = 0; int ttc_index = 0; bool is_bold = false; bool is_italic = false; FallbackFontData(); FallbackFontData(const FallbackFontData& other); FallbackFontData& operator=(const FallbackFontData& other); }; // Return a font family which provides a glyph for the Unicode code point // specified by character. // c: an UTF-32 code point // preferred_locale: preferred locale identifier for |c| // (e.g. "en", "ja", "zh-CN") // // Return whether the request was successful or not. GFX_EXPORT bool GetFallbackFontForChar(UChar32 c, const std::string& preferred_locale, FallbackFontData* fallback_font); } // namespace gfx #endif // UI_GFX_FONT_FALLBACK_LINUX_H_