`GetStringUTFChars` returns a modified UTF-8 string  that encodes supplementary 
characters differently from standard UTF-8, so emojis may not be handled as 
expected by GTK or other Linux desktop components that expect standard UTF-8.

See:
https://www.oracle.com/technical-resources/articles/javase/supplementary.html
https://www.javathinking.com/blog/what-is-the-java-s-internal-represention-for-string-modified-utf-8-utf-16/

There are other places where `GetStringUTFChars` is used, such as in the file 
open dialog, but it’s unclear whether this is affected in any real user 
scenarios.

Using the sample from the bug report with this fix:
<img width="778" height="574" alt="image" 
src="https://github.com/user-attachments/assets/6a66a746-2239-465d-ad5f-688933deb537";
 />


---------
- [x] I confirm that I make this contribution in accordance with the [OpenJDK 
Interim AI Policy](https://openjdk.org/legal/ai).

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

Commit messages:
 - 8382165: Emojis used in Stage.setTitle are not rendered and break 
application switching on Linux platform
 - 8382165: Emojis used in Stage.setTitle are not rendered and break 
application switching on Linux platform

Changes: https://git.openjdk.org/jfx/pull/2150/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=2150&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8382165
  Stats: 30 lines in 3 files changed: 28 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jfx/pull/2150.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/2150/head:pull/2150

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

Reply via email to