2 * @(#)MorphTables.h 1.5 00/03/15
4 * (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
8 #ifndef __MORPHTABLES_H
9 #define __MORPHTABLES_H
17 #include "LayoutTables.h"
21 typedef le_uint32 FeatureFlags
;
23 typedef le_int16 FeatureType
;
24 typedef le_int16 FeatureSetting
;
26 struct FeatureTableEntry
28 FeatureType featureType
;
29 FeatureSetting featureSetting
;
30 FeatureFlags enableFlags
;
31 FeatureFlags disableFlags
;
36 FeatureFlags defaultFlags
;
37 le_uint32 chainLength
;
38 le_int16 nFeatureEntries
;
40 FeatureTableEntry featureTable
[ANY_NUMBER
];
43 struct MorphTableHeader
47 ChainHeader chains
[ANY_NUMBER
];
49 void process(LEGlyphID
*glyphs
, le_int32
*glyphIndices
, le_int32 glyphCount
) const;
52 typedef le_int16 SubtableCoverage
;
54 enum SubtableCoverageFlags
63 enum MorphSubtableType
65 mstIndicRearrangement
= 0,
66 mstContextualGlyphSubstitution
= 1,
67 mstLigatureSubstitution
= 2,
68 mstReservedUnused
= 3,
69 mstNonContextualGlyphSubstitution
= 4,
70 mstContextualGlyphInsertion
= 5
73 struct MorphSubtableHeader
76 SubtableCoverage coverage
;
77 FeatureFlags subtableFeatures
;
79 void process(LEGlyphID
*glyphs
, le_int32
*glyphIndices
, le_int32 glyphCount
) const;