Skip to content

Box drawing characters are not antialiased #6161

Open

Description

@armak

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.

Activity

  1. ghost added
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on May 23, 2020
  2. ghost added
    Needs-Tag-FixDoesn't match tag requirements
    on May 23, 2020
  3. j4james commented on May 23, 2020

    @j4james
    Collaborator

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

  4. added
    Area-RenderingText rendering, emoji, complex glyph & font-fallback issues
    Issue-BugIt either shouldn't be doing this or needs an investigation.
    on May 25, 2020
  5. ghost removed
    Needs-Tag-FixDoesn't match tag requirements
    on May 25, 2020
  6. DHowett commented on May 25, 2020

    @DHowett
    Member

    Linking, but not closing this. Thanks.

  7. removed
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on May 25, 2020
  8. oising commented on Jun 7, 2020

    @oising
    Collaborator
  9. oising commented on Jun 7, 2020

    @oising
    Collaborator

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

    image

  10. j4james commented on Jun 7, 2020

    @j4james
    Collaborator

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

  11. armak commented on Jun 7, 2020

    @armak
    Author

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

  12. 10 remaining items

  13. zadjii-msft commented on Dec 21, 2020

    @zadjii-msft
    Member

    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

  14. leduyquang753 commented on Aug 30, 2024

    @leduyquang753

    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.

  15. lhecker commented on Nov 11, 2024

    @lhecker
    Member

    Grable are you sure you have the builtin glyph setting enabled?
    Image

  16. lhecker commented on Nov 11, 2024

    @lhecker
    Member

    The builtin glyphs are our solution to the problem you're having. But you're right that the rounded corners are difficult to see at 100% display scale. I'll make them larger and roughly match the way that Cascadia Mono looks like. Hopefully that should be an alright compromise for you.

  17. lhecker commented on Nov 11, 2024

    @lhecker
    Member

    That was unfortunately intentional. A lot of users asked us for such box glyphs that don't have aliasing ("blur") and so when I only have 1px to work with I've decided that I'd simply make it look somewhat asymmetric. Adding options to control this would be extremely easy to do though: All of the drawing is already parametric. 🙂 If you'd like us to add support for that, please feel free to file an issue for it (the description can be short).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-RenderingText rendering, emoji, complex glyph & font-fallback issuesIssue-BugIt either shouldn't be doing this or needs an investigation.Priority-3A description (P3)Product-TerminalThe new Windows Terminal.

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions