1/* 2 * 3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved 4 * 5 */ 6 7#ifndef __SINGLESUBSTITUTIONSUBTABLES_H 8#define __SINGLESUBSTITUTIONSUBTABLES_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 SingleSubstitutionSubtable : GlyphSubstitutionSubtable 24{ 25 le_uint32 process(const LEReferenceTo<SingleSubstitutionSubtable> &base, GlyphIterator *glyphIterator, LEErrorCode &success, const LEGlyphFilter *filter = NULL) const; 26}; 27 28struct SingleSubstitutionFormat1Subtable : SingleSubstitutionSubtable 29{ 30 le_int16 deltaGlyphID; 31 32 le_uint32 process(const LEReferenceTo<SingleSubstitutionFormat1Subtable> &base, GlyphIterator *glyphIterator, LEErrorCode &success, const LEGlyphFilter *filter = NULL) const; 33}; 34 35struct SingleSubstitutionFormat2Subtable : SingleSubstitutionSubtable 36{ 37 le_uint16 glyphCount; 38 TTGlyphID substituteArray[ANY_NUMBER]; 39 40 le_uint32 process(const LEReferenceTo<SingleSubstitutionFormat2Subtable> &base, GlyphIterator *glyphIterator, LEErrorCode &success, const LEGlyphFilter *filter = NULL) const; 41}; 42LE_VAR_ARRAY(SingleSubstitutionFormat2Subtable, substituteArray) 43 44U_NAMESPACE_END 45#endif 46 47 48