kovidgoyal / kitty Public
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cursor location seems incorrect following zero-width-joined emoji #3810
Comments
|
Yeah it's on my TODO list to add the ~1400 such sequences from https://unicode.org/emoji/charts/emoji-zwj-sequences.html If you wish to add support for them PRs are welcome. |
|
yep, my assessment is similar. i'm looking at trying to implement unicode faithfully in this regard, at which point i'll start seeing which terminals match it. |
|
Yes, that's another item for my endless TODO list. It's never been worth I would be willing to donate kitty's gen-wcwidth.py to such a project, |
|
Sorry, I don't know the technical details, but I have an issue. Step to reproduce:
Debug Details |
|
This seems related to my issue, so I'm posting here. I just switched to gnome-terminal which has inconsistent rendering of emojis. At first I was pleased to see that kitty renders them properly, but then I noticed that the cursor positioning is problematic. As it stands, this is actually less usable than gnome-terminal. Screencast.from.13-03-22.16.07.38.mp4 |
|
That will be because whatever terminal program you are running is using a different width calculation from what kitty uses, which is based on the unicde standard. And unless your emoji is using zwj it is completely unrelated so post elsewhere. |
@latipun7: No, this is caused by zsh not supporting ZWJ. If you run |



Describe the bug
Emoji joined via a ZWJ display properly, but the cursor is moved too far. An example:
as you can see, the cursor report indicates that we have moved four -- which is accurate, as we have indeed moved four cursor positions forward. we only ought have moved two.
FWIW, it's nice that kitty actually implements this; it's ahead of most terminals in this regard.
To Reproduce
Steps to reproduce the behavior:
Screenshots

Environment details
Additional context
Happens the same way.
The text was updated successfully, but these errors were encountered: