equal
deleted
inserted
replaced
51 class ContextualGlyphInsertionProcessor2 : public StateTableProcessor2 |
51 class ContextualGlyphInsertionProcessor2 : public StateTableProcessor2 |
52 { |
52 { |
53 public: |
53 public: |
54 virtual void beginStateTable(); |
54 virtual void beginStateTable(); |
55 |
55 |
56 virtual le_uint16 processStateEntry(LEGlyphStorage &glyphStorage, le_int32 &currGlyph, EntryTableIndex2 index); |
56 virtual le_uint16 processStateEntry(LEGlyphStorage &glyphStorage, |
|
57 le_int32 &currGlyph, EntryTableIndex2 index, LEErrorCode &success); |
57 |
58 |
58 virtual void endStateTable(); |
59 virtual void endStateTable(); |
59 |
60 |
60 ContextualGlyphInsertionProcessor2(const MorphSubtableHeader2 *morphSubtableHeader); |
61 ContextualGlyphInsertionProcessor2(const LEReferenceTo<MorphSubtableHeader2> &morphSubtableHeader, LEErrorCode &success); |
61 virtual ~ContextualGlyphInsertionProcessor2(); |
62 virtual ~ContextualGlyphInsertionProcessor2(); |
62 |
63 |
63 /** |
64 /** |
64 * ICU "poor man's RTTI", returns a UClassID for the actual class. |
65 * ICU "poor man's RTTI", returns a UClassID for the actual class. |
65 * |
66 * |
75 static UClassID getStaticClassID(); |
76 static UClassID getStaticClassID(); |
76 |
77 |
77 private: |
78 private: |
78 ContextualGlyphInsertionProcessor2(); |
79 ContextualGlyphInsertionProcessor2(); |
79 |
80 |
|
81 /** |
|
82 * Perform the actual insertion |
|
83 * @param atGlyph index of glyph to insert at |
|
84 * @param index index into the insertionTable (in/out) |
|
85 * @param count number of insertions |
|
86 * @param isKashidaLike Kashida like (vs Split Vowel like). No effect currently. |
|
87 * @param isBefore if true, insert extra glyphs before the marked glyph |
|
88 */ |
|
89 void doInsertion(LEGlyphStorage &glyphStorage, |
|
90 le_int16 atGlyph, |
|
91 le_int16 &index, |
|
92 le_int16 count, |
|
93 le_bool isKashidaLike, |
|
94 le_bool isBefore, |
|
95 LEErrorCode &success); |
|
96 |
|
97 |
80 protected: |
98 protected: |
81 le_int32 markGlyph; |
99 le_int32 markGlyph; |
82 const le_uint16* insertionTable; |
100 LEReferenceToArrayOf<le_uint16> insertionTable; |
83 const ContextualGlyphInsertionStateEntry2 *entryTable; |
101 LEReferenceToArrayOf<ContextualGlyphInsertionStateEntry2> entryTable; |
84 const ContextualGlyphInsertionHeader2 *contextualGlyphHeader; |
102 LEReferenceTo<ContextualGlyphInsertionHeader2> contextualGlyphHeader; |
85 |
|
86 }; |
103 }; |
87 |
104 |
88 U_NAMESPACE_END |
105 U_NAMESPACE_END |
89 #endif |
106 #endif |