Skip to content

fix: type precomposed NFC and drop leftover zero-width spaces - #12

Merged
jonaskahn merged 1 commit into
mainfrom
fix/vietnamese-nfc-wire-output
Oct 16, 2026
Merged

jonaskahn merged 1 commit into
mainfrom
fix/vietnamese-nfc-wire-output

Conversation

@jonaskahn

Copy link
Copy Markdown
Owner

Vietnamese output to Chromium/Electron page fields and Safari was forced to combining-diacritic (NFD) form by the unicodeCombiningOutput workaround. It rendered correctly but broke website search: Blink stores the decomposed scalars while sites compare precomposed text.

All Unicode-class typing output is now canonically composed (NFC) at the KeySynthesizer emission boundary, with deletion bookkeeping derived from the normalized form. Legacy TCVN3/VNI Windows/CP1258 output is exempt. The workaround and its forced override are removed, so the user's typing-encoding setting is honored in every app.

Vietnamese output to Chromium/Electron page fields and Safari was
forced to combining-diacritic (NFD) form by the unicodeCombiningOutput
workaround. It rendered correctly but broke website search: Blink
stores the decomposed scalars while sites compare precomposed text.

All Unicode-class typing output is now canonically composed (NFC) at
the KeySynthesizer emission boundary, with deletion bookkeeping
derived from the normalized form. Legacy TCVN3/VNI Windows/CP1258
output is exempt. The workaround and its forced override are removed,
so the user's typing-encoding setting is honored in every app.
@jonaskahn
jonaskahn merged commit 9751894 into main Oct 16, 2026
10 of 12 checks passed
@jonaskahn
jonaskahn deleted the fix/vietnamese-nfc-wire-output branch October 16, 2026 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant