1/* 2 * 3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved 4 * 5 */ 6 7#ifndef __ALTERNATESUBSTITUTIONSUBTABLES_H 8#define __ALTERNATESUBSTITUTIONSUBTABLES_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 AlternateSetTable 24{ 25 le_uint16 glyphCount; 26 TTGlyphID alternateArray[ANY_NUMBER]; 27}; 28 29LE_VAR_ARRAY(AlternateSetTable, alternateArray) 30 31struct AlternateSubstitutionSubtable : GlyphSubstitutionSubtable 32{ 33 le_uint16 alternateSetCount; 34 Offset alternateSetTableOffsetArray[ANY_NUMBER]; 35 36 le_uint32 process(const LEReferenceTo<AlternateSubstitutionSubtable> &base, GlyphIterator *glyphIterator, LEErrorCode &success, const LEGlyphFilter *filter = NULL) const; 37}; 38 39LE_VAR_ARRAY(AlternateSubstitutionSubtable, alternateSetTableOffsetArray) 40 41U_NAMESPACE_END 42#endif 43