os/textandloc/fontservices/textshaperplugin/IcuSource/layout/PairPositioningSubtables.h
Update contrib.
3 * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
7 #ifndef __PAIRPOSITIONINGSUBTABLES_H
8 #define __PAIRPOSITIONINGSUBTABLES_H
16 #include "LEFontInstance.h"
17 #include "OpenTypeTables.h"
18 #include "GlyphPositioningTables.h"
19 #include "ValueRecords.h"
20 #include "GlyphIterator.h"
24 // NOTE: ValueRecord has a variable size
25 struct PairValueRecord
27 TTGlyphID secondGlyph;
28 ValueRecord valueRecord1;
29 // ValueRecord valueRecord2;
34 le_uint16 pairValueCount;
35 PairValueRecord pairValueRecordArray[ANY_NUMBER];
38 struct PairPositioningSubtable : GlyphPositioningSubtable
40 ValueFormat valueFormat1;
41 ValueFormat valueFormat2;
43 le_uint32 process(GlyphIterator *glyphIterator, const LEFontInstance *fontInstance) const;
46 struct PairPositioningFormat1Subtable : PairPositioningSubtable
48 le_uint16 pairSetCount;
49 Offset pairSetTableOffsetArray[ANY_NUMBER];
51 le_uint32 process(GlyphIterator *glyphIterator, const LEFontInstance *fontInstance) const;
54 const PairValueRecord *findPairValueRecord(TTGlyphID glyphID, const PairValueRecord *records,
55 le_uint16 recordCount, le_uint16 recordSize) const;
58 // NOTE: ValueRecord has a variable size
61 ValueRecord valueRecord1;
62 // ValueRecord valurRecord2;
67 Class2Record class2RecordArray[ANY_NUMBER];
70 struct PairPositioningFormat2Subtable : PairPositioningSubtable
72 Offset classDef1Offset;
73 Offset classDef2Offset;
74 le_uint16 class1Count;
75 le_uint16 class2Count;
76 Class1Record class1RecordArray[ANY_NUMBER];
78 le_uint32 process(GlyphIterator *glyphIterator, const LEFontInstance *fontInstance) const;