See the bug report for lots of explanation. The short version (not that short) is that Swing adds a new line char to editable TextComponents It used to work because harfbuzz asked CoreText which mapped it to an invisible glyph Now harfbuzz does its own processing of AAT fonts it is different. Harfbuzz looks up the mapping for this but there is none so it gets a missing glyph.
Solution: Since HB now does AAT processing we can dispense with all the special handling of that case and core text and just treat AAT fonts like OT fonts. This means its gets the same mapping we get when not using Layout. And the test passes on all platforms .. not just macOS .. ------------- Commit messages: - 8256372: [macos] Unexpected symbol was displayed on JTextField with Monospaced font Changes: https://git.openjdk.java.net/jdk/pull/4097/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4097&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8256372 Stats: 1425 lines in 9 files changed: 65 ins; 1352 del; 8 mod Patch: https://git.openjdk.java.net/jdk/pull/4097.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/4097/head:pull/4097 PR: https://git.openjdk.java.net/jdk/pull/4097