"Chunked" soft fonts are no longer working correctly #20602

Open
opened 2026-01-31 07:18:49 +00:00 by claunia · 0 comments
Owner

Originally created by @j4james on GitHub (Oct 1, 2023).

Originally assigned to: @lhecker on GitHub.

Windows Terminal version

1.19.2682.0

Windows build number

10.0.19045.3448

Other Software

No response

Steps to reproduce

  1. Download the VT220 soft font from this gist.
  2. Open a cmd shell in Windows Terminal.
  3. TYPE the soft font file downloaded in step 1.

Expected Behavior

The next prompt that is output should be rendered with that low-res VT220 font, looking something like this:

image

Actual Behavior

It appears that some of the characters are only partially downloaded, and some haven't been downloaded at all, so I'm seeing this:

image

If you look at the contents of the font file, you'll see that it's defined as a series of DECDLD sequences, so it's downloading 24 sets of 4 characters, rather than a single 94 character set. I think that's part of the reason for the failure, because fonts that aren't chunked like that don't seem to have the problem.

I also noticed that it only happens in a cmd shell, but not in PowerShell or a WSL bash shell. My guess is that the other shells are buffering their output in a way that hides the problem. It's also possible there is a timing factor, but the cmd shell failure is easily reproducible for me.

And as far as I can tell, the problem was introduced in PR #15991. The commit prior to 41f7ed73c1 was working as expected.

Originally created by @j4james on GitHub (Oct 1, 2023). Originally assigned to: @lhecker on GitHub. ### Windows Terminal version 1.19.2682.0 ### Windows build number 10.0.19045.3448 ### Other Software _No response_ ### Steps to reproduce 1. Download the VT220 soft font from [this gist](https://gist.github.com/j4james/4da454443d8440cadaf84a93f811a35e). 2. Open a cmd shell in Windows Terminal. 3. `TYPE` the soft font file downloaded in step 1. ### Expected Behavior The next prompt that is output should be rendered with that low-res VT220 font, looking something like this: ![image](https://github.com/microsoft/terminal/assets/4181424/5361ea0d-473e-4ffa-8f81-ce1b87c44cb6) ### Actual Behavior It appears that some of the characters are only partially downloaded, and some haven't been downloaded at all, so I'm seeing this: ![image](https://github.com/microsoft/terminal/assets/4181424/b97073d0-0390-4afb-924f-c2e10b30f630) If you look at the contents of the font file, you'll see that it's defined as a series of `DECDLD` sequences, so it's downloading 24 sets of 4 characters, rather than a single 94 character set. I _think_ that's part of the reason for the failure, because fonts that _aren't_ chunked like that don't seem to have the problem. I also noticed that it only happens in a cmd shell, but not in PowerShell or a WSL bash shell. My guess is that the other shells are buffering their output in a way that hides the problem. It's also possible there is a timing factor, but the cmd shell failure is easily reproducible for me. And as far as I can tell, the problem was introduced in PR #15991. The commit prior to 41f7ed73c1e62195919146f689135517aefbaf7b was working as expected.
claunia added the Issue-BugIn-PRArea-VTProduct-Conpty labels 2026-01-31 07:18:50 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#20602