00001 /* 00002 * @(#)SinglePositioningSubtables.h 1.6 00/03/15 00003 * 00004 * (C) Copyright IBM Corp. 1998, 1999, 2000 - All Rights Reserved 00005 * 00006 */ 00007 00008 #ifndef __SINGLEPOSITIONINGSUBTABLES_H 00009 #define __SINGLEPOSITIONINGSUBTABLES_H 00010 00011 #include "LETypes.h" 00012 #include "LEFontInstance.h" 00013 #include "OpenTypeTables.h" 00014 #include "GlyphPositioningTables.h" 00015 #include "ValueRecords.h" 00016 #include "GlyphIterator.h" 00017 00018 struct SinglePositioningSubtable : GlyphPositioningSubtable 00019 { 00020 le_uint32 process(GlyphIterator *glyphIterator, LEFontInstance *fontInstance); 00021 }; 00022 00023 struct SinglePositioningFormat1Subtable : SinglePositioningSubtable 00024 { 00025 ValueFormat valueFormat; 00026 ValueRecord valueRecord; 00027 00028 le_uint32 process(GlyphIterator *glyphIterator, LEFontInstance *fontInstance); 00029 }; 00030 00031 struct SinglePositioningFormat2Subtable : SinglePositioningSubtable 00032 { 00033 ValueFormat valueFormat; 00034 le_uint16 valueCount; 00035 ValueRecord valueRecordArray[ANY_NUMBER]; 00036 00037 le_uint32 process(GlyphIterator *glyphIterator, LEFontInstance *fontInstance); 00038 }; 00039 00040 #endif 00041 00042