microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
95.9k stars 8.34k forks source link

Foreground and background are inverted for certain characters #18249

Open brunnerh opened 3 days ago

brunnerh commented 3 days ago

Windows Terminal version

1.22.3232.0

Windows build number

10.0.22631.0

Other Software

No response

Steps to reproduce

The Black Large Circle ⬤ (0x2b24) has inverted colors, e.g. printing both Black Circle ● (0x25cf) and the large version in red via PowerShell:

echo "$([char]0x001b)[31m●⬤$([char]0x001b)[0m"

(The explicit coloring is not necessary to show this, though my use case requires the color to indicate various statuses.)

Expected Behavior

In both cases the circle is red.

Actual Behavior

Only for the small circle is red, for the larger one, the background becomes red instead:

screenshot showing inversion

VS Code seems to do this as well in the editor 🤔 screenshot showing inversion in VS code text file

...but its terminal does not screenshot showing no inversion in VS Code terminal

lhecker commented 3 days ago

I suspect it depends on the font you're using: Image

So, what font are you using and does it get fixed if you use a different one?

brunnerh commented 3 days ago

I tried switching to a few fonts but the ones I picked did not seem to contain the character. Don't know how to determine what the fallback in Windows Terminal is, but inspecting VS Code shows that Segoe UI Symbol is used for rendering there.