-
Notifications
You must be signed in to change notification settings - Fork 8.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
Block graphics and line drawing characters not rendered with AtlasEgine #14080
Comments
@rbanffy I've found in your changelog that you set the vertical advance to 0 in v2.0.4.
It uses this information so that it can scale box glyphs to perfectly fill the terminal's cells without leaving gaps. My understanding is that an advance height of 0 is a valid value and the text renderer honors this by drawing the glyph at a height of 0. I would suggest to not emit an Alternatively you could set the advance height to a valid value. Would that work for you? |
Thanks, @lhecker. I'll check those values and roll out a fix if they work.
Never mind that. I couldn't reproduce the problem on the reference machine. Removing the HasVMetrics line from the .sfd file solved the issue. I'll test in other OSs and terminals to make sure nothing blows up. There's another thing, with composing glyphs, that don't compose in neither renderer, but that's for another ticket (if there isn't one already). As you described, @lhecker, the renderer is behaving correctly and rendering the glyph with the invalid value the font specified. Unless you want the renderer to try to guess an override value that makes sense, I believe this can be closed. |
That's a combination of 2 problems:
I think I'll do that in case another issue like this is opened. I'd generally prefer if no compatibility logic needs to be maintained indefinitely, unless absolutely needed. I'm glad to hear that removing |
Windows Terminal version
1.16.2641.0
Windows build number
10.0.19042.2006
Other Software
This was seen with both Linux under WSL and Powershell on Windows. Line drawing and some block graphics are not rendered (or, at least, do not appear on the window).
PowerShell under AtlasEngine:

PowerShell under the previous renderer:

Same happens (unsurprisingly) under WSL with AtlasEngine:

and without:

Common line drawing and semi-graphic symbols are not rendered, but others, such as the 1FB00 range (which are relatively new, from Unicode 13) are rendered correctly (in our case, because the font used (https://github.com/rbanffy/3270font) has them defined.
The others, seen missing in the lines "Misc glyphs" and "Vttest's ladder", left to right filled boxes and the middle step of the ladder, are also defined in the font..
Steps to reproduce
Easiest way: install zsh and ohmyzsh on a Linux WSL instance and select the "agnoster" theme, which contains some of the characters that aren't rendered.
Hard way: check-out https://github.com/rbanffy/3270font, open a Windows Terminal and run the
test_font_rendering.py
program.Expected Behavior
All glyphs should render
Actual Behavior
Line drawing and some block graphics characters don't render. Window height is also slightly shorter.
The text was updated successfully, but these errors were encountered: