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