1 /* 2 * 3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved 4 * 5 */ 6 7 #ifndef __CURSIVEATTACHMENTSUBTABLES_H 8 #define __CURSIVEATTACHMENTSUBTABLES_H 9 10 /** 11 * \file 12 * \internal 13 */ 14 15 #include "LETypes.h" 16 #include "OpenTypeTables.h" 17 #include "GlyphPositioningTables.h" 18 19 U_NAMESPACE_BEGIN 20 21 class LEFontInstance; 22 class GlyphIterator; 23 24 struct EntryExitRecord 25 { 26 Offset entryAnchor; 27 Offset exitAnchor; 28 }; 29 30 struct CursiveAttachmentSubtable : GlyphPositioningSubtable 31 { 32 le_uint16 entryExitCount; 33 EntryExitRecord entryExitRecords[ANY_NUMBER]; 34 35 le_uint32 process(const LEReferenceTo<CursiveAttachmentSubtable> &base, GlyphIterator *glyphIterator, const LEFontInstance *fontInstance, LEErrorCode &success) const; 36 }; 37 LE_VAR_ARRAY(CursiveAttachmentSubtable, entryExitRecords) 38 39 U_NAMESPACE_END 40 #endif 41 42 43