blob: 6e418b7d65ac4091d3204f8c5f54908a5376f7bf [file] [log] [blame]
// 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.
#include <string>
#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(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