1 /* 2 * 3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved 4 * 5 */ 6 7 #ifndef __ALTERNATESUBSTITUTIONSUBTABLES_H 8 #define __ALTERNATESUBSTITUTIONSUBTABLES_H 9 10 /** 11 * \file 12 * \internal 13 */ 14 15 #include "LETypes.h" 16 #include "LEGlyphFilter.h" 17 #include "OpenTypeTables.h" 18 #include "GlyphSubstitutionTables.h" 19 #include "GlyphIterator.h" 20 21 U_NAMESPACE_BEGIN 22 23 struct AlternateSetTable 24 { 25 le_uint16 glyphCount; 26 TTGlyphID alternateArray[ANY_NUMBER]; 27 }; 28 29 LE_VAR_ARRAY(AlternateSetTable, alternateArray) 30 31 struct AlternateSubstitutionSubtable : GlyphSubstitutionSubtable 32 { 33 le_uint16 alternateSetCount; 34 Offset alternateSetTableOffsetArray[ANY_NUMBER]; 35 36 le_uint32 process(const LEReferenceTo<AlternateSubstitutionSubtable> &base, GlyphIterator *glyphIterator, LEErrorCode &success, const LEGlyphFilter *filter = NULL) const; 37 }; 38 39 LE_VAR_ARRAY(AlternateSubstitutionSubtable, alternateSetTableOffsetArray) 40 41 U_NAMESPACE_END 42 #endif 43