RFR: 8208377: Soft hyphens render if not using TextLayout

Alisen Chung achung at openjdk.org
Wed Dec 18 20:43:37 UTC 2024


On Wed, 11 Dec 2024 20:48:51 GMT, Alisen Chung <achung at openjdk.org> wrote:

>> 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 and TTF glyph mappers have been updated, but the macOS glyph mapper has not been updated.
>
> Test currently fails with error `java.lang.RuntimeException: stringWidth for char 00ad using font Dialog: 101 != 333
> `

> @alisenchung What OS and architecture are you testing on where you see failures?
> 
> The automated checks seem to have all passed (except for `macos-aarch64`, which has been broken for quite a few weeks due to an unrelated toolchain issue: `xcode-select: error: invalid developer directory '/Applications/Xcode_14.3.1.app/Contents/Developer'`).

 I'm running macOS Sonoma 14.7 and it's failing on my local machine

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

PR Comment: https://git.openjdk.org/jdk/pull/22670#issuecomment-2552229377


More information about the client-libs-dev mailing list