Closed eiximenis closed 2 years ago
I believe this is a known limitation of the current buffer implementation. I think it's probably covered by issue #1472, or more broadly #8000.
Yeah, I'd reckon those are the same thing. Thanks!
/dup #1472 /dup #8000
Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!
Windows Terminal version
1.11.3471.0
Windows build number
10.0.19043.1466
Other Software
No response
Steps to reproduce
Running following NET6 code in Windows Terminal:
Expected Behavior
This code creates a string named
As you can see, the * starts in column 12, and the individual U+200d printed have one column width.
s
with one grapheme cluster (๐ฉโ๐ฉโ๐งโ๐ง and one asterisk). Iterates over both graphemes, printing its code points individually. When the code point U+200d is printed it occupies one column even thought is a 0-width code point. That has the consequence that the grapheme is 11 columns wide (4 2+3) instead of 8 columns wide (4 2). Here is a screenshot of the program running in WT:Default Ubuntu terminal seems to handle this a little bit better: although the grapheme cluster is not shown as a single character but a sequence of its individual code points, the U+200d does not have any width, and the overall width of the grapheme is 8:
As you can see, the * starts in column 9 and the U+200d does not have any width
Actual Behavior
Zero width code points seems to occupy one column