< prev index next >

src/share/native/sun/font/layout/StateTableProcessor.cpp

Print this page
rev 1554 : 8158302: Handle contextual glyph substitutions
Reviewed-by: prr

*** 79,88 **** --- 79,89 ---- beginStateTable(); while (currGlyph <= glyphCount) { if(LE_STATE_PATIENCE_DECR()) break; // patience exceeded. + if (LE_FAILURE(success)) break; ClassCode classCode = classCodeOOB; if (currGlyph == glyphCount) { // XXX: How do we handle EOT vs. EOL? classCode = classCodeEOT; break;
*** 98,108 **** LEReferenceToArrayOf<EntryTableIndex> stateArray(stHeader, success, currentState, LE_UNBOUNDED_ARRAY); EntryTableIndex entryTableIndex = stateArray.getObject((le_uint8)classCode, success); if (LE_FAILURE(success)) { break; } LE_STATE_PATIENCE_CURR(le_int32, currGlyph); ! currentState = processStateEntry(glyphStorage, currGlyph, entryTableIndex); LE_STATE_PATIENCE_INCR(currGlyph); } endStateTable(); } --- 99,109 ---- LEReferenceToArrayOf<EntryTableIndex> stateArray(stHeader, success, currentState, LE_UNBOUNDED_ARRAY); EntryTableIndex entryTableIndex = stateArray.getObject((le_uint8)classCode, success); if (LE_FAILURE(success)) { break; } LE_STATE_PATIENCE_CURR(le_int32, currGlyph); ! currentState = processStateEntry(glyphStorage, currGlyph, entryTableIndex, success); LE_STATE_PATIENCE_INCR(currGlyph); } endStateTable(); }
< prev index next >