Does not print Unicode "Left Half Block" correctly #10124

Closed
opened 2026-01-31 02:13:06 +00:00 by claunia · 11 comments
Owner

Originally created by @mangelozzi on GitHub (Aug 12, 2020).

Environment

Windows build number: Microsoft Windows [Version 10.0.19041.388]
Windows Terminal version (if applicable): Version: 1.1.2021.0

Intro

In Unicode there are two symbols often used for drawings boxes:
Left Half Block: https://www.compart.com/en/unicode/U+258C
Right Half Block: https://www.compart.com/en/unicode/U+2590

Steps to reproduce

Right half block is printed correctly.
Left half block is not printed correctly.

  1. Open windows terminal, and paste in echo Left Half: ▌▌▌
  2. Open windows terminal, and paste in echo Right Half: ▐▐▐

Actual behavior

Half block is printed as almost a full block. I have tried various fonts, and shells. The common factor is windows terminal.
This is how it looks:
image

Expected behavior

Print the characters as they should be.

notepad.exe:
image

cmd.exe:
image

Originally created by @mangelozzi on GitHub (Aug 12, 2020). # Environment ```none Windows build number: Microsoft Windows [Version 10.0.19041.388] Windows Terminal version (if applicable): Version: 1.1.2021.0 ``` # Intro In Unicode there are two symbols often used for drawings boxes: Left Half Block: <https://www.compart.com/en/unicode/U+258C> Right Half Block: <https://www.compart.com/en/unicode/U+2590> # Steps to reproduce Right half block is printed correctly. Left half block is not printed correctly. 1. Open windows terminal, and paste in `echo Left Half: ▌▌▌` 2. Open windows terminal, and paste in `echo Right Half: ▐▐▐` # Actual behavior Half block is printed as almost a full block. I have tried various fonts, and shells. The common factor is windows terminal. This is how it looks: ![image](https://user-images.githubusercontent.com/19764314/90052041-df8fa080-dcd8-11ea-94e8-5a79837739bf.png) # Expected behavior Print the characters as they should be. notepad.exe: ![image](https://user-images.githubusercontent.com/19764314/90052442-6f354f00-dcd9-11ea-9e9c-d8494f3c9aa5.png) cmd.exe: ![image](https://user-images.githubusercontent.com/19764314/90052587-a441a180-dcd9-11ea-9d42-72f7603c302c.png)
claunia added the Resolution-Duplicate label 2026-01-31 02:13:06 +00:00
Author
Owner

@DHowett commented on GitHub (Aug 12, 2020):

So, I can't reproduce this with any particular font on that version. I've even tried disabling antialiasing.

Cascadia Code

image

image

Consolas
image

image

Mind sharing your settings.json?

@DHowett commented on GitHub (Aug 12, 2020): So, I can't reproduce this with any particular font on that version. I've even tried disabling antialiasing. Cascadia Code ![image](https://user-images.githubusercontent.com/189190/90057907-e5b05d80-dc95-11ea-9f3a-0d7ddf7c5e73.png) ![image](https://user-images.githubusercontent.com/189190/90057901-e2b56d00-dc95-11ea-9495-8e38db4fe5d8.png) Consolas ![image](https://user-images.githubusercontent.com/189190/90057866-d6311480-dc95-11ea-931d-3fdeb32746db.png) ![image](https://user-images.githubusercontent.com/189190/90057877-d9c49b80-dc95-11ea-8129-db25bac0a408.png) Mind sharing your `settings.json`?
Author
Owner

@mangelozzi commented on GitHub (Aug 12, 2020):

I disabled the settings one at a time until I got the same result as you. It is a font thing, But not on consolas and cascadia code.

Currently I have the following two fonts:

           //"fontFace": "Roboto Mono",
            //"fontFace": "Inconsolatago NF",

Looking at your screen shots, one can see the Left block is not the same width as the right block. In the aliased ones we can put it down to pixelisation. But on the anti-aliased ones, one can see a bias between the two sides:
image

Its strange that these fonts render okay on other apps but not windows terminal, I suspect there is something not quite right at play here. Maybe you could try these fonts and see whats happening with the rendering?:

PS these are my font settings:

            "fontSize": 13,
            "antialiasingMode": "aliased",
            "fontWeight" : "bold",
            "fontFace": "Roboto Mono",
            "cursorShape" : "filledBox",

Miscrosoft word:

image

Windows Terminal:

Roboto Mono:
image

Inconsolata Go Nerd font:
image

Cmder

Inconsolata Go Nerd font:
image

Roboto Mono:
image

What I have seen is that notepad.exe and windows terminal both incorrectely render these block characters the same, do you use the same rendering engine as notepad.exe???

Notepad.exe

image

@mangelozzi commented on GitHub (Aug 12, 2020): I disabled the settings one at a time until I got the same result as you. It is a font thing, But not on consolas and cascadia code. Currently I have the following two fonts: ``` //"fontFace": "Roboto Mono", //"fontFace": "Inconsolatago NF", ``` Looking at your screen shots, one can see the Left block is not the same width as the right block. In the aliased ones we can put it down to pixelisation. But on the anti-aliased ones, one can see a bias between the two sides: ![image](https://user-images.githubusercontent.com/19764314/90064026-7a44ab00-dcea-11ea-80d3-377c3ec57810.png) Its strange that these fonts render okay on other apps but not windows terminal, I suspect there is something not quite right at play here. Maybe you could try these fonts and see whats happening with the rendering?: - Robto Mono here: <https://fonts.google.com/specimen/Roboto+Mono> - Inconsolta Go Nerd Font: <https://www.nerdfonts.com/font-downloads> (in particular <https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/InconsolataGo.zip>) PS these are my font settings: ``` "fontSize": 13, "antialiasingMode": "aliased", "fontWeight" : "bold", "fontFace": "Roboto Mono", "cursorShape" : "filledBox", ``` # Miscrosoft word: ![image](https://user-images.githubusercontent.com/19764314/90065480-a2350e00-dcec-11ea-8964-174944a2b62a.png) # Windows Terminal: Roboto Mono: ![image](https://user-images.githubusercontent.com/19764314/90065844-2c7d7200-dced-11ea-8006-a09852469190.png) Inconsolata Go Nerd font: ![image](https://user-images.githubusercontent.com/19764314/90065709-f5a75c00-dcec-11ea-8ee3-cd61d666e2e5.png) # Cmder Inconsolata Go Nerd font: ![image](https://user-images.githubusercontent.com/19764314/90066245-c5ac8880-dced-11ea-9aa6-40e61178d511.png) Roboto Mono: ![image](https://user-images.githubusercontent.com/19764314/90066379-ee348280-dced-11ea-8283-f383fb9ffc29.png) What I have seen is that notepad.exe and windows terminal both incorrectely render these block characters the same, do you use the same rendering engine as notepad.exe??? # Notepad.exe ![image](https://user-images.githubusercontent.com/19764314/90066557-2e940080-dcee-11ea-9acc-bf2e6ea480c3.png)
Author
Owner

@sebastienros commented on GitHub (Aug 12, 2020):

I am facing a similar issue, trying to render ▃ which is https://www.compart.com/en/unicode/U+2583
It renders as a unknown char in the terminal, using the default font (Cascadia Mono), but works fine in Notepad using the same font.
Terminal:

image

Notepad:

image

@sebastienros commented on GitHub (Aug 12, 2020): I am facing a similar issue, trying to render ▃ which is https://www.compart.com/en/unicode/U+2583 It renders as a unknown char in the terminal, using the default font (Cascadia Mono), but works fine in Notepad using the same font. Terminal: ![image](https://user-images.githubusercontent.com/1165805/90074395-f968bd80-dcaf-11ea-9c3a-ac319787df4a.png) Notepad: ![image](https://user-images.githubusercontent.com/1165805/90074435-130a0500-dcb0-11ea-98f0-cb9508e9396b.png)
Author
Owner

@DHowett commented on GitHub (Aug 12, 2020):

This is not a similar issue. You're probably seeing the result of powershell/psreadline not supporting all codepoints.

@DHowett commented on GitHub (Aug 12, 2020): This is not a similar issue. You're probably seeing the result of powershell/psreadline not supporting all codepoints.
Author
Owner

@sebastienros commented on GitHub (Aug 12, 2020):

@DHowett Thanks, I agree, it works in another shell (Azure cloud for instance)

@sebastienros commented on GitHub (Aug 12, 2020): @DHowett Thanks, I agree, it works in another shell (Azure cloud for instance)
Author
Owner

@DHowett commented on GitHub (Aug 12, 2020):

(You're seeing something similar to https://github.com/PowerShell/PSReadLine/issues/1594 or https://github.com/PowerShell/PSReadLine/issues/1329, even though they mention emoji.)

@DHowett commented on GitHub (Aug 12, 2020): (You're seeing something similar to https://github.com/PowerShell/PSReadLine/issues/1594 or https://github.com/PowerShell/PSReadLine/issues/1329, even though they mention emoji.)
Author
Owner

@DHowett commented on GitHub (Aug 13, 2020):

Well, I've got good news and bad news.

Here's the left/right block glyphs from Roboto

image

and here's the left/right block glyphs from InconsolataGo

image

It looks like we're falling back to ... Segoe UI Symbol.

Segoe UI Symbol's version of U+258C takes up the entire cell (!)

image

@DHowett commented on GitHub (Aug 13, 2020): Well, I've got good news and bad news. Here's the left/right block glyphs from Roboto ![image](https://user-images.githubusercontent.com/189190/90080512-a8f95c00-dcbf-11ea-917a-d5152ec5343b.png) and here's the left/right block glyphs from InconsolataGo ![image](https://user-images.githubusercontent.com/189190/90080527-b0206a00-dcbf-11ea-92ab-594894932be4.png) It looks like we're falling back to ... Segoe UI Symbol. Segoe UI Symbol's version of U+258C takes up the entire cell (!) ![image](https://user-images.githubusercontent.com/189190/90081938-6afe3700-dcc3-11ea-9d0f-9812f585b6c0.png)
Author
Owner

@DHowett commented on GitHub (Aug 13, 2020):

/dup #4130

@DHowett commented on GitHub (Aug 13, 2020): /dup #4130
Author
Owner

@ghost commented on GitHub (Aug 13, 2020):

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!

@ghost commented on GitHub (Aug 13, 2020): 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!
Author
Owner

@mangelozzi commented on GitHub (Aug 13, 2020):

@DHowett Thanks for looking into that and figuring it out.

Okay so for me the Nerd fonts have the glyps for folder icons, but don't display well in some situations. None nerd fonts display well but don't have the extra folder icon glyphs. It would be really helpful if one could specificy a full back font. So if the glyp is not found in the main font, it uses the fall back font.

PS what tool did you use to inspect the font glyps? I would like to try inspect some fonts too.
PSS The word picture above is invalid, you are correct it did fall back to a different font (even though I selected it and changed the font, I checked now if I click within the region it is not the selected font.

@mangelozzi commented on GitHub (Aug 13, 2020): @DHowett Thanks for looking into that and figuring it out. Okay so for me the Nerd fonts have the glyps for folder icons, but don't display well in some situations. None nerd fonts display well but don't have the extra folder icon glyphs. It would be really helpful if one could specificy a full back font. So if the glyp is not found in the main font, it uses the fall back font. PS what tool did you use to inspect the font glyps? I would like to try inspect some fonts too. PSS The word picture above is invalid, you are correct it did fall back to a different font (even though I selected it and changed the font, I checked now if I click within the region it is not the selected font.
Author
Owner

@DHowett commented on GitHub (Aug 13, 2020):

So, I was looking at the font in the open-source/FOSS font editor FontForge. 😄 It's got a bit of a learning curve, but it is worth knowing a bit about.

@DHowett commented on GitHub (Aug 13, 2020): So, I was looking at the font in the open-source/FOSS font editor [FontForge](https://fontforge.org/). :smile: It's got a bit of a learning curve, but it is worth knowing a bit about.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#10124