chromium/third_party/ots/src/src/cmap.cc

// Copyright (c) 2009-2017 The OTS 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 "cmap.h"

#include <algorithm>
#include <set>
#include <utility>
#include <vector>

#include "maxp.h"
#include "os2.h"

// cmap - Character To Glyph Index Mapping Table
// http://www.microsoft.com/typography/otspec/cmap.htm

namespace {

struct CMAPSubtableHeader {};

struct Subtable314Range {};

// Glyph array size for the Mac Roman (format 0) table.
const size_t kFormat0ArraySize =;

// The upper limit of the Unicode code point.
const uint32_t kUnicodeUpperLimit =;

// The maximum number of UVS records (See below).
const uint32_t kMaxCMAPSelectorRecords =;
// The range of UVSes are:
//   0x180B-0x180D (3 code points)
//   0xFE00-0xFE0F (16 code points)
//   0xE0100-0xE01EF (240 code points)
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

namespace ots {

// Parses Format 4 tables
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) {}

}  // namespace ots