#include "third_party/blink/renderer/platform/fonts/font_variant_alternates.h"
#include "third_party/blink/renderer/platform/wtf/hash_functions.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string_hash.h"
#include <hb.h>
namespace blink {
FontVariantAlternates::FontVariantAlternates() = default;
namespace {
constexpr uint32_t kSwshTag = …;
constexpr uint32_t kCswhTag = …;
constexpr uint32_t kHistTag = …;
constexpr uint32_t kSaltTag = …;
constexpr uint32_t kNaltTag = …;
constexpr uint32_t kOrnmTag = …;
constexpr uint32_t kMaxTag = …;
uint32_t NumberedTag(uint32_t base_tag, uint32_t number) { … }
uint32_t ssTag(uint32_t number) { … }
uint32_t cvTag(uint32_t number) { … }
}
const ResolvedFontFeatures& FontVariantAlternates::GetResolvedFontFeatures()
const { … }
scoped_refptr<FontVariantAlternates> FontVariantAlternates::Clone(
const FontVariantAlternates& other) { … }
bool FontVariantAlternates::IsNormal() const { … }
void FontVariantAlternates::SetStylistic(AtomicString stylistic) { … }
void FontVariantAlternates::SetHistoricalForms() { … }
void FontVariantAlternates::SetSwash(AtomicString swash) { … }
void FontVariantAlternates::SetOrnaments(AtomicString ornaments) { … }
void FontVariantAlternates::SetAnnotation(AtomicString annotation) { … }
void FontVariantAlternates::SetStyleset(Vector<AtomicString> styleset) { … }
void FontVariantAlternates::SetCharacterVariant(
Vector<AtomicString> character_variant) { … }
scoped_refptr<FontVariantAlternates> FontVariantAlternates::Resolve(
ResolverFunction resolve_stylistic,
ResolverFunction resolve_styleset,
ResolverFunction resolve_character_variant,
ResolverFunction resolve_swash,
ResolverFunction resolve_ornaments,
ResolverFunction resolve_annotation) const { … }
unsigned FontVariantAlternates::GetHash() const { … }
bool FontVariantAlternates::operator==(
const FontVariantAlternates& other) const { … }
}