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