OK to your explanation .. seems the printing case should be handled
separately.
Not sure off-hand why PrintView flips and nothing else does. I suppose
it is to
get back to the quartz coordinate system which is the same as the postscript
coordinate system as that'll be what you want when printing.
-phil.
On 12/11/14 1:57 PM, 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
>
>
>