1/* 2 * 3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved 4 * 5 */ 6 7#ifndef __MULTIPLESUBSTITUTIONSUBTABLES_H 8#define __MULTIPLESUBSTITUTIONSUBTABLES_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 21U_NAMESPACE_BEGIN 22 23struct SequenceTable 24{ 25 le_uint16 glyphCount; 26 TTGlyphID substituteArray[ANY_NUMBER]; 27}; 28LE_VAR_ARRAY(SequenceTable, substituteArray) 29 30struct MultipleSubstitutionSubtable : GlyphSubstitutionSubtable 31{ 32 le_uint16 sequenceCount; 33 Offset sequenceTableOffsetArray[ANY_NUMBER]; 34 35 le_uint32 process(const LETableReference &base, GlyphIterator *glyphIterator, LEErrorCode& success, const LEGlyphFilter *filter = NULL) const; 36}; 37LE_VAR_ARRAY(MultipleSubstitutionSubtable, sequenceTableOffsetArray) 38 39U_NAMESPACE_END 40#endif 41