3 * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
7 #ifndef __VALUERECORDS_H
8 #define __VALUERECORDS_H
16 #include "LEFontInstance.h"
17 #include "OpenTypeTables.h"
18 #include "GlyphIterator.h"
19 #include "GlyphPositionAdjustments.h"
23 typedef le_uint16 ValueFormat
;
24 typedef le_int16 ValueRecordField
;
28 le_int16 values
[ANY_NUMBER
];
30 le_int16
getFieldValue(ValueFormat valueFormat
, ValueRecordField field
) const;
31 le_int16
getFieldValue(le_int16 index
, ValueFormat valueFormat
, ValueRecordField field
) const;
32 void adjustPosition(ValueFormat valueFormat
, const char *base
, GlyphPositionAdjustment
&positionAdjustment
,
33 const LEFontInstance
*fontInstance
) const;
34 void adjustPosition(le_int16 index
, ValueFormat valueFormat
, const char *base
, GlyphPositionAdjustment
&positionAdjustment
,
35 const LEFontInstance
*fontInstance
) const;
37 static le_int16
getSize(ValueFormat valueFormat
);
40 static le_int16
getFieldCount(ValueFormat valueFormat
);
41 static le_int16
getFieldIndex(ValueFormat valueFormat
, ValueRecordField field
);
44 enum ValueRecordFields
58 vfbXPlacement
= 0x0001,
59 vfbYPlacement
= 0x0002,
62 vfbXPlaDevice
= 0x0010,
63 vfbYPlaDevice
= 0x0020,
64 vfbXAdvDevice
= 0x0040,
65 vfbYAdvDevice
= 0x0080,
67 vfbAnyDevice
= vfbXPlaDevice
+ vfbYPlaDevice
+ vfbXAdvDevice
+ vfbYAdvDevice