microsoft / terminal

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

Box drawing characters are not antialiased #6161

Open armak opened 4 years ago

armak commented 4 years ago

Environment

Windows build number: Microsoft Windows [Version 10.0.18362.592]
Windows Terminal version (if applicable): Version: 1.0.1401.0
Any other software? No.

Steps to reproduce

  1. Install the latest 1.x version of Windows Terminal and open a WSL terminal.
  2. Download and display the UTF-8 Demo Text, for an example $ curl https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt

Expected behavior

The box drawings are properly rasterized with antialiasing in similar fashion to the rest of the text. Here is an example from Fluent Terminal using the Inconsolata font: image

(Note: I'm not necessarily saying this is perfect either, but it's at least closer to what would be an acceptable and more consistent result.)

Actual behavior

The box drawing glyphs are severely aliased, unlike any other text, with visible pixel gaps in diagonal elements, and generally just look really bad. Rendered in the latest stable Windows Terminal version using the Inconsolata font (size 10pt): image

This behavior is not just limited to Inconsolata, but happens with every font, and every size. Here is for an example Cascadia Mono in different sizes: 8pt image

10pt image

12pt image

This behavior was introduced recently in the RC versions, and I assume 0.11.1333.0 in specific since it included #5743 which altered the way box drawing glyphs were handled. Prior versions had alignment issues with these glyphs that the PR aimed to fix, but at least the glyphs were still rendered nicely individually, with a similar, comparable output to what Fluent Terminal produces.

j4james commented 4 years ago

I think this is will probably be covered by issue #5897.

DHowett commented 4 years ago

Linking, but not closing this. Thanks.

oising commented 4 years ago

I add that utf8 file to the repo last year some time: https://github.com/microsoft/terminal/blob/master/doc/reference/UTF8-torture-test.txt

oising commented 4 years ago

It's not too bad at all with Fira Code:

image

j4james commented 4 years ago

The diagonals are terrible though (U+2571, U+2572, and U+2573). These are "box drawing" characters - they're meant to connect together.

armak commented 4 years ago

@oising Definitely doesn't look like that for me. This is Fira Code at 10pt: image

zadjii-msft commented 3 years ago

From #8614

Steps to reproduce

Start Windows Terminal (defaults to PowerShell) and Windows PowerShell (that runs in Windows Console) and log in using ssh in PowerShell to a Raspberry Pi with BOINC and boinctui and run that in each.

Expected behavior

That the scrollbar should be without gaps in Terminal like it is in Console. Console here: pi@aeblapi1_ ~ 2020-12-18 16_24_42 (The Xbox Game Bar using Alt+Win+PrtSc cut out the lower part of the Window with the status bar, but it is there in reality.)

Actual behavior

The scrollbar has gaps in Terminal. Terminal with original settings (generated by Windows Terminal 1.4.3141.0) here: pi@aeblapi1_ ~ 2020-12-18 16_23_55

leduyquang753 commented 2 months ago

With the new code-driven box-drawing character rendering feature, the rectangles are also not antialiased. This column has 8 steps and with the column width being 6 pixels here it appears there are only correspondingly 6 steps.

image

Not sure if this should be made a separate issue.