Hello,
Please review the fix for jdk 8.
On OSX advanceY in the glyphInfo is inverted.
It is used to increment position when the glyph is drawn as part of a string of text:
@see DrawGlyphList.c.setupBlitVector():
    ....
    for (g=0; g<len; g++) {
        ginfo = (GlyphInfo*)imagePtrs[g];
        .....
        FLOOR_ASSIGN(gbv->glyphs[g].y, y + ginfo->topLeftY);
        .....
        y += ginfo->advanceY;
    }

advances are initialized in the CGGlyphImages.m via JRSFontGetAdvancesForGlyphsAndStyle(). Note that JRSFontGetAdvancesForGlyphsAndStyle use "strike->fTx" and the origin of this transform is relative to the bottom-left corner baseline. So we should pass "strike->fAltTx" to the JRSFontGetAdvancesForGlyphsAndStyle(Not sure is it ok or not) OR to invert the received advance.height.

Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7190349
Webrev can be found at: http://cr.openjdk.java.net/~serb/7190349/webrev.00

--
Best regards, Sergey.

Reply via email to