SinglePositioningSubtables.h revision c73f511526464f8e56c242df80552e9b0d94ae3d
1/* 2 * 3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved 4 * 5 */ 6 7#ifndef __SINGLEPOSITIONINGSUBTABLES_H 8#define __SINGLEPOSITIONINGSUBTABLES_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 "ValueRecords.h" 20#include "GlyphIterator.h" 21 22U_NAMESPACE_BEGIN 23 24struct SinglePositioningSubtable : GlyphPositioningSubtable 25{ 26 le_uint32 process(const LEReferenceTo<SinglePositioningSubtable> &base, GlyphIterator *glyphIterator, const LEFontInstance *fontInstance, LEErrorCode &success) const; 27}; 28 29struct SinglePositioningFormat1Subtable : SinglePositioningSubtable 30{ 31 ValueFormat valueFormat; 32 ValueRecord valueRecord; 33 34 le_uint32 process(const LEReferenceTo<SinglePositioningFormat1Subtable> &base, GlyphIterator *glyphIterator, const LEFontInstance *fontInstance, LEErrorCode &success) const; 35}; 36 37struct SinglePositioningFormat2Subtable : SinglePositioningSubtable 38{ 39 ValueFormat valueFormat; 40 le_uint16 valueCount; 41 ValueRecord valueRecordArray[ANY_NUMBER]; 42 43 le_uint32 process(const LEReferenceTo<SinglePositioningFormat2Subtable> &base, GlyphIterator *glyphIterator, const LEFontInstance *fontInstance, LEErrorCode &success) const; 44}; 45LE_VAR_ARRAY(SinglePositioningFormat2Subtable, valueRecordArray) 46 47U_NAMESPACE_END 48#endif 49 50 51