-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
Hyper doesn't correctly handle variable-width characters #1857
Comments
Thanks for the report. I believe @tibotiber is currently looking into this, and his PR is very close! |
We've got a bit of a mixup: #1536 talks about more about powerline, but comments mention emoji as well. This issue is titled as to cover quite wide base, including plain emoji, but then talks specifically about emulators and issues shown are not regarding the characters but the UI of the emulator. So, since emoji is "variable-width", it also falls into this issue, I mean things like: I would help to test @tibotiber question above but I have no clue how to get the emulators in question set up. @wyqydsyq please follow up to Thibaut's question. |
Sorry for the late reply, I stopped using Hyper due to this issue. I just tried the latest stable version which apparently has #1536 merged, however still get undesirable results. Screenshot attached shows a comparison with the display from Tilix which is how it should look. |
Should be xtermjs/xterm.js#1059 |
similar problem occurred on v3.0.2 |
I actually used hyper as an example in an article I wrote about varying Unicode Version level support in Terminals (and a solution that works for python), https://jeffquast.com/post/terminal_wcwidth_solution/ The gist of it is that Hyper supports only version
The problem is the depenency on the wcwidth library, that library does not support any newer version. I haven't yet found a javascript version that has been brought up-to-date (Latest Unicode specification is version best wishes !! |
then, this is the script: https://github.com/jquast/wcwidth/blob/master/bin/wcwidth-browser.py |
Issue
Hyper doesn't correctly handle variable-width characters, namely, emojis from the "noto-emoji" font. This issue is also prevalent in libvte and some Qt based terminal emulators. It works in the
st
emulator which apparently uses a differentwcwidth
implementation.Here's a comparison between my same Tmux session looking broken in Hyper and appearing as it should in st:
You can also see that the spacing on the tmux pane title is messed up, strangely resizing the window sometimes fixes this unpredictably.
The text was updated successfully, but these errors were encountered: