DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Implementation

Mercurial (88fe9a3d4522)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
// Copyright (c) 2011-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.

#ifndef OTS_GDEF_H_
#define OTS_GDEF_H_

#include "ots.h"

namespace ots {

class OpenTypeGDEF : public Table {
 public:
  explicit OpenTypeGDEF(Font *font, uint32_t tag)
      : Table(font, tag, tag),
        num_mark_glyph_sets(0),
        m_data(NULL),
        m_length(0),
        m_num_glyphs(0) {
  }

  bool Parse(const uint8_t *data, size_t length);
  bool Serialize(OTSStream *out);

  uint16_t num_mark_glyph_sets;

 private:
  bool ParseAttachListTable(const uint8_t *data, size_t length);
  bool ParseLigCaretListTable(const uint8_t *data, size_t length);
  bool ParseMarkGlyphSetsDefTable(const uint8_t *data, size_t length);

  const uint8_t *m_data;
  size_t m_length;
  uint16_t m_num_glyphs;
};

}  // namespace ots

#endif