1/* 2 * 3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved 4 * 5 */ 6 7#ifndef __MARKTOLIGATUREPOSITIONINGSUBTABLES_H 8#define __MARKTOLIGATUREPOSITIONINGSUBTABLES_H 9 10/** 11 * \file 12 * \internal 13 */ 14 15#include "LETypes.h" 16#include "LEFontInstance.h" 17#include "OpenTypeTables.h" 18#include "GlyphPositioningTables.h" 19#include "AttachmentPosnSubtables.h" 20#include "GlyphIterator.h" 21 22U_NAMESPACE_BEGIN 23 24struct MarkToLigaturePositioningSubtable : AttachmentPositioningSubtable 25{ 26 le_int32 process(const LETableReference &base, GlyphIterator *glyphIterator, const LEFontInstance *fontInstance, LEErrorCode &success) const; 27 LEGlyphID findLigatureGlyph(GlyphIterator *glyphIterator) const; 28}; 29 30struct ComponentRecord 31{ 32 Offset ligatureAnchorTableOffsetArray[ANY_NUMBER]; 33}; 34LE_VAR_ARRAY(ComponentRecord, ligatureAnchorTableOffsetArray) 35 36struct LigatureAttachTable 37{ 38 le_uint16 componentCount; 39 ComponentRecord componentRecordArray[ANY_NUMBER]; 40}; 41LE_VAR_ARRAY(LigatureAttachTable, componentRecordArray) 42 43struct LigatureArray 44{ 45 le_uint16 ligatureCount; 46 Offset ligatureAttachTableOffsetArray[ANY_NUMBER]; 47}; 48LE_VAR_ARRAY(LigatureArray, ligatureAttachTableOffsetArray) 49 50U_NAMESPACE_END 51#endif 52 53