RFR: 8350203: [macos] Newlines and tabs are not ignored when drawing text to a Graphics2D object [v2]

Phil Race prr at openjdk.org
Wed May 7 22:48:56 UTC 2025


On Wed, 7 May 2025 22:23:02 GMT, Daniel Gredler <dgredler at openjdk.org> wrote:

>> On other platforms like Windows and Linux, the `\n`, `\r` and `\t` characters are ignored when drawing text to a `Graphics2D` object. On macOS this is not currently the case.
>> 
>> See, for example, `CMap.getControlCodeGlyph(int, boolean)` or `RasterPrinterJob.removeControlChars(String)`.
>> 
>> This bug was found while running `test/jdk/java/awt/print/PrinterJob/PrintTextTest.java` on macOS.
>> 
>> The new test class passes on Linux, Windows and macOS.
>
> Daniel Gredler has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
> 
>  - Merge branch 'master' into ignored-whitespace
>  - Make Graphics2D.drawString ignore tabs and newlines on macOS
>  - Add actual bug ID
>  - Add ignored whitespace test

I don't think
NativeGlyphMapper - used only when we needs the Xserver to render, or
WPathGraphics - a windows printing class

are where I'd expect to find anything that could impact the TestControls test.

But I agree with the general points
- \t \r \n handling can be platform-specific
- macOS printing is very different

The other PR still needs a proper look on my part

I suggest we get this PR pushed but first I'll submit a test job .. unless Harshitha already did that ?

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

PR Comment: https://git.openjdk.org/jdk/pull/23665#issuecomment-2860620842


More information about the client-libs-dev mailing list