sl@0: /* sl@0: * sl@0: * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved sl@0: * sl@0: */ sl@0: sl@0: #ifndef __MARKTOLIGATUREPOSITIONINGSUBTABLES_H sl@0: #define __MARKTOLIGATUREPOSITIONINGSUBTABLES_H sl@0: sl@0: /** sl@0: * \file sl@0: * \internal sl@0: */ sl@0: sl@0: #include "LETypes.h" sl@0: #include "LEFontInstance.h" sl@0: #include "OpenTypeTables.h" sl@0: #include "GlyphPositioningTables.h" sl@0: #include "AttachmentPosnSubtables.h" sl@0: #include "GlyphIterator.h" sl@0: sl@0: U_NAMESPACE_BEGIN sl@0: sl@0: struct MarkToLigaturePositioningSubtable : AttachmentPositioningSubtable sl@0: { sl@0: le_int32 process(GlyphIterator *glyphIterator, const LEFontInstance *fontInstance) const; sl@0: LEGlyphID findLigatureGlyph(GlyphIterator *glyphIterator) const; sl@0: }; sl@0: sl@0: struct ComponentRecord sl@0: { sl@0: Offset ligatureAnchorTableOffsetArray[ANY_NUMBER]; sl@0: }; sl@0: sl@0: struct LigatureAttachTable sl@0: { sl@0: le_uint16 componentCount; sl@0: ComponentRecord componentRecordArray[ANY_NUMBER]; sl@0: }; sl@0: sl@0: struct LigatureArray sl@0: { sl@0: le_uint16 ligatureCount; sl@0: Offset ligatureAttachTableOffsetArray[ANY_NUMBER]; sl@0: }; sl@0: sl@0: U_NAMESPACE_END sl@0: #endif sl@0: