Re:Ligatures in programming fonts: hell no
by loup-vaillant on Sunday May 14, 2023 @01:46PM
(#35939785)
Here's how monospace ligatures work in real life: the width of a glyph is strictly proportional to how many ASCII bytes it represents. A 1-byte glyph like `m` gets 1 cell. A 2-byte glyph like `->` gets 2 cells. A 3-byte glyph like `===` gets 3 cells.
1 ASCII byte, 1 cell. That way ligatures don't change the width of the original text. If a line used to require 42 columns, it still requires 42 columns. That's why we call them "monospace": each ASCII byte requires the exact same width, even when it's part of a ligature.
> a compacting ligature for "www" —
Is obviously out of scope. We're discussing monospace ligatures here, not compacting ones.
1 ASCII byte, 1 cell. That way ligatures don't change the width of the original text. If a line used to require 42 columns, it still requires 42 columns. That's why we call them "monospace": each ASCII byte requires the exact same width, even when it's part of a ligature.
> a compacting ligature for "www" —
Is obviously out of scope. We're discussing monospace ligatures here, not compacting ones.