jdk/src/java.desktop/share/native/libfontmanager/layout/ContextualSubstSubtables.cpp
changeset 28547 16e96997b7fa
parent 27075 5edf23ff04f3
child 35290 e50a5c5c6a47
equal deleted inserted replaced
28546:47d9b4eb8fad 28547:16e96997b7fa
   581                 Offset chainSubClassRuleTableOffset =
   581                 Offset chainSubClassRuleTableOffset =
   582                     SWAPW(chainSubClassSetTable->chainSubClassRuleTableOffsetArray[scRule]);
   582                     SWAPW(chainSubClassSetTable->chainSubClassRuleTableOffsetArray[scRule]);
   583                 LEReferenceTo<ChainSubClassRuleTable>
   583                 LEReferenceTo<ChainSubClassRuleTable>
   584                      chainSubClassRuleTable(chainSubClassSetTable, success, chainSubClassRuleTableOffset);
   584                      chainSubClassRuleTable(chainSubClassSetTable, success, chainSubClassRuleTableOffset);
   585                 le_uint16 backtrackGlyphCount = SWAPW(chainSubClassRuleTable->backtrackGlyphCount);
   585                 le_uint16 backtrackGlyphCount = SWAPW(chainSubClassRuleTable->backtrackGlyphCount);
       
   586                 LEReferenceToArrayOf<le_uint16>   backtrackClassArray(base, success, chainSubClassRuleTable->backtrackClassArray, backtrackGlyphCount);
       
   587                 if( LE_FAILURE(success) ) { return 0; }
   586                 le_uint16 inputGlyphCount = SWAPW(chainSubClassRuleTable->backtrackClassArray[backtrackGlyphCount]) - 1;
   588                 le_uint16 inputGlyphCount = SWAPW(chainSubClassRuleTable->backtrackClassArray[backtrackGlyphCount]) - 1;
   587                 LEReferenceToArrayOf<le_uint16>   inputClassArray(base, success, &chainSubClassRuleTable->backtrackClassArray[backtrackGlyphCount + 1],inputGlyphCount+2); // +2 for the lookaheadGlyphCount count
   589                 LEReferenceToArrayOf<le_uint16>   inputClassArray(base, success, &chainSubClassRuleTable->backtrackClassArray[backtrackGlyphCount + 1],inputGlyphCount+2); // +2 for the lookaheadGlyphCount count
   588                 le_uint16 lookaheadGlyphCount = SWAPW(inputClassArray.getObject(inputGlyphCount, success));
   590                 le_uint16 lookaheadGlyphCount = SWAPW(inputClassArray.getObject(inputGlyphCount, success));
   589                 LEReferenceToArrayOf<le_uint16>   lookaheadClassArray(base, success, inputClassArray.getAlias(inputGlyphCount + 1,success), lookaheadGlyphCount+2); // +2 for the substCount
   591                 LEReferenceToArrayOf<le_uint16>   lookaheadClassArray(base, success, inputClassArray.getAlias(inputGlyphCount + 1,success), lookaheadGlyphCount+2); // +2 for the substCount
   590 
   592 
   597                 if (! tempIterator.prev(backtrackGlyphCount)) {
   599                 if (! tempIterator.prev(backtrackGlyphCount)) {
   598                     continue;
   600                     continue;
   599                 }
   601                 }
   600 
   602 
   601                 tempIterator.prev();
   603                 tempIterator.prev();
   602                 LEReferenceToArrayOf<le_uint16>   backtrackClassArray(base, success, chainSubClassRuleTable->backtrackClassArray, backtrackGlyphCount);
       
   603                 if( LE_FAILURE(success) ) { return 0; }
       
   604                 if (! matchGlyphClasses(backtrackClassArray, backtrackGlyphCount,
   604                 if (! matchGlyphClasses(backtrackClassArray, backtrackGlyphCount,
   605                                         &tempIterator, backtrackClassDefinitionTable, success, TRUE)) {
   605                                         &tempIterator, backtrackClassDefinitionTable, success, TRUE)) {
   606                     continue;
   606                     continue;
   607                 }
   607                 }
   608 
   608