1 /* 2 * 3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved 4 * 5 */ 6 7 #ifndef __NONCONTEXTUALGLYPHSUBSTITUTIONPROCESSOR_H 8 #define __NONCONTEXTUALGLYPHSUBSTITUTIONPROCESSOR_H 9 10 /** 11 * \file 12 * \internal 13 */ 14 15 #include "LETypes.h" 16 #include "MorphTables.h" 17 #include "SubtableProcessor.h" 18 #include "NonContextualGlyphSubst.h" 19 20 U_NAMESPACE_BEGIN 21 22 class LEGlyphStorage; 23 24 class NonContextualGlyphSubstitutionProcessor : public SubtableProcessor 25 { 26 public: 27 virtual void process(LEGlyphStorage &glyphStorage, LEErrorCode &success) = 0; 28 29 static SubtableProcessor *createInstance(const LEReferenceTo<MorphSubtableHeader> &morphSubtableHeader, LEErrorCode &success); 30 31 protected: 32 NonContextualGlyphSubstitutionProcessor(); 33 NonContextualGlyphSubstitutionProcessor(const LEReferenceTo<MorphSubtableHeader> &morphSubtableHeader, LEErrorCode &status); 34 35 virtual ~NonContextualGlyphSubstitutionProcessor(); 36 37 private: 38 NonContextualGlyphSubstitutionProcessor(const NonContextualGlyphSubstitutionProcessor &other); // forbid copying of this class 39 NonContextualGlyphSubstitutionProcessor &operator=(const NonContextualGlyphSubstitutionProcessor &other); // forbid copying of this class 40 }; 41 42 U_NAMESPACE_END 43 #endif 44