1 // Copyright (c) 2011-2017 The OTS Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef OTS_GDEF_H_ 6 #define OTS_GDEF_H_ 7 8 #include "ots.h" 9 10 namespace ots { 11 12 class OpenTypeGDEF : public Table { 13 public: OpenTypeGDEF(Font * font,uint32_t tag)14 explicit OpenTypeGDEF(Font *font, uint32_t tag) 15 : Table(font, tag, tag), 16 num_mark_glyph_sets(0), 17 m_data(NULL), 18 m_length(0), 19 m_num_glyphs(0) { 20 } 21 22 bool Parse(const uint8_t *data, size_t length); 23 bool Serialize(OTSStream *out); 24 25 uint16_t num_mark_glyph_sets; 26 27 private: 28 bool ParseAttachListTable(const uint8_t *data, size_t length); 29 bool ParseLigCaretListTable(const uint8_t *data, size_t length); 30 bool ParseMarkGlyphSetsDefTable(const uint8_t *data, size_t length); 31 32 const uint8_t *m_data; 33 size_t m_length; 34 uint16_t m_num_glyphs; 35 }; 36 37 } // namespace ots 38 39 #endif 40 41