RFR: 8137323: Incorrect parsing of mnemonic in controls text

Kevin Rushforth kcr at openjdk.java.net
Fri Apr 30 13:45:06 UTC 2021


On Fri, 2 Apr 2021 19:47:30 GMT, mstr2 <github.com+43553916+mstr2 at openjdk.org> 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.

Since extended mnemonics don't seem to work either before or after your fix -- meaning you can't use the extended mnemonic character to select the button or action -- we can treat that as a separate issue.

So this fix looks good to me.

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

Marked as reviewed by kcr (Lead).

PR: https://git.openjdk.java.net/jfx/pull/453


More information about the openjfx-dev mailing list