3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
7 #ifndef __VALUERECORDS_H
8 #define __VALUERECORDS_H
16 #include "LEFontInstance.h"
17 #include "OpenTypeTables.h"
18 #include "GlyphIterator.h"
22 typedef le_uint16 ValueFormat
;
23 typedef le_int16 ValueRecordField
;
27 le_int16 values
[ANY_NUMBER
];
29 le_int16
getFieldValue(ValueFormat valueFormat
, ValueRecordField field
) const;
30 le_int16
getFieldValue(le_int16 index
, ValueFormat valueFormat
, ValueRecordField field
) const;
31 void adjustPosition(ValueFormat valueFormat
, const char *base
, GlyphIterator
&glyphIterator
,
32 const LEFontInstance
*fontInstance
) const;
33 void adjustPosition(le_int16 index
, ValueFormat valueFormat
, const char *base
, GlyphIterator
&glyphIterator
,
34 const LEFontInstance
*fontInstance
) const;
36 static le_int16
getSize(ValueFormat valueFormat
);
39 static le_int16
getFieldCount(ValueFormat valueFormat
);
40 static le_int16
getFieldIndex(ValueFormat valueFormat
, ValueRecordField field
);
42 LE_VAR_ARRAY(ValueRecord
, values
)
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