sl@0: /* sl@0: * %W% %E% sl@0: * sl@0: * (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved sl@0: * sl@0: */ sl@0: sl@0: #ifndef __GLYPHSUBSTITUTIONLOOKUPPROCESSOR_H sl@0: #define __GLYPHSUBSTITUTIONLOOKUPPROCESSOR_H sl@0: sl@0: /** sl@0: * \file sl@0: * \internal sl@0: */ sl@0: sl@0: #include "LETypes.h" sl@0: #include "LEGlyphFilter.h" sl@0: #include "LEFontInstance.h" sl@0: #include "OpenTypeTables.h" sl@0: #include "Lookups.h" sl@0: #include "Features.h" sl@0: #include "GlyphDefinitionTables.h" sl@0: #include "GlyphSubstitutionTables.h" sl@0: #include "GlyphIterator.h" sl@0: #include "LookupProcessor.h" sl@0: sl@0: U_NAMESPACE_BEGIN sl@0: sl@0: class GlyphSubstitutionLookupProcessor : public LookupProcessor sl@0: { sl@0: public: sl@0: GlyphSubstitutionLookupProcessor(const GlyphSubstitutionTableHeader *glyphSubstitutionTableHeader, sl@0: LETag scriptTag, LETag languageTag, const LEGlyphFilter *filter = NULL, const LETag *featureOrder = NULL); sl@0: sl@0: virtual ~GlyphSubstitutionLookupProcessor(); sl@0: sl@0: virtual le_uint32 applySubtable(const LookupSubtable *lookupSubtable, le_uint16 lookupType, GlyphIterator *glyphIterator, sl@0: const LEFontInstance *fontInstance, LEErrorCode& success) const; sl@0: sl@0: protected: sl@0: GlyphSubstitutionLookupProcessor(); sl@0: sl@0: private: sl@0: const LEGlyphFilter *fFilter; sl@0: sl@0: GlyphSubstitutionLookupProcessor(const GlyphSubstitutionLookupProcessor &other); // forbid copying of this class sl@0: GlyphSubstitutionLookupProcessor &operator=(const GlyphSubstitutionLookupProcessor &other); // forbid copying of this class sl@0: }; sl@0: sl@0: U_NAMESPACE_END sl@0: #endif