// 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