Hello Sergey,
the change looks fine to me.
Thanks,
Andrew.
On 12/12/2014 12:57 AM, Sergey Bylokhov wrote:
Hi, Phil.
----- philip.r...@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
>
>
>