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.

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

Commit messages:
 - Additional test
 - Fix mnemonic processing in LabeledSkinBase
 - Add failing tests

Changes: https://git.openjdk.java.net/jfx/pull/453/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=453&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8137323
  Stats: 251 lines in 3 files changed: 120 ins; 51 del; 80 mod
  Patch: https://git.openjdk.java.net/jfx/pull/453.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/453/head:pull/453

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

Reply via email to