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 18U_NAMESPACE_BEGIN 19 20class LEGlyphStorage; 21 22class SubtableProcessor : public UMemory { 23public: 24 virtual void process(LEGlyphStorage &glyphStorage, LEErrorCode &success) = 0; 25 virtual ~SubtableProcessor(); 26 27protected: 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 38private: 39 40 SubtableProcessor(const SubtableProcessor &other); // forbid copying of this class 41 SubtableProcessor &operator=(const SubtableProcessor &other); // forbid copying of this class 42}; 43 44U_NAMESPACE_END 45#endif 46 47