-
Notifications
You must be signed in to change notification settings - Fork 8.4k
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
Squots (2x3 block drawing characters) are not sized properly #11694
Comments
@PhMajerus on Windows 11, after installing from the Microsoft Store, WT throws an error when launching
And http://www.majerus.net/axsh/ gives |
@elsaco Unfortunately, the Windows Store version doesn't work for now, it was built on the original Centennial container and was designed to refuse running if too old, but now it cannot be updated until I can turn it into an MSIX package. The best in the meantime is to grab the current build off my personal OneDrive public folder, it's updated whenever I have some new and stable feature: http://onedrive.phm.lu |
Weird. Thanks for the report! I don't believe I ever heard of that particular range of unicode before |
You're totally right. This has significant overlap with #8000 😄 |
Just FYI, there are a number of different character ranges effected by this. You can see a bunch of them in the I've just been assuming all of these issues will be fixed by #8000 though. |
Oh wow! I think I completely forgot that this was a "surrogate pairs are stored in two columns" issue. Thanks for checking it again. Fixed in #13626 :) |
Thanks @j4james for fixing it! Here are some examples of better looking squots ansi-arts using the 256-color palette: Sonic (8-bit).txt (original sprite by SЄGΔ, Sonic 2 on Game Gear) |
For the record, I think it was Leonard's #13626 PR that did most of the hard work necessary to fix this issue - I just stole the credit by hooking up his code to the VT |
Testing in Windows terminal 1.12.2931.0.
Unicode 14 includes symbols inherited from legacy computer systems (mostly 8-bit character sets), called Symbols for Legacy Computing (U+1FB00..U+1FBFF).
Squots are 2x3 block drawing characters that were originally on the TRS-80 and Teletext.
I know there is still no font in Windows that supports those, and even installing a font that does, such as UNSCII (http://viznut.fi/unscii/) does not make font-fallback work, but "unscii 16-full" can be used as the Windows Terminal font, and they are rendered.
The problem is, they are properly sized at 1 character cell when used by themselves, but as soon as there is a VT sequence to change their color, extra spaces get inserted between them.
This does not seem to be a problem with the UNSCII font, as when using Cascadia Mono, they are rendered as generic rectangles, but with the same extra spacing issue.
Reference rendering, using gnome-terminal from Ubuntu on WSL, displayed through WSLg:
The same files rendered in Windows Terminal using UNSCII (unscii 16-full) font:
And the same again, but rendered using Cascadia Mono, missing glyphs are expected, but notice the spacing still present:
Same but using CMD.exe instead of ActiveScript Shell, to show the problem isn't with ActiveScript Shell:
And here are my UTF-8 files to experiment:
Sonic (squots) (UTF-8).txt
Mario (squots) (UTF-8).txt
The Symbols for Legacy Computing are a new block of Unicode 14, but they might be important for Windows Terminal as their goal is precisely to bring into the modern character set all the legacy 8-bit text mode glyphs from historical computers. Having them properly supported might allow for example Commodore 64 (PETSCII) text screens to be displayed properly.
Also, this rendering issue might be related to a larger issue that could affect other characters blocks. Investigating it could improve Windows Terminal text rendering in other areas.
The text was updated successfully, but these errors were encountered: