1 /* 2 * (C) Copyright IBM Corp. 1998-2005 - All Rights Reserved 3 * 4 */ 5 6 #ifndef __GLYPHSUBSTITUTIONLOOKUPPROCESSOR_H 7 #define __GLYPHSUBSTITUTIONLOOKUPPROCESSOR_H 8 9 /** 10 * \file 11 * \internal 12 */ 13 14 #include "LETypes.h" 15 #include "LEGlyphFilter.h" 16 #include "LEFontInstance.h" 17 #include "OpenTypeTables.h" 18 #include "Lookups.h" 19 #include "Features.h" 20 #include "GlyphDefinitionTables.h" 21 #include "GlyphSubstitutionTables.h" 22 #include "GlyphIterator.h" 23 #include "LookupProcessor.h" 24 25 U_NAMESPACE_BEGIN 26 27 class GlyphSubstitutionLookupProcessor : public LookupProcessor 28 { 29 public: 30 GlyphSubstitutionLookupProcessor(const GlyphSubstitutionTableHeader *glyphSubstitutionTableHeader, 31 LETag scriptTag, LETag languageTag, const LEGlyphFilter *filter, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool featureOrder); 32 33 virtual ~GlyphSubstitutionLookupProcessor(); 34 35 virtual le_uint32 applySubtable(const LookupSubtable *lookupSubtable, le_uint16 lookupType, GlyphIterator *glyphIterator, 36 const LEFontInstance *fontInstance) const; 37 38 protected: 39 GlyphSubstitutionLookupProcessor(); 40 41 private: 42 const LEGlyphFilter *fFilter; 43 44 GlyphSubstitutionLookupProcessor(const GlyphSubstitutionLookupProcessor &other); // forbid copying of this class 45 GlyphSubstitutionLookupProcessor &operator=(const GlyphSubstitutionLookupProcessor &other); // forbid copying of this class 46 }; 47 48 U_NAMESPACE_END 49 #endif 50