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