RFR: 8208377: Soft hyphens render if not using TextLayout [v5]

Daniel Gredler dgredler at openjdk.org
Mon Feb 10 20:36:46 UTC 2025


> Soft hyphens should never render, regardless of the rendering path used internally.
> 
> This PR does not expand the categorization of "complex" characters in `FontUtilities` in order to force the use of `TextLayout` rendering code paths (as was discussed in JBS).
> 
> Instead, it takes the existing (limited) format-category checks in `sun.font.CMap` (a TrueType font helper class), expands it to a more general / complete default-ignorable check (`FontUtilities.isDefaultIgnorable(int)`), and then moves these checks out of `CMap` and up a level into the `CharToGlyphMapper` classes themselves.
> 
> The Type1 glyph mapper, the TTF glyph mapper, and the macOS glyph mapper have all been updated.

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 five additional commits since the last revision:

 - Merge branch 'master' into JDK-8208377
 - Update copyright year
 - Add more info about test fonts and default-ignorable chars
 - Add macOS-specific char mapper changes
 - Always use invisible glyphs for 'default ignorable' chars

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/22670/files
  - new: https://git.openjdk.org/jdk/pull/22670/files/79604bdc..e34e0081

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=22670&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22670&range=03-04

  Stats: 545123 lines in 11068 files changed: 269687 ins; 227821 del; 47615 mod
  Patch: https://git.openjdk.org/jdk/pull/22670.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22670/head:pull/22670

PR: https://git.openjdk.org/jdk/pull/22670


More information about the client-libs-dev mailing list