sl@0: /* sl@0: * sl@0: * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved sl@0: * sl@0: */ sl@0: sl@0: #ifndef __LIGATURESUBSTITUTIONSUBTABLES_H sl@0: #define __LIGATURESUBSTITUTIONSUBTABLES_H sl@0: sl@0: /** sl@0: * \file sl@0: * \internal sl@0: */ sl@0: sl@0: #include "LETypes.h" sl@0: #include "LEGlyphFilter.h" sl@0: #include "OpenTypeTables.h" sl@0: #include "GlyphSubstitutionTables.h" sl@0: #include "GlyphIterator.h" sl@0: sl@0: U_NAMESPACE_BEGIN sl@0: sl@0: struct LigatureSetTable sl@0: { sl@0: le_uint16 ligatureCount; sl@0: Offset ligatureTableOffsetArray[ANY_NUMBER]; sl@0: }; sl@0: sl@0: struct LigatureTable sl@0: { sl@0: TTGlyphID ligGlyph; sl@0: le_uint16 compCount; sl@0: TTGlyphID componentArray[ANY_NUMBER]; sl@0: }; sl@0: sl@0: struct LigatureSubstitutionSubtable : GlyphSubstitutionSubtable sl@0: { sl@0: le_uint16 ligSetCount; sl@0: Offset ligSetTableOffsetArray[ANY_NUMBER]; sl@0: sl@0: le_uint32 process(GlyphIterator *glyphIterator, const LEGlyphFilter *filter = NULL) const; sl@0: }; sl@0: sl@0: U_NAMESPACE_END sl@0: #endif