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

CursesDriver doesn't render wide codepoints correctly #2796

Open
tig opened this issue Aug 9, 2023 · 0 comments
Open

CursesDriver doesn't render wide codepoints correctly #2796

tig opened this issue Aug 9, 2023 · 0 comments
Labels
Milestone

Comments

@tig
Copy link
Collaborator

tig commented Aug 9, 2023

Curses is doing something funky with glyphs that report GetColums() of 1 yet are rendered wide. E.g. 0x2064 (invisible times) is reported as 1 column but is rendered as 2. WindowsDriver & NetDriver correctly render this as 1 column, overlapping the next cell.

I've spent many hours trying to figure this out. I'm at a loss.

JT9gIoo 1

I'm pretty sure curses is actively trying to determine a codepoint is wide and ignoring wcwidth (which it does use, and I've verified is that latest).

I suspect the way to address this is to stop using Curses.addstr etc... and instead emit ANSI sequences directly to the output stream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: No status
Status: 📋 Approved - Need Owner
Development

No branches or pull requests

1 participant