jdk/src/share/native/sun/font/layout/MarkToMarkPosnSubtables.cpp
changeset 16891 91e99bed64ae
parent 5506 202f599c92aa
child 18256 79d3f8278a38
equal deleted inserted replaced
16890:36b30720a997 16891:91e99bed64ae
    49     }
    49     }
    50 
    50 
    51     return 0xFFFF;
    51     return 0xFFFF;
    52 }
    52 }
    53 
    53 
    54 le_int32 MarkToMarkPositioningSubtable::process(GlyphIterator *glyphIterator, const LEFontInstance *fontInstance) const
    54 le_int32 MarkToMarkPositioningSubtable::process(const LETableReference &base, GlyphIterator *glyphIterator, const LEFontInstance *fontInstance, LEErrorCode &success) const
    55 {
    55 {
    56     LEGlyphID markGlyph = glyphIterator->getCurrGlyphID();
    56     LEGlyphID markGlyph = glyphIterator->getCurrGlyphID();
    57     le_int32 markCoverage = getGlyphCoverage((LEGlyphID) markGlyph);
    57     le_int32 markCoverage = getGlyphCoverage(base, (LEGlyphID) markGlyph, success);
    58 
    58 
    59     if (markCoverage < 0) {
    59     if (markCoverage < 0) {
    60         // markGlyph isn't a covered mark glyph
    60         // markGlyph isn't a covered mark glyph
    61         return 0;
    61         return 0;
    62     }
    62     }
    72         return 0;
    72         return 0;
    73     }
    73     }
    74 
    74 
    75     GlyphIterator mark2Iterator(*glyphIterator);
    75     GlyphIterator mark2Iterator(*glyphIterator);
    76     LEGlyphID mark2Glyph = findMark2Glyph(&mark2Iterator);
    76     LEGlyphID mark2Glyph = findMark2Glyph(&mark2Iterator);
    77     le_int32 mark2Coverage = getBaseCoverage((LEGlyphID) mark2Glyph);
    77     le_int32 mark2Coverage = getBaseCoverage(base, (LEGlyphID) mark2Glyph, success);
    78     const Mark2Array *mark2Array = (const Mark2Array *) ((char *) this + SWAPW(baseArrayOffset));
    78     const Mark2Array *mark2Array = (const Mark2Array *) ((char *) this + SWAPW(baseArrayOffset));
    79     le_uint16 mark2Count = SWAPW(mark2Array->mark2RecordCount);
    79     le_uint16 mark2Count = SWAPW(mark2Array->mark2RecordCount);
    80 
    80 
    81     if (mark2Coverage < 0 || mark2Coverage >= mark2Count) {
    81     if (mark2Coverage < 0 || mark2Coverage >= mark2Count) {
    82         // The mark2 glyph isn't covered, or the coverage
    82         // The mark2 glyph isn't covered, or the coverage