00001 /* 00002 * %W% %E% 00003 * 00004 * (C) Copyright IBM Corp. 1998, 1999, 2000 - All Rights Reserved 00005 * 00006 */ 00007 00008 #ifndef __GLYPHSUBSTITUTIONLOOKUPPROCESSOR_H 00009 #define __GLYPHSUBSTITUTIONLOOKUPPROCESSOR_H 00010 00011 #include "LETypes.h" 00012 #include "LEGlyphFilter.h" 00013 #include "LEFontInstance.h" 00014 #include "OpenTypeTables.h" 00015 #include "Lookups.h" 00016 #include "Features.h" 00017 #include "GlyphDefinitionTables.h" 00018 #include "GlyphSubstitutionTables.h" 00019 #include "GlyphIterator.h" 00020 #include "LookupProcessor.h" 00021 00022 class GlyphSubstitutionLookupProcessor : public LookupProcessor 00023 { 00024 public: 00025 GlyphSubstitutionLookupProcessor(GlyphSubstitutionTableHeader *glyphSubstitutionTableHeader, 00026 LETag scriptTag, LETag languageTag, LEGlyphFilter *filter = NULL); 00027 00028 virtual ~GlyphSubstitutionLookupProcessor(); 00029 00030 virtual le_uint32 applySubtable(LookupSubtable *lookupSubtable, le_uint16 lookupType, GlyphIterator *glyphIterator, 00031 LEFontInstance *fontInstance); 00032 00033 protected: 00034 GlyphSubstitutionLookupProcessor(); 00035 00036 private: 00037 LEGlyphFilter *fFilter; 00038 }; 00039 00040 #endif