On Fri, 2 Apr 2021 19:47:30 GMT, mstr2 <[email protected]>
wrote:
> This PR fixes incorrect parsing of mnemonic symbols in the following cases:
> 1. an escaped double underscore incorrectly shows up as a double underscore
> in displayed text
> 2. an extended mnemonic incorrectly removes a part of adjacent text
>
> As a side effect, this PR also fixes another undocumented issue for multiline
> text where text metrics calculations incorrectly operate on text for which
> mnemonic symbols have not been processed.
>
> This can lead to a glitch where the mnemonic underscore makes a text just
> long enough to wrap to a new line, but when the text is rendered, the second
> line shows up entirely empty. The reason for this is that for rendering, the
> text is laid out _after_ mnemonic symbols have been removed.
>
> The solution is to _always_ use processed text ("_clean text_") when laying
> out text.
Marked as reviewed by aghaisas (Reviewer).
Nice to see the broken behavior being fixed.
Along with the supplied unit tests, I have verified that the fix does not break
tests/manual/UI/ButtonMnemonicPositionTest.java as well.
-------------
PR: https://git.openjdk.java.net/jfx/pull/453