1 /*
2  *
3  * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
4  *
5  */
6 
7 #include "LETypes.h"
8 #include "LEGlyphFilter.h"
9 #include "OpenTypeTables.h"
10 #include "Lookups.h"
11 #include "GlyphDefinitionTables.h"
12 #include "GlyphSubstitutionTables.h"
13 #include "GlyphSubstLookupProc.h"
14 #include "ScriptAndLanguage.h"
15 #include "LEGlyphStorage.h"
16 #include "LESwaps.h"
17 
18 U_NAMESPACE_BEGIN
19 
process(const LEReferenceTo<GlyphSubstitutionTableHeader> & base,LEGlyphStorage & glyphStorage,le_bool rightToLeft,LETag scriptTag,LETag languageTag,const LEReferenceTo<GlyphDefinitionTableHeader> & glyphDefinitionTableHeader,const LEGlyphFilter * filter,const FeatureMap * featureMap,le_int32 featureMapCount,le_bool featureOrder,LEErrorCode & success) const20 le_int32 GlyphSubstitutionTableHeader::process(const LEReferenceTo<GlyphSubstitutionTableHeader> &base,
21                                                LEGlyphStorage &glyphStorage,
22                                                le_bool rightToLeft,
23                                                LETag scriptTag,
24                                                LETag languageTag,
25                                                const LEReferenceTo<GlyphDefinitionTableHeader> &glyphDefinitionTableHeader,
26                                                const LEGlyphFilter *filter,
27                                                const FeatureMap *featureMap,
28                                                le_int32 featureMapCount,
29                                                le_bool featureOrder,
30                                                LEErrorCode &success) const
31 {
32     if (LE_FAILURE(success)) {
33         return 0;
34     }
35 
36     GlyphSubstitutionLookupProcessor processor(base, scriptTag, languageTag, filter, featureMap, featureMapCount, featureOrder, success);
37     return processor.process(glyphStorage, NULL, rightToLeft, glyphDefinitionTableHeader, NULL, success);
38 }
39 
40 U_NAMESPACE_END
41