You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Currently, Kitty always uses wcwidth to calculate the monospaced width of cell characters. The problem is that sometimes with certain characters, or what Unicode refer to as graphemes, such as emojis and multi-codepoint characters, wcwidth reports invalid width breaking the terminal display.
Describe the solution you'd like
DECRQM 2027 or mode 2027. When mode 2027 is enabled, Kitty should use Unicode grapheme clustering to calculate the cell character widths instead of wcwidth.
kitty doesn't use wcwidth. It uses the unicode standards to do grapheme
clustering but it doesn't support ZWJ see the open issue about it. It's
on my TODO list, but I probably wont support 2027 as I have something
better in mind.
Is your feature request related to a problem? Please describe.
Currently, Kitty always uses
wcwidth
to calculate the monospaced width of cell characters. The problem is that sometimes with certain characters, or what Unicode refer to as graphemes, such as emojis and multi-codepoint characters,wcwidth
reports invalid width breaking the terminal display.Describe the solution you'd like
DECRQM 2027 or mode 2027. When mode 2027 is enabled, Kitty should use Unicode grapheme clustering to calculate the cell character widths instead of
wcwidth
.Additional context
A good write up explaining the issue in details and how mode 2027 proposes a reasonable solution https://mitchellh.com/writing/grapheme-clusters-in-terminals
Related: #3810
The text was updated successfully, but these errors were encountered: