jdk/src/java.desktop/share/native/libfontmanager/layout/IndicRearrangementProcessor.cpp
equal
deleted
inserted
replaced
61 { |
61 { |
62 firstGlyph = 0; |
62 firstGlyph = 0; |
63 lastGlyph = 0; |
63 lastGlyph = 0; |
64 } |
64 } |
65 |
65 |
66 ByteOffset IndicRearrangementProcessor::processStateEntry(LEGlyphStorage &glyphStorage, le_int32 &currGlyph, EntryTableIndex index) |
66 ByteOffset IndicRearrangementProcessor::processStateEntry(LEGlyphStorage &glyphStorage, le_int32 &currGlyph, EntryTableIndex index, LEErrorCode &success) |
67 { |
67 { |
68 LEErrorCode success = LE_NO_ERROR; // todo- make a param? |
68 const IndicRearrangementStateEntry *entry = entryTable.getAlias(index, success); |
69 const IndicRearrangementStateEntry *entry = entryTable.getAlias(index,success); |
69 if (LE_FAILURE(success)) return 0; |
70 ByteOffset newState = SWAPW(entry->newStateOffset); |
70 ByteOffset newState = SWAPW(entry->newStateOffset); |
71 IndicRearrangementFlags flags = (IndicRearrangementFlags) SWAPW(entry->flags); |
71 IndicRearrangementFlags flags = (IndicRearrangementFlags) SWAPW(entry->flags); |
72 |
72 |
73 if (currGlyph < 0 || currGlyph >= glyphStorage.getGlyphCount()) { |
73 if (currGlyph < 0 || currGlyph >= glyphStorage.getGlyphCount()) { |
74 success = LE_INDEX_OUT_OF_BOUNDS_ERROR; |
74 success = LE_INDEX_OUT_OF_BOUNDS_ERROR; |