2 * @(#)ContextualGlyphSubstProc.h 1.6 00/03/15
4 * (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
8 #ifndef __CONTEXTUALGLYPHSUBSTITUTIONPROCESSOR_H
9 #define __CONTEXTUALGLYPHSUBSTITUTIONPROCESSOR_H
17 #include "MorphTables.h"
18 #include "SubtableProcessor.h"
19 #include "StateTableProcessor.h"
20 #include "ContextualGlyphSubstitution.h"
24 class ContextualGlyphSubstitutionProcessor
: public StateTableProcessor
27 virtual void beginStateTable();
29 virtual ByteOffset
processStateEntry(LEGlyphID
*glyphs
, le_int32
*charIndices
, le_int32
&currGlyph
,
30 le_int32 glyphCount
, EntryTableIndex index
);
32 virtual void endStateTable();
34 ContextualGlyphSubstitutionProcessor(const MorphSubtableHeader
*morphSubtableHeader
);
35 virtual ~ContextualGlyphSubstitutionProcessor();
38 * ICU "poor man's RTTI", returns a UClassID for the actual class.
42 virtual inline UClassID
getDynamicClassID() const { return getStaticClassID(); }
45 * ICU "poor man's RTTI", returns a UClassID for this class.
49 static inline UClassID
getStaticClassID() { return (UClassID
)&fgClassID
; }
52 ContextualGlyphSubstitutionProcessor();
55 ByteOffset substitutionTableOffset
;
56 const ContextualGlyphSubstitutionStateEntry
*entryTable
;
60 const ContextualGlyphSubstitutionHeader
*contextualGlyphSubstitutionHeader
;
65 * The address of this static class variable serves as this class's ID
66 * for ICU "poor man's RTTI".
68 static const char fgClassID
;