#include "cmap.h"
#include <algorithm>
#include <set>
#include <utility>
#include <vector>
#include "maxp.h"
#include "os2.h"
namespace {
struct CMAPSubtableHeader { … };
struct Subtable314Range { … };
const size_t kFormat0ArraySize = …;
const uint32_t kUnicodeUpperLimit = …;
const uint32_t kMaxCMAPSelectorRecords = …;
const uint32_t kMongolianVSStart = …;
const uint32_t kMongolianVSEnd = …;
const uint32_t kVSStart = …;
const uint32_t kVSEnd = …;
const uint32_t kIVSStart = …;
const uint32_t kIVSEnd = …;
const uint32_t kUVSUpperLimit = …;
}
namespace ots {
bool OpenTypeCMAP::ParseFormat4(int platform, int encoding,
const uint8_t *data, size_t length, uint16_t num_glyphs) { … }
bool OpenTypeCMAP::Parse31012(const uint8_t *data, size_t length,
uint16_t num_glyphs) { … }
bool OpenTypeCMAP::Parse31013(const uint8_t *data, size_t length,
uint16_t num_glyphs) { … }
bool OpenTypeCMAP::Parse0514(const uint8_t *data, size_t length) { … }
bool OpenTypeCMAP::Parse100(const uint8_t *data, size_t length) { … }
bool OpenTypeCMAP::Parse(const uint8_t *data, size_t length) { … }
bool OpenTypeCMAP::Serialize(OTSStream *out) { … }
}