Add support for font-agnostic pixel-perfect rendering of ASCII box drawing glyphs.

Open
#1,940 7 comments 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

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

Research direction

Start by reproducing the rendering problem in Warp with a Neovim UI or vtop on macOS, comparing the default 1.2 line height with line height 1. Check the terminal text-rendering area responsible for box-drawing glyphs. Done means connected horizontal and vertical lines render without gaps, misalignment, or collisions across fonts and line heights.

Written by the indexing model from the issue text.

Description

area:ui-framework enhancement triaged
Discord username (optional)

No response

Describe the bug

Text rendering in Warp appears to be messing with ASCII box drawing. For example, here's some Neovim UI which uses box drawing characters in iTerm (see the borders on completion and signature popovers, and the box drawing characters used in the status line and file explorer):
image

Here's the same UI in Warp, with line height set to the default 1.2:
image

Even with the line height set to 1 (which makes for really cramped reading), gaps still exist, and it also creates misalignment in the status line:
image

Aside from the noticeable vertical gaps, there's also some strange horizontal collisions, like this:
image

Hope this helps, please let me know if I can provide further info!

To Reproduce

Initialize any UI which uses ASCII box drawing characters. (For a basic example, try vtop.)

Expected behaviour

Box drawing characters should draw connected lines.

Screenshots

See above

Operating System

MacOS

OS Version

11.6

Shell Version

zsh 5.7.1

Warp Version

v0.2022.10.04.08.05.stable_00

Additional context

No response

Does this block you from using Warp daily?

No

Warp Internal (ignore): linear-label:b8107fdf-ba31-488d-b103-d271c89cac3e

No response

Dominant language
Rust
Stars
65.1k
Forks
5.6k
PR merge metrics
PR metrics pending

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.

More from warpdotdev/warp

All issues in warpdotdev/warp

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.