Some character combinations render a "merged" character glyph when using fixed-width fonts #20864

Closed
opened 2026-01-31 07:26:14 +00:00 by claunia · 3 comments
Owner

Originally created by @ccnly on GitHub (Nov 21, 2023).

Windows Terminal version

1.18.2822.0

Windows build number

10.0.22631.0

Other Software

No response

Steps to reproduce

type ping www.florida.gov to see an example.

2023-11-21_132421_UTC

Expected Behavior

The f and l glyphs should remain in their respective columns.

Actual Behavior

The f and l glyphs "merge" into a single glyph, adding additional padded space around them. Each character does remain selectable.

Originally created by @ccnly on GitHub (Nov 21, 2023). ### Windows Terminal version 1.18.2822.0 ### Windows build number 10.0.22631.0 ### Other Software _No response_ ### Steps to reproduce type `ping www.florida.gov` to see an example. ![2023-11-21_132421_UTC](https://github.com/microsoft/terminal/assets/53479999/d206cdab-ad01-4198-9628-20e5d1ca4bde) ### Expected Behavior The `f` and `l` glyphs should remain in their respective columns. ### Actual Behavior The `f` and `l` glyphs "merge" into a single glyph, adding additional padded space around them. Each character does remain selectable.
claunia added the Needs-TriageIssue-Bug labels 2026-01-31 07:26:14 +00:00
Author
Owner

@lhecker commented on GitHub (Nov 21, 2023):

You're using a partially proportional font that contains ligatures for "fl", which is one of the most common ligatures: https://en.wikipedia.org/wiki/Ligature_(writing)#Stylistic_ligatures
You can continue using the same font if you disable ligatures. To do so, open your settings.json file using Ctrl+Shift+, and find your "font" settings. Then add a "liga" override like so:

"font": {
    "face": "your font face",
    "features": {
        "liga": 0
    }
}

(If you already have "features" there, in particular something that starts with "ss" (stylistic set), then try removing that first.)

This will come with a slight performance cost, however (non-default font features require complex glyph shaping).

@lhecker commented on GitHub (Nov 21, 2023): You're using a partially proportional font that contains ligatures for "fl", which is one of the most common ligatures: https://en.wikipedia.org/wiki/Ligature_(writing)#Stylistic_ligatures You can continue using the same font if you disable ligatures. To do so, open your `settings.json` file using Ctrl+Shift+, and find your "font" settings. Then add a "liga" override like so: ```json "font": { "face": "your font face", "features": { "liga": 0 } } ``` (If you already have "features" there, in particular something that starts with "ss" (stylistic set), then try removing that first.) This will come with a slight performance cost, however (non-default font features require complex glyph shaping).
Author
Owner

@ccnly commented on GitHub (Nov 21, 2023):

I'm using Cascadia Code, Aptos Mono, Consolas, and other fixed-width fonts. I don't believe those are supposed to have ligatures such as this. Am I incorrect?

Your fix worked, by the way. So thank you! I wonder if I should log an enhancement that the Appearance configuration should have a checkbox to allow/dis-allow ligatures.

@ccnly commented on GitHub (Nov 21, 2023): I'm using Cascadia Code, Aptos Mono, Consolas, and other fixed-width fonts. I don't believe those are supposed to have ligatures such as this. Am I incorrect? Your fix worked, by the way. So thank you! I wonder if I should log an enhancement that the Appearance configuration should have a checkbox to allow/dis-allow ligatures.
Author
Owner

@lhecker commented on GitHub (Nov 21, 2023):

I'm using Cascadia Code, Aptos Mono, Consolas, and other fixed-width fonts. I don't believe those are supposed to have ligatures such as this. Am I incorrect?

Cascadia Code does have ligatures for things like ==>. Cascadia Mono is the one without such ligatures. Neither of the 3 fonts you mentioned however has a "fl" ligature, so I'm not sure what font it was that you used. I'm glad the setting worked for you though!

I wonder if I should log an enhancement that the Appearance configuration should have a checkbox to allow/dis-allow ligatures.

Don't worry about it! It's been requested a number of times in the past and we recently opened a PR to address this 🙂: #16104

@lhecker commented on GitHub (Nov 21, 2023): > I'm using Cascadia Code, Aptos Mono, Consolas, and other fixed-width fonts. I don't believe those are supposed to have ligatures such as this. Am I incorrect? Cascadia Code does have ligatures for things like `==>`. Cascadia Mono is the one without such ligatures. Neither of the 3 fonts you mentioned however has a "fl" ligature, so I'm not sure what font it was that you used. I'm glad the setting worked for you though! > I wonder if I should log an enhancement that the Appearance configuration should have a checkbox to allow/dis-allow ligatures. Don't worry about it! It's been requested a number of times in the past and we recently opened a PR to address this 🙂: #16104
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#20864