Character out of place #13065

Closed
opened 2026-01-31 03:32:38 +00:00 by claunia · 6 comments
Owner

Originally created by @vefatica on GitHub (Mar 17, 2021).

Environment

Microsoft Windows 10 Pro for Workstations
10.0.19042.867 (2009, 20H2)
WindowsTerminal: 1.7.572.0
WSL2
TCSH (Astron 6.20.024 November 2016)

Steps to reproduce

In a 43 character wide WT (6 pixels padding), Consolas font, TCSH in WSL2, echo "<46 asterisks>". Look at the second-last character echoed; it's misplaced! I wouldn't have thought it possible.

image

This happens with other WT widths, other font sizes, and other numbers of asterisks echoed ... but only (and always) when there are exactly three on the last line.

image
image

Here's another, seeming related observation. Below, recall the first echo command and add 'x' to the end of the string ... the last '*' drops down (remove the 'x' and the '*' goes back up).

image

Having fooled around a lot, I might sum it up like this (all I did was type three asterisks).

image

Expected behavior

Character not misplaced.

Actual behavior

Originally created by @vefatica on GitHub (Mar 17, 2021). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 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 10 Pro for Workstations 10.0.19042.867 (2009, 20H2) WindowsTerminal: 1.7.572.0 WSL2 TCSH (Astron 6.20.024 November 2016) # Steps to reproduce In a 43 character wide WT (6 pixels padding), Consolas font, TCSH in WSL2, echo "<46 asterisks>". Look at the second-last character echoed; it's misplaced! I wouldn't have thought it possible. ![image](https://user-images.githubusercontent.com/61856645/111516551-65ba0c80-872a-11eb-8bc1-4dc73138ed18.png) This happens with other WT widths, other font sizes, and other numbers of asterisks echoed ... but only (and always) when there are exactly three on the last line. ![image](https://user-images.githubusercontent.com/61856645/111517223-36f06600-872b-11eb-906c-da9df7ee0ebd.png) ![image](https://user-images.githubusercontent.com/61856645/111517588-9b132a00-872b-11eb-8c93-b7f0d16f9eee.png) Here's another, seeming related observation. Below, recall the first echo command and add 'x' to the end of the string ... the last '\*' drops down (remove the 'x' and the '\*' goes back up). ![image](https://user-images.githubusercontent.com/61856645/111518530-897e5200-872c-11eb-9f4e-05a1d03167e8.png) Having fooled around a lot, I might sum it up like this (all I did was type three asterisks). ![image](https://user-images.githubusercontent.com/61856645/111519414-7029d580-872d-11eb-9abf-81776314a2a3.png) <!-- A description of how to trigger this bug. --> # Expected behavior Character not misplaced. <!-- A description of what you're expecting, possibly containing screenshots or reference material. --> # Actual behavior <!-- What's actually happening? -->
claunia added the Issue-QuestionNeeds-Tag-FixResolution-Answered labels 2026-01-31 03:32:38 +00:00
Author
Owner

@DHowett commented on GitHub (Mar 17, 2021):

This is a ligature applied to *** by the font you're using.

@DHowett commented on GitHub (Mar 17, 2021): This is a ligature applied to `***` by the font you're using.
Author
Owner

@vefatica commented on GitHub (Mar 17, 2021):

What's it supposed to represent?

@vefatica commented on GitHub (Mar 17, 2021): What's it supposed to represent?
Author
Owner

@DHowett commented on GitHub (Mar 17, 2021):

The other one (*x) is a ligature applied by the font you're using to * followed by an alpha character.

Cascadia Code is a coding font. It has ligatures that make it look slightly different for certain types of code. Like the ones for <$ and ## and even !=.

It's supposed to represent "I don't actually know, but Fira Code does it too. Since people use *** to mean something in some language, it seemed reasonable to give it a special visual treatment."

@DHowett commented on GitHub (Mar 17, 2021): The other one (`*x`) is a ligature applied by the font you're using to `*` followed by an alpha character. Cascadia Code is a coding font. It has ligatures that make it look slightly different for certain types of code. Like the ones for `<$` and `##` and even `!=`. It's supposed to represent "I don't actually know, but Fira Code does it too. Since people use `***` to mean something in some language, it seemed reasonable to give it a special visual treatment."
Author
Owner

@vefatica commented on GitHub (Mar 17, 2021):

Actually (my fault) that was Cascadia Code. Consolas doesn't do it.

Thanks.

@vefatica commented on GitHub (Mar 17, 2021): Actually (my fault) that was Cascadia Code. Consolas doesn't do it. Thanks.
Author
Owner

@DHowett commented on GitHub (Mar 17, 2021):

If you happen to like the Cascadia style, there's Cascadia Mono (also included by default) which does not have ligatures.

@DHowett commented on GitHub (Mar 17, 2021): If you happen to like the Cascadia style, there's `Cascadia Mono` (also included by default) which does not have ligatures.
Author
Owner

@vefatica commented on GitHub (Mar 17, 2021):

Cascadia's OK but I prefer Consolas because it's more vertically spread out.

@vefatica commented on GitHub (Mar 17, 2021): Cascadia's OK but I prefer Consolas because it's more vertically spread out.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#13065