gpos.h (1161B)
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_GPOS_H_ 6 #define OTS_GPOS_H_ 7 8 #include "ots.h" 9 #include "layout.h" 10 11 namespace ots { 12 13 class OpenTypeGPOS : public OpenTypeLayoutTable { 14 public: 15 explicit OpenTypeGPOS(Font *font, uint32_t tag) 16 : OpenTypeLayoutTable(font, tag, tag) { } 17 18 private: 19 bool ValidLookupSubtableType(const uint16_t lookup_type, 20 bool extension = false) const; 21 bool ParseLookupSubtable(const uint8_t *data, const size_t length, 22 const uint16_t lookup_type); 23 24 bool ParseSingleAdjustment(const uint8_t *data, const size_t length); 25 bool ParsePairAdjustment(const uint8_t *data, const size_t length); 26 bool ParseCursiveAttachment(const uint8_t *data, const size_t length); 27 bool ParseMarkToBaseAttachment(const uint8_t *data, const size_t length); 28 bool ParseMarkToLigatureAttachment(const uint8_t *data, const size_t length); 29 bool ParseMarkToMarkAttachment(const uint8_t *data, const size_t length); 30 }; 31 32 } // namespace ots 33 34 #endif