1 /* 2 * (C) Copyright IBM Corp. 1998-2013 - 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 "ICUFeatures.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 LEReferenceTo<GlyphSubstitutionTableHeader> &glyphSubstitutionTableHeader, 31 LETag scriptTag, 32 LETag languageTag, 33 const LEGlyphFilter *filter, 34 const FeatureMap *featureMap, 35 le_int32 featureMapCount, 36 le_bool featureOrder, 37 LEErrorCode& success); 38 39 virtual ~GlyphSubstitutionLookupProcessor(); 40 41 virtual le_uint32 applySubtable(const LEReferenceTo<LookupSubtable> &lookupSubtable, le_uint16 lookupType, GlyphIterator *glyphIterator, 42 const LEFontInstance *fontInstance, LEErrorCode& success) const; 43 44 protected: 45 GlyphSubstitutionLookupProcessor(); 46 47 private: 48 const LEGlyphFilter *fFilter; 49 50 GlyphSubstitutionLookupProcessor(const GlyphSubstitutionLookupProcessor &other); // forbid copying of this class 51 GlyphSubstitutionLookupProcessor &operator=(const GlyphSubstitutionLookupProcessor &other); // forbid copying of this class 52 }; 53 54 U_NAMESPACE_END 55 #endif 56