RFR: 8340982: [win] Dead key followed by Space generates two characters instead of one

Martin Fox mfox at openjdk.org
Fri Sep 27 14:34:16 UTC 2024


The standard across all platforms is:

- A dead key followed by a composable character generates the composed character. For example, a circumflex dead key followed by an 'e' should generate 'ê'.
- A dead key followed by a character that can't compose with it generates a spacing character followed by the non-composable character. On Windows US International a circumflex dead key followed by a 'q' generates '^q'. The spacing character corresponding to the dead key varies based on the OS and layout.
- An exception is SPACE. On all platforms a dead key followed by SPACE should generate just the spacing version of the dead key but *not* a space character. Users rely on this shortcut to quickly access the character 'hidden' by the dead key.

The Windows glass code didn't implement the Space exception. This PR fixes that.

On Windows the US  US International layout. Shift+6 is the dead key for a circumflex diacritic if you want to test out the combinations mentioned above.

For some reason Windows 11 hides this setting well. To install a US International layout:
- Go to Settings > Time & Language > Language & Region.
- In the entry for English click on the three dots to the far right and select 'Language Options'. 
- Scroll down until you see 'Installed keyboards' and select 'Add a keyboard'.
- From the list select "United States - International".
To actually use the layout look to the right of the Task Bar and you should see a button for choosing the layout (it will contain the word "ENG").

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

Commit messages:
 - A dead key followed by Space generates a single character, not two

Changes: https://git.openjdk.org/jfx/pull/1584/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1584&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8340982
  Stats: 8 lines in 1 file changed: 5 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jfx/pull/1584.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1584/head:pull/1584

PR: https://git.openjdk.org/jfx/pull/1584


More information about the openjfx-dev mailing list