Surrogate & grapheme JS open

Slate splits Indic conjunct clusters (UAX #29 GB9c) across graphemes

Treat Indic conjunct clusters as a single grapheme (UAX #29 GB9c)

slate · ianstormtaylor/slate

Symptom

Slate rich-text editor does not implement Unicode UAX #29 GB9c rule, splitting Indic conjunct clusters (consonant + virama + consonant sequences) across grapheme boundaries, causing incorrect cursor positioning and deletion in Hindi, Bengali, Tamil, etc.

Minimal repro
Type a conjunct consonant in Hindi (e.g., 'क्ष') in Slate; press Backspace; only one codepoint is deleted instead of the full cluster.
Fix

Apply Unicode GB9c rule: treat <Indic_Conjunct_Break=Linker> sequences as a single grapheme cluster.

Fix PR → #slate-indic-conjunct-grapheme

Also in: JavaScript

← all 93 entries