[OpenJDK 2D-Dev] [8] Request for review: 7190349 [macosx] Text (Label) in a JTabbedPane is incorrectly drawn

Phil Race philip.race at oracle.com
Tue May 21 21:27:02 UTC 2013


I think this fix is fine. In the other rasteriser cases we use
(T2K, freetype) we also  flip the sign of the y advance as it is stored
as the image y advance. It looks like this was just missing here.
This change should then only affect the final glyph rendering.

-phil.

On 5/21/2013 12:40 PM, Sergey Bylokhov wrote:
> 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.
>




More information about the 2d-dev mailing list