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