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

Reply via email to