/*
*
- * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
+ * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
*
*/
class StateTableProcessor : public SubtableProcessor
{
public:
- void process(LEGlyphStorage &glyphStorage);
+ void process(LEGlyphStorage &glyphStorage, LEErrorCode &success);
virtual void beginStateTable() = 0;
virtual void endStateTable() = 0;
protected:
- StateTableProcessor(const MorphSubtableHeader *morphSubtableHeader);
+ StateTableProcessor(const LEReferenceTo<MorphSubtableHeader> &morphSubtableHeader, LEErrorCode &success);
virtual ~StateTableProcessor();
StateTableProcessor();
ByteOffset stateArrayOffset;
ByteOffset entryTableOffset;
- const ClassTable *classTable;
+ LEReferenceTo<ClassTable> classTable;
TTGlyphID firstGlyph;
TTGlyphID lastGlyph;
- const MorphStateTableHeader *stateTableHeader;
+ LEReferenceTo<MorphStateTableHeader> stateTableHeader;
+ LEReferenceTo<StateTableHeader> stHeader; // for convenience
private:
StateTableProcessor(const StateTableProcessor &other); // forbid copying of this class