sl@0: /* sl@0: * sl@0: * (C) Copyright IBM Corp. 1998-2005 - All Rights Reserved sl@0: * sl@0: */ sl@0: sl@0: #include "LETypes.h" sl@0: #include "LEGlyphFilter.h" sl@0: #include "OpenTypeTables.h" sl@0: #include "Lookups.h" sl@0: #include "GlyphDefinitionTables.h" sl@0: #include "GlyphSubstitutionTables.h" sl@0: #include "GlyphSubstLookupProc.h" sl@0: #include "ScriptAndLanguage.h" sl@0: #include "LEGlyphStorage.h" sl@0: #include "LESwaps.h" sl@0: sl@0: U_NAMESPACE_BEGIN sl@0: sl@0: le_int32 GlyphSubstitutionTableHeader::process(LEGlyphStorage &glyphStorage, le_bool rightToLeft, LETag scriptTag, LETag languageTag, sl@0: const GlyphDefinitionTableHeader *glyphDefinitionTableHeader, sl@0: LEErrorCode &success, sl@0: const LEGlyphFilter *filter, const LETag *featureOrder) const sl@0: { sl@0: if (LE_FAILURE(success)) { sl@0: return 0; sl@0: } sl@0: sl@0: GlyphSubstitutionLookupProcessor processor(this, scriptTag, languageTag, filter, featureOrder); sl@0: sl@0: if (processor.isBogus()) { sl@0: success = LE_MEMORY_ALLOCATION_ERROR; sl@0: return 0; sl@0: } sl@0: sl@0: return processor.process(glyphStorage, NULL, rightToLeft, sl@0: glyphDefinitionTableHeader, NULL, success); sl@0: } sl@0: sl@0: U_NAMESPACE_END