• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *
3  * (C) Copyright IBM Corp. 1998-2005 - All Rights Reserved
4  *
5  */
6 
7 #ifndef __GLYPHSUBSTITUTIONTABLES_H
8 #define __GLYPHSUBSTITUTIONTABLES_H
9 
10 /**
11  * \file
12  * \internal
13  */
14 
15 #include "LETypes.h"
16 #include "OpenTypeTables.h"
17 #include "Lookups.h"
18 #include "GlyphLookupTables.h"
19 
20 U_NAMESPACE_BEGIN
21 
22 class  LEGlyphStorage;
23 class  LEGlyphFilter;
24 struct GlyphDefinitionTableHeader;
25 
26 struct GlyphSubstitutionTableHeader : public GlyphLookupTableHeader
27 {
28     le_int32    process(LEGlyphStorage &glyphStorage, le_bool rightToLeft, LETag scriptTag, LETag languageTag,
29                         const GlyphDefinitionTableHeader *glyphDefinitionTableHeader, const LEGlyphFilter *filter,
30                         const FeatureMap *featureMap, le_int32 featureMapCount, le_bool featureOrder) const;
31 };
32 
33 enum GlyphSubstitutionSubtableTypes
34 {
35     gsstSingle          = 1,
36     gsstMultiple        = 2,
37     gsstAlternate       = 3,
38     gsstLigature        = 4,
39     gsstContext         = 5,
40     gsstChainingContext = 6,
41     gsstExtension       = 7,
42     gsstReverseChaining = 8
43 };
44 
45 typedef LookupSubtable GlyphSubstitutionSubtable;
46 
47 U_NAMESPACE_END
48 #endif
49