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