#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "third_party/blink/renderer/platform/fonts/font_fallback_iterator.h"
#include "base/memory/values_equivalent.h"
#include "third_party/blink/renderer/platform/fonts/font_cache.h"
#include "third_party/blink/renderer/platform/fonts/font_description.h"
#include "third_party/blink/renderer/platform/fonts/font_fallback_list.h"
#include "third_party/blink/renderer/platform/fonts/segmented_font_data.h"
#include "third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.h"
#include "third_party/blink/renderer/platform/fonts/simple_font_data.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
namespace blink {
FontFallbackIterator::FontFallbackIterator(
const FontDescription& description,
FontFallbackList* fallback_list,
FontFallbackPriority font_fallback_priority)
: … { … }
void FontFallbackIterator::Reset() { … }
bool FontFallbackIterator::AlreadyLoadingRangeForHintChar(UChar32 hint_char) { … }
bool FontFallbackIterator::RangeSetContributesForHint(
const HintCharList& hint_list,
const FontDataForRangeSet* segmented_face) { … }
void FontFallbackIterator::WillUseRange(const AtomicString& family,
const FontDataForRangeSet& range_set) { … }
FontDataForRangeSet* FontFallbackIterator::UniqueOrNext(
FontDataForRangeSet* candidate,
const HintCharList& hint_list) { … }
bool FontFallbackIterator::NeedsHintList() const { … }
FontDataForRangeSet* FontFallbackIterator::Next(const HintCharList& hint_list) { … }
const SimpleFontData* FontFallbackIterator::FallbackPriorityFont(UChar32 hint) { … }
static inline unsigned ChooseHintIndex(
const FontFallbackIterator::HintCharList& hint_list) { … }
const SimpleFontData* FontFallbackIterator::UniqueSystemFontForHintList(
const HintCharList& hint_list) { … }
bool FontFallbackIterator::operator==(const FontFallbackIterator& other) const { … }
}