RFR: 8377937: [macos] GlyphMetrics advance does not consider font rotation
Daniel Gredler
dgredler at openjdk.org
Sat Feb 14 16:19:59 UTC 2026
On macOS, `GlyphMetrics` advance provides only the x-component of the advance, not the y-component. This is usually not an issue, since most text does not have any y-component advance. However, if the font is rotated, this does cause problems.
This bug was discovered during fixing of the manual test `java/awt/print/PrinterJob/PrintTextTest.java` (this test is intended to test printing, but this bug was actually causing the `GlyphVector`s on page 8 to be drawn incorrectly on screen, not just on paper).
`FileFontStrike.getGlyphMetrics( )` was helpful as a guide regarding the expected behavior of `CStrike.getGlyphMetrics( )`.
Tested on mac, Linux and Windows:
- make test TEST="jtreg:test/jdk/java/awt/font"
- make test TEST="jtreg:test/jdk/java/awt/Graphics2D/DrawString"
-------------
Commit messages:
- Add bug ID to test
- Fix rotated advance on mac
- Add rotated font test
Changes: https://git.openjdk.org/jdk/pull/29726/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29726&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8377937
Stats: 92 lines in 2 files changed: 90 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/29726.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/29726/head:pull/29726
PR: https://git.openjdk.org/jdk/pull/29726
More information about the client-libs-dev
mailing list