Width / normalization
Rust
open
tabled splits combining marks from their base grapheme when wrapping width
Keep combining marks with their base grapheme in Width::wrap
tabled · zhiburt/tabled
Symptom
tabled's text-wrapping splits combining marks (diacritics, dakuten, etc.) away from their base grapheme when calculating width for terminal table cells.
Minimal repro
Create a tabled table with text containing combining marks (e.g., 'が' as 'か' + combining voiced mark U+3099); wrapping separates the base and combining mark onto different lines.
Fix
Use a grapheme cluster iterator (Unicode UAX #29) when wrapping, never splitting within a grapheme cluster.