2
* @(#)ValueRecords.h 1.6 00/03/15
4
* (C) Copyright IBM Corp. 1998, 1999, 2000, 2001 - All Rights Reserved
8
#ifndef __VALUERECORDS_H
9
#define __VALUERECORDS_H
12
#include "LEFontInstance.h"
13
#include "OpenTypeTables.h"
14
#include "GlyphIterator.h"
15
#include "GlyphPositionAdjustments.h"
19
typedef le_uint16 ValueFormat;
20
typedef le_int16 ValueRecordField;
24
le_int16 values[ANY_NUMBER];
26
le_int16 getFieldValue(ValueFormat valueFormat, ValueRecordField field) const;
27
le_int16 getFieldValue(le_int16 index, ValueFormat valueFormat, ValueRecordField field) const;
28
void adjustPosition(ValueFormat valueFormat, const char *base, GlyphPositionAdjustment &positionAdjustment,
29
const LEFontInstance *fontInstance) const;
30
void adjustPosition(le_int16 index, ValueFormat valueFormat, const char *base, GlyphPositionAdjustment &positionAdjustment,
31
const LEFontInstance *fontInstance) const;
33
static le_int16 getSize(ValueFormat valueFormat);
36
static le_int16 getFieldCount(ValueFormat valueFormat);
37
static le_int16 getFieldIndex(ValueFormat valueFormat, ValueRecordField field);
40
enum ValueRecordFields
54
vfbXPlacement = 0x0001,
55
vfbYPlacement = 0x0002,
58
vfbXPlaDevice = 0x0010,
59
vfbYPlaDevice = 0x0020,
60
vfbXAdvDevice = 0x0040,
61
vfbYAdvDevice = 0x0080,
63
vfbAnyDevice = vfbXPlaDevice + vfbYPlaDevice + vfbXAdvDevice + vfbYAdvDevice