CI / Build Java (push) Has been cancelled
CI / Build Native (macos-latest - macos) (push) Has been cancelled
CI / Build Native (ubuntu-latest - linux) (push) Has been cancelled
CI / Build Native (ubuntu-latest - windows) (push) Has been cancelled
CI / Archive Natives (push) Has been cancelled
CI / Update Binaries (push) Has been cancelled
CI / Release (push) Has been cancelled
JNI's GetStringUTFChars emits MUTF-8, which encodes codepoints above U+FFFF as a surrogate-pair of two 3-byte sequences. ImGui's UTF-8 decoder rejects those, so SMP emoji (U+1F000+) never reach the glyph atlas even when the glyph is registered. Add Jni::ToTrueUtf8 / Jni::FreeTrueUtf8 helpers in jni_common that decode via GetStringChars (UTF-16) and emit proper 1/2/3/4-byte UTF-8, then route every generator- and manually-written JNI call site through them (1921 occurrences across the generated tree and 3 hand-written files, plus the jni_content.kt generator template so future regenerations stay consistent).