1 /* 2 * 3 * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved 4 * 5 */ 6 7 #ifndef __LIGATURESUBSTITUTIONSUBTABLES_H 8 #define __LIGATURESUBSTITUTIONSUBTABLES_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 LigatureSetTable 24 { 25 le_uint16 ligatureCount; 26 Offset ligatureTableOffsetArray[ANY_NUMBER]; 27 }; 28 29 struct LigatureTable 30 { 31 TTGlyphID ligGlyph; 32 le_uint16 compCount; 33 TTGlyphID componentArray[ANY_NUMBER]; 34 }; 35 36 struct LigatureSubstitutionSubtable : GlyphSubstitutionSubtable 37 { 38 le_uint16 ligSetCount; 39 Offset ligSetTableOffsetArray[ANY_NUMBER]; 40 41 le_uint32 process(GlyphIterator *glyphIterator, const LEGlyphFilter *filter = NULL) const; 42 }; 43 44 U_NAMESPACE_END 45 #endif 46