microsoft / microsoft/terminal

Box drawing characters are not antialiased

Open
#6,161 15 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-Rendering Issue-Bug Priority-3 Product-Terminal
Dominant language
C++
Stars
105k
Forks
9.6k
Avg merge
3d 17h
Merged PRs (30d)
29

Description

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no source files, tests, or entry points. First reproduce the rendering problem in Windows Terminal with the UTF-8 Demo Text and compare fonts and sizes; done means box-drawing glyphs render with antialiasing and without visible pixel gaps, while preserving their alignment.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.