Skip to content
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

Rendering issue/glitches with files containing emojis on Windows #4932

Closed
fnuttens opened this issue Nov 29, 2022 · 3 comments
Closed

Rendering issue/glitches with files containing emojis on Windows #4932

fnuttens opened this issue Nov 29, 2022 · 3 comments
Labels
A-helix-term Area: Helix term improvements C-bug Category: This is a bug

Comments

@fnuttens
Copy link
Contributor

Summary

Hi!

I noticed some glitches when manipulating buffers containing emojis on Windows (Windows Terminal - also visible my WSL distro, and Cmd):

  • in some cases, emojis take up 2x less space, which has the effect of shifting all other characters on the line
  • sometimes the emojis are replaced by "square" characters
  • some parts of the line are replaced by a black background

Here are two screenshots that should speak for themselves:

glitches

glitches2

If needed, I will gladly make a recording of this, as the glitches are really correlated to the cursor's movements.

Reproduction Steps

The problem is replicable with any buffer containing at least one emoji. You just have to move the cursor on the same line to see all the following characters shift as the emoji itself changes in size.

Helix log

No log produced.

Platform

Windows

Terminal Emulator

Windows Terminal, Cmd

Helix Version

helix 22.08.1 (66276ce)

@fnuttens fnuttens added the C-bug Category: This is a bug label Nov 29, 2022
@kirawi kirawi added the A-helix-term Area: Helix term improvements label Nov 29, 2022
@CptPotato
Copy link
Contributor

CptPotato commented Dec 6, 2022

I can kind of reproduce this, though it looks a bit different on wezterm. I'll see if I can reproduce on linux as well but at at least on windows it happens regardless of line endings.

For reference, I used this text:

🖋️🖋️
🖋️🖋️

Moving around the cursor results in duplicates and seemingly broken diffing. You can see the light blue cell of the cursor appears multiple times in the screenshot, even though there's just one single width cursor. Emojis after the cursor are shifted left and extend into the gutter.

image
(don't mind the hidden line numbers)

It seems like helix (or something) expects the emoji to be two cells wide, while the terminal displays it as 1 cell. This isn't the case for all emojis though. 🦀 is correctly displayed at 2 cells wide and works fine.

Neovim looks similarly broken, i.e. characters appearing where they shouldn't be on lines with the 🖋️ emoji, while 🦀 appears fine. It doesn't have the diffing issues but that might be down to more aggressive redrawing of cells.

@kirawi
Copy link
Member

kirawi commented Jan 12, 2023

@pascalkuthe
Copy link
Member

Closing in favor of #6012

@pascalkuthe pascalkuthe closed this as not planned Won't fix, can't repro, duplicate, stale Feb 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-helix-term Area: Helix term improvements C-bug Category: This is a bug
Projects
None yet
Development

No branches or pull requests

4 participants