RFR: 8148334: The regression case: java/awt/print/PrinterJob/PrintTextTest.java failed as the printed pages do not match the shown pages [v6]

Daniel Gredler duke at openjdk.org
Wed Nov 20 12:55:39 UTC 2024


> This PR fixes the issue identified in JDK-8148334 in screenshots `Page8_landscape.JPG` and `Page8_portrait.JPG`.
> 
> It does not address `mac_Page1.png` or `mac_Page8.png`, which I'm not even sure are still issues (I have no access to a Mac).
> 
> The method in question, `PathGraphics.printedSimpleGlyphVector(...)` is quite complex, with many special cases being handled in different ways. In this specific scenario (page 8 of `PrintTextTest`), all special case checks fail, and we fall through all the way to the final handling block, which draws the individual characters one by one. It looks like the problem is that the font transform translation is applied twice, once via the glyph positions, and again by `drawString(...)` via the font. The proposed fix is to provide `drawString(...)` a font without any translation transform.
> 
> Testing looks good on Linux, but needs to be done on Mac and Windows.

Daniel Gredler has updated the pull request incrementally with one additional commit since the last revision:

  Fix PrintTextTest page 8 on Windows (regression from JDK-8132890)

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/21980/files
  - new: https://git.openjdk.org/jdk/pull/21980/files/105a1937..aeb7b7ee

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=21980&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=21980&range=04-05

  Stats: 14 lines in 3 files changed: 5 ins; 1 del; 8 mod
  Patch: https://git.openjdk.org/jdk/pull/21980.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21980/head:pull/21980

PR: https://git.openjdk.org/jdk/pull/21980


More information about the client-libs-dev mailing list