Details
-
Bug
-
Resolution: Fixed
-
P3
-
11, 15, 16
-
b17
-
generic
-
windows
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8275663 | 11.0.16-oracle | Kumar Abhishek | P3 | Resolved | Fixed | b01 |
JDK-8271511 | 11.0.13 | Alexandr Scherbatiy | P3 | Resolved | Fixed | b01 |
Description
The GDI system used for text printing on Windows accepts only integer path coordinates.
Rounding GlyphVector outline coordinates leads to distorted printed text.
The issue had been reported as
The regression is in the code WPathGraphics.deviceDrawLine() method which uses wPrinterJob.moveTo() and wPrinterJob.lineTo() methods without wPrinterJob.beginPath() and wPrinterJob.endPath() methods.
The fix
Using wPrinterJob.beginPath()/endPath() in WPathGraphics.deviceDrawLine() method leads that a line is not drawn at all (probably GDI treat it as an empty path).
The proposed solution is to scale coordinates up and transform down only for WPathGraphics.convertToWPath() method which draws a general path.
Attachments
Issue Links
- backported by
-
JDK-8271511 Printed GlyphVector outline with low DPI has bad quality on Windows
- Resolved
-
JDK-8275663 Printed GlyphVector outline with low DPI has bad quality on Windows
- Resolved
- relates to
-
JDK-8256264 Printed GlyphVector outline with low DPI has bad quality on Windows
- Resolved
-
JDK-8259007 This test printed a blank page
- Resolved
- links to
-
Commit openjdk/jdk11u-dev/7639f8c3
-
Commit openjdk/jdk/02287349
-
Review openjdk/jdk11u-dev/91
-
Review openjdk/jdk/2756