unbroken runs containing ligatures occasionally cause font size flickering #976

Closed
opened 2026-01-30 22:12:54 +00:00 by claunia · 5 comments
Owner

Originally created by @GEEKiDoS on GitHub (May 11, 2019).

Originally assigned to: @miniksa on GitHub.

  • Your Windows build number:
    10.0.18362.86

  • What you're doing and what's happening: (Copy & paste specific commands and their output, or include screen shots)
    I'm using Fixedsys Excelsio font, and this happened:
    issue

  • What's wrong / what should be happening instead:

The text turned to small text after typing "--" with Fixedsys Excelsio font

This font in VSCode
QQ截图20190511122906

Originally created by @GEEKiDoS on GitHub (May 11, 2019). Originally assigned to: @miniksa on GitHub. * Your Windows build number: 10.0.18362.86 * What you're doing and what's happening: (Copy & paste specific commands and their output, or include screen shots) I'm using [Fixedsys Excelsio](https://github.com/kika/fixedsys) font, and this happened: ![issue](https://user-images.githubusercontent.com/14933408/57565021-565c3080-73e8-11e9-92e4-acfa178b011f.gif) * What's wrong / what should be happening instead: The text turned to small text after typing "--" with Fixedsys Excelsio font This font in VSCode ![QQ截图20190511122906](https://user-images.githubusercontent.com/14933408/57565025-6411b600-73e8-11e9-9bfc-a3099a23f217.jpg)
Author
Owner

@zadjii-msft commented on GitHub (May 13, 2019):

Woah holy crap, that's insane.

@miniksa thoughts?

Looks like maybe #610

@zadjii-msft commented on GitHub (May 13, 2019): Woah holy crap, that's insane. @miniksa thoughts? Looks like maybe #610
Author
Owner

@DHowett-MSFT commented on GitHub (May 13, 2019):

@miniksa I'm going to use this as the master external issue tracking what used to be MSFT:21252989 "unbroken runs containing ligatures occasionally cause font size flickering". It looks like the same problem.

@DHowett-MSFT commented on GitHub (May 13, 2019): @miniksa I'm going to use this as the master external issue tracking what used to be MSFT:21252989 "_unbroken runs containing ligatures occasionally cause font size flickering_". It looks like the same problem.
Author
Owner

@thomazmoura commented on GitHub (Jun 30, 2019):

Just to reinforce the issue, it doesn't happen only with this font. LigConsalata (an Inconsolata variant with ligatures) seems to be broken as well on any line with ligatures.

How it looks when it is broken (in this case the "->" ligature breaks the line)
Print - Broken Git status

How it looks when there is no ligature around:
Print - Fine Git status

What I found interesting is that when the line breaks and the rest of it doesn't have any ligature it displays fine that part of the line (as can be seems on the first print). I suppose it re-render the whole terminal line whenever there's a ligature and that's where it is breaking on those fonts.

I tested both on windows and WSL2, and the same happens on both. Fira Code doesn't seem to break any line, though.

In case it helps, that's where I got the LigConsolata font:
https://github.com/googlefonts/Inconsolata/tree/master/fonts/ttf

@thomazmoura commented on GitHub (Jun 30, 2019): Just to reinforce the issue, it doesn't happen only with this font. LigConsalata (an Inconsolata variant with ligatures) seems to be broken as well on any line with ligatures. How it looks when it is broken (in this case the "->" ligature breaks the line) ![Print - Broken Git status](https://user-images.githubusercontent.com/5599621/60397869-0c5e1400-9b28-11e9-86d9-7448d42fe408.png) How it looks when there is no ligature around: ![Print - Fine Git status](https://user-images.githubusercontent.com/5599621/60397874-1c75f380-9b28-11e9-9eb1-2c5e31624499.png) What I found interesting is that when the line breaks and the rest of it doesn't have any ligature it displays fine that part of the line (as can be seems on the first print). I suppose it re-render the whole terminal line whenever there's a ligature and that's where it is breaking on those fonts. I tested both on windows and WSL2, and the same happens on both. Fira Code doesn't seem to break any line, though. In case it helps, that's where I got the LigConsolata font: [https://github.com/googlefonts/Inconsolata/tree/master/fonts/ttf](https://github.com/googlefonts/Inconsolata/tree/master/fonts/ttf)
Author
Owner

@miniksa commented on GitHub (Jul 2, 2019):

That's spectacular. My guess at it is that something is detecting the run is suddenly "complex" and then mucking up what sub-segments of the run have what properties. I'll get to this.

@miniksa commented on GitHub (Jul 2, 2019): That's spectacular. My guess at it is that something is detecting the run is suddenly "complex" and then mucking up what sub-segments of the run have what properties. I'll get to this.
Author
Owner

@ghost commented on GitHub (Jan 27, 2020):

:tada:This issue was addressed in #4081, which has now been successfully released as Windows Terminal Preview v0.8.10261.0.🎉

Handy links:

@ghost commented on GitHub (Jan 27, 2020): :tada:This issue was addressed in #4081, which has now been successfully released as `Windows Terminal Preview v0.8.10261.0`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v0.8.10261.0) * [Store Download](https://www.microsoft.com/store/apps/9n0dx20hk701?cid=storebadge&ocid=badge)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#976