3 * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
7 #ifndef __MORPHTABLES_H
8 #define __MORPHTABLES_H
16 #include "LayoutTables.h"
22 typedef le_uint32 FeatureFlags
;
24 typedef le_int16 FeatureType
;
25 typedef le_int16 FeatureSetting
;
27 struct FeatureTableEntry
29 FeatureType featureType
;
30 FeatureSetting featureSetting
;
31 FeatureFlags enableFlags
;
32 FeatureFlags disableFlags
;
37 FeatureFlags defaultFlags
;
38 le_uint32 chainLength
;
39 le_int16 nFeatureEntries
;
41 FeatureTableEntry featureTable
[ANY_NUMBER
];
44 struct MorphTableHeader
48 ChainHeader chains
[ANY_NUMBER
];
50 void process(LEGlyphStorage
&glyphStorage
) const;
53 typedef le_int16 SubtableCoverage
;
55 enum SubtableCoverageFlags
64 enum MorphSubtableType
66 mstIndicRearrangement
= 0,
67 mstContextualGlyphSubstitution
= 1,
68 mstLigatureSubstitution
= 2,
69 mstReservedUnused
= 3,
70 mstNonContextualGlyphSubstitution
= 4,
71 mstContextualGlyphInsertion
= 5
74 struct MorphSubtableHeader
77 SubtableCoverage coverage
;
78 FeatureFlags subtableFeatures
;
80 void process(LEGlyphStorage
&glyphStorage
) const;