The default font renders the same character in different glyphs depending on the context #10048

Closed
opened 2026-01-31 02:11:13 +00:00 by claunia · 2 comments
Owner

Originally created by @denilsonsa on GitHub (Aug 7, 2020).

Environment

Microsoft Windows [Version 10.0.19041.388]

Steps to reproduce

  • Type a digit, followed by x, followed by another digit. (e.g. type 5x5)

Expected behavior

Since this is a monospaced terminal, I expected the same character to be rendered the same way, regardless of the surrounding characters. This is specially important when editing a text file in the terminal, to make sure the x character I see there is the real x, and not the multiplication sign ×.

Actual behavior

When x is between two digits, its glyph changes. It is now rendered exactly the same the multiplication sign ×. Look at this zoomed in screenshot, they are all the lower-case latin x:

image

It took me a couple of minutes staring at a text file I was editing to convince me that character was x instead of ×

Look at this other screenshot. One of these is the multiplication sign. Can you spot it (before looking at xxd output)?

image

Possibly related issues

Investigate/implement renderer setting to disable ligatures

Originally created by @denilsonsa on GitHub (Aug 7, 2020). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> <!-- This bug tracker is monitored by Windows Terminal development team and other technical folks. **Important: When reporting BSODs or security issues, DO NOT attach memory dumps, logs, or traces to Github issues**. Instead, send dumps/traces to secure@microsoft.com, referencing this GitHub issue. If this is an application crash, please also provide a Feedback Hub submission link so we can find your diagnostic data on the backend. Use the category "Apps > Windows Terminal (Preview)" and choose "Share My Feedback" after submission to get the link. Please use this form and describe your issue, concisely but precisely, with as much detail as possible. --> # Environment Microsoft Windows [Version 10.0.19041.388] # Steps to reproduce * Type a digit, followed by `x`, followed by another digit. (e.g. type `5x5`) <!-- A description of how to trigger this bug. --> # Expected behavior Since this is a monospaced terminal, I expected the same character to be rendered the same way, regardless of the surrounding characters. This is specially important when editing a text file in the terminal, to make sure the `x` character I see there is the real `x`, and not the multiplication sign `×`. <!-- A description of what you're expecting, possibly containing screenshots or reference material. --> # Actual behavior When `x` is between two digits, its glyph changes. It is now rendered exactly the same the multiplication sign `×`. Look at this zoomed in screenshot, they are all the lower-case latin `x`: ![image](https://user-images.githubusercontent.com/121676/89623740-7271aa80-d895-11ea-90b5-4e6020bdc412.png) It took me a couple of minutes staring at a text file I was editing to convince me that character was `x` instead of `×` Look at this other screenshot. One of these is the multiplication sign. Can you spot it (before looking at `xxd` output)? ![image](https://user-images.githubusercontent.com/121676/89624284-4a367b80-d896-11ea-95a8-b0eb69c5ac4a.png) <!-- What's actually happening? --> # Possibly related issues [Investigate/implement renderer setting to disable ligatures](https://github.com/microsoft/terminal/issues/759)
claunia added the Resolution-Duplicate label 2026-01-31 02:11:13 +00:00
Author
Owner

@zadjii-msft commented on GitHub (Aug 7, 2020):

Yep, you're definitely right. This is because the glyphs are being ligatured together.

IIRC, we ship a non-ligatured version for Cascadia Code in the package as well, something like "Cascadia Mono". You might be able to work around this by using that font instead.

/dup #759

@zadjii-msft commented on GitHub (Aug 7, 2020): Yep, you're definitely right. This is because the glyphs are being ligatured together. IIRC, we ship a non-ligatured version for Cascadia Code in the package as well, something like "Cascadia Mono". You might be able to work around this by using that font instead. /dup #759
Author
Owner

@ghost commented on GitHub (Aug 7, 2020):

Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!

@ghost commented on GitHub (Aug 7, 2020): Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#10048