wez / wezterm

A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
https://wezfurlong.org/wezterm/
Other
18.05k stars 807 forks source link

Ship with ligatures disabled, or make a more obvious setting to do that #6413

Open ernstki opened 6 days ago

ernstki commented 6 days ago

Is your feature request related to a problem? Please describe.

It's only a problem for people who think it's a problem. ;)

Describe the solution you'd like

Ligature support is technological marvel in the field of digital typography, and I've no doubt that Wezterm has world-class support for it.

Practically speaking, however, it's something that—without evidence or data—I predict most programmers who use a variety of languages will eventually want to switch off, especially after the initial novelty wears thin, and particularly in certain contexts where the ligature representations are confusing rather than helpful. (screenshot below)

Therefore, I humbly propose that:

Describe alternatives you've considered

The latter does present an effective workaround

config.harfbuzz_features = { calt=0, clig=0, liga=0 }

but it's not in an easy-to-spot place in the docs, and it requires one to recognize that Harfbuzz is the thing making the ligatures, and to read the OpenType specification to truly understand it.

Additional context

Here's some POD in a Perl script, for example:

A screenshot of some Plain Old Documentation (POD) in a Perl script, demonstrating how the default settings of wezterm have rendered `<--` (the start of a bold-faced command-line option) more difficult to read by replacing with a leftward-pointing arrow ligature charater.