sl@0: /* sl@0: * sl@0: * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved sl@0: * sl@0: */ sl@0: sl@0: #ifndef __SUBTABLEPROCESSOR_H sl@0: #define __SUBTABLEPROCESSOR_H sl@0: sl@0: /** sl@0: * \file sl@0: * \internal sl@0: */ sl@0: sl@0: #include "LETypes.h" sl@0: #include "MorphTables.h" sl@0: sl@0: U_NAMESPACE_BEGIN sl@0: sl@0: class LEGlyphStorage; sl@0: sl@0: class SubtableProcessor : public UMemory { sl@0: public: sl@0: virtual void process(LEGlyphStorage &glyphStorage) = 0; sl@0: virtual ~SubtableProcessor(); sl@0: sl@0: protected: sl@0: SubtableProcessor(const MorphSubtableHeader *morphSubtableHeader); sl@0: sl@0: SubtableProcessor(); sl@0: sl@0: le_int16 length; sl@0: SubtableCoverage coverage; sl@0: FeatureFlags subtableFeatures; sl@0: sl@0: const MorphSubtableHeader *subtableHeader; sl@0: sl@0: private: sl@0: sl@0: SubtableProcessor(const SubtableProcessor &other); // forbid copying of this class sl@0: SubtableProcessor &operator=(const SubtableProcessor &other); // forbid copying of this class sl@0: }; sl@0: sl@0: U_NAMESPACE_END sl@0: #endif sl@0: