[OpenJDK 2D-Dev] [9] Review Request: 8065373 [macosx] jdk8, jdk7u60 Regression in Graphics2D drawing of derived Fonts

Sergey Bylokhov sergey.bylokhov at oracle.com
Thu Dec 11 21:57:34 UTC 2014


Hi, Phil. 
----- philip.race at oracle.com wrote: 
> 

> Consistent treatment of concatenating sInverseTx seems right although 
> I am not sure of the overall picture here. 
> 
> Quartz uses "y increases upwards" 
> https://developer.apple.com/library/ios/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_overview/dq_overview.html#//apple_ref/doc/uid/TP30001066-CH202-CJBBAEEC 
> 
> 2d uses "y increases downwards" 
> https://docs.oracle.com/javase/tutorial/2d/overview/coordinate.html 
> 
> It seems like this transform 
> static CGAffineTransform sInverseTX = { 1, 0, 0, -1, 0, 0 }; 
> 
> might have been to compensate to adjust into the quartz coordinate system 

Right. 

> But I'd expect to see flipped text, not just incorrectly rotated text, if 
> this were the problem, so I am far from sure about all of this 

The problem also in the fact that fFontTx is incorrectly translated, it is set in SG2D.checkFontInfo(). And CTextPipeline use this translation instead of fontinfo.originX/Y. 

> 
> -phil. 
> 
> 
> On 12/10/14 5:31 AM, Sergey Bylokhov wrote: 
> 

Hello. 
> Please review the fix for jdk 9/8u40. 
> Device transformation "fDevTx ", which was added in [1] and fFontTx contains different "directions". 
> Both of them are used in calculation of advances, because of that in some cases we get incorrect/opposite text rotation. 
> Note that I am not sure that fFontTx itself is correct, because it is used in printing, which is broken also since a beginning. But for now I simply change the newly added fDevTx to fix a regression. 
> 
> [1] http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/a8b9df782017 
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8065373 
> Webrev can be found at: http://cr.openjdk.java.net/~serb/8065373/webrev.00 
> 
> 
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20141211/9e715667/attachment.html>


More information about the 2d-dev mailing list