#include "core/fpdfapi/font/cfx_cttgsubtable.h"
#include <stdint.h>
#include <utility>
#include "core/fxcrt/byteorder.h"
#include "core/fxcrt/data_vector.h"
#include "core/fxcrt/stl_util.h"
#include "core/fxge/cfx_fontmapper.h"
namespace {
bool IsVerticalFeatureTag(uint32_t tag) { … }
}
CFX_CTTGSUBTable::CFX_CTTGSUBTable(pdfium::span<const uint8_t> gsub) { … }
CFX_CTTGSUBTable::~CFX_CTTGSUBTable() = default;
bool CFX_CTTGSUBTable::LoadGSUBTable(pdfium::span<const uint8_t> gsub) { … }
uint32_t CFX_CTTGSUBTable::GetVerticalGlyph(uint32_t glyphnum) const { … }
std::optional<uint32_t> CFX_CTTGSUBTable::GetVerticalGlyphSub(
const FeatureRecord& feature,
uint32_t glyphnum) const { … }
std::optional<uint32_t> CFX_CTTGSUBTable::GetVerticalGlyphSub2(
const Lookup& lookup,
uint32_t glyphnum) const { … }
int CFX_CTTGSUBTable::GetCoverageIndex(const CoverageFormat& coverage,
uint32_t g) const { … }
uint8_t CFX_CTTGSUBTable::GetUInt8(pdfium::span<const uint8_t>& p) const { … }
int16_t CFX_CTTGSUBTable::GetInt16(pdfium::span<const uint8_t>& p) const { … }
uint16_t CFX_CTTGSUBTable::GetUInt16(pdfium::span<const uint8_t>& p) const { … }
int32_t CFX_CTTGSUBTable::GetInt32(pdfium::span<const uint8_t>& p) const { … }
uint32_t CFX_CTTGSUBTable::GetUInt32(pdfium::span<const uint8_t>& p) const { … }
void CFX_CTTGSUBTable::Parse(pdfium::span<const uint8_t> scriptlist,
pdfium::span<const uint8_t> featurelist,
pdfium::span<const uint8_t> lookuplist) { … }
void CFX_CTTGSUBTable::ParseScriptList(pdfium::span<const uint8_t> raw) { … }
CFX_CTTGSUBTable::ScriptRecord CFX_CTTGSUBTable::ParseScript(
pdfium::span<const uint8_t> raw) { … }
CFX_CTTGSUBTable::FeatureIndices CFX_CTTGSUBTable::ParseLangSys(
pdfium::span<const uint8_t> raw) { … }
void CFX_CTTGSUBTable::ParseFeatureList(pdfium::span<const uint8_t> raw) { … }
DataVector<uint16_t> CFX_CTTGSUBTable::ParseFeatureLookupListIndices(
pdfium::span<const uint8_t> raw) { … }
void CFX_CTTGSUBTable::ParseLookupList(pdfium::span<const uint8_t> raw) { … }
CFX_CTTGSUBTable::Lookup CFX_CTTGSUBTable::ParseLookup(
pdfium::span<const uint8_t> raw) { … }
CFX_CTTGSUBTable::CoverageFormat CFX_CTTGSUBTable::ParseCoverage(
pdfium::span<const uint8_t> raw) { … }
CFX_CTTGSUBTable::SubTable CFX_CTTGSUBTable::ParseSingleSubst(
pdfium::span<const uint8_t> raw) { … }
CFX_CTTGSUBTable::FeatureRecord::FeatureRecord() = default;
CFX_CTTGSUBTable::FeatureRecord::~FeatureRecord() = default;
CFX_CTTGSUBTable::RangeRecord::RangeRecord() = default;
CFX_CTTGSUBTable::SubTable::SubTable() = default;
CFX_CTTGSUBTable::SubTable::SubTable(SubTable&& that) noexcept = default;
CFX_CTTGSUBTable::SubTable& CFX_CTTGSUBTable::SubTable::operator=(
SubTable&& that) noexcept = default;
CFX_CTTGSUBTable::SubTable::~SubTable() = default;
CFX_CTTGSUBTable::Lookup::Lookup() = default;
CFX_CTTGSUBTable::Lookup::Lookup(Lookup&& that) noexcept = default;
CFX_CTTGSUBTable::Lookup& CFX_CTTGSUBTable::Lookup::operator=(
Lookup&& that) noexcept = default;
CFX_CTTGSUBTable::Lookup::~Lookup() = default;