First public contribution.
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;