On Tue, 26 Nov 2024 23:37:28 GMT, Harshitha Onkar <hon...@openjdk.org> wrote:

>> Daniel Gredler has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Add additional issue ID to PrintTextTest bug list
>
> src/java.desktop/windows/classes/sun/awt/windows/WPathGraphics.java line 873:
> 
>> 871:                 AffineTransform.getScaleInstance(scaleFactorX, 
>> scaleFactorY);
>> 872:              advanceTransform.rotate(devangle); // radians
>> 873:              advanceTransform.rotate(iangle * Math.PI / 1800.0); // 
>> 1/10 degrees -> radians
> 
> Fix to WPathGraphics.java is a little more intricate and certainly requires a 
> more expert review from @prrace.
> Was devangle fix added for the landscape issue observed on Pg#8 ?
> 
> A earlier comment mentions that device space rotation must not be added. 
> 
> 
>  GDI advances must not include device space rotation.
>  See earlier comment in printGlyphVector() for details.

The two angles (`iangle` + `devangle`) need to be used to fix the Windows page 
8 printed "GlyphVector with position adjustments" test case, here's what it 
looks like without these rotation angles (left side is printed and incorrect, 
right side is not printed and is correct):

![no-angle](https://github.com/user-attachments/assets/0366606d-b71c-4a4c-9d2c-402144aaf7d3)

Adding `iangle` alone looks OK in the printed portrait page, but not in the 
printed landscape page (`devangle` is zero and therefore makes no difference 
when printing in portrait mode, but not so for landscape mode).

This restores the rotation transformation that was being applied prior to 
commit 5c2672351683467fdeeda7796d971634fc3c51ae (prior to this commit the 
advance transform was a copy of the device transform, with the extra `iangle` 
rotation applied, meaning that both the device rotation and the `iangle` 
rotation were included).

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/21980#discussion_r1863833523

Reply via email to