Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v0.10] When two characters are ligatured, the first one becomes invisible #4974

Open
xa0082249956 opened this issue Mar 18, 2020 · 38 comments
Labels
Area-Fonts Related to the font Area-Rendering Text rendering, emoji, complex glyph & font-fallback issues Help Wanted We encourage anyone to jump in on these. Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-3 A description (P3) Product-Terminal The new Windows Terminal.
Milestone

Comments

@xa0082249956
Copy link

xa0082249956 commented Mar 18, 2020

fig2

Environment

Platform ServicePack Version      VersionString
-------- ----------- -------      -------------
 Win32NT             10.0.19582.0 Microsoft Windows NT 10.0.19582.0

Steps to reproduce

  1. Change font to the one with ligatures, for example Fira Code.
  2. Type --.

Expected behavior

The first - shouldn't disappear.

Actual behavior

The first - is disappeared.

@ghost ghost added Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Mar 18, 2020
@DHowett-MSFT
Copy link
Contributor

What font size are you using? What version of Terminal?

@xa0082249956
Copy link
Author

What font size are you using?

Default size i.e. 12.

What version of Terminal?

Windows Terminal (Preview)
Version: 0.10.761.0
Downloaded from Microsoft Store.

@xa0082249956 xa0082249956 changed the title [v1.0] When two characters are ligatured, the first one becomes invisinvisible [v0.10] When two characters are ligatured, the first one becomes invisinvisible Mar 18, 2020
@onekopaka
Copy link

I am also having this issue, using 10pt Fira Code, no matter the zoom level, I just built from commit c0d704e

Here you can see the //, :: and www ligatures drawing incorrectly:
Screenshot of my terminal, showing the www, :: and // ligatures drawing incorrectly

@zadjii-msft zadjii-msft added Area-Fonts Related to the font Area-Rendering Text rendering, emoji, complex glyph & font-fallback issues Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-1 A description (P1) Product-Terminal The new Windows Terminal. labels Mar 18, 2020
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Mar 18, 2020
@zadjii-msft zadjii-msft added this to the Terminal v1.0 milestone Mar 18, 2020
@DHowett-MSFT
Copy link
Contributor

We thought we'd fixed this with #4806, but perhaps we didn't.

@DHowett-MSFT DHowett-MSFT removed the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Mar 19, 2020
@allenatdecisiv
Copy link

Same here:
terminal-preview

"fontFace" : "Fira Code Retina",
"fontSize" : 12,
Windows Terminal (Preview)
Version: 0.10.761.0
Microsoft Windows [Version 10.0.18363.720]

@daviox
Copy link

daviox commented Mar 20, 2020

Same here:
Ligatures issue

Versions

Windows Terminal (Preview)
Version: 0.10.761.0

Microsoft Windows [Version 10.0.18363.719]

Config

      "fontFace": "Fira Code",
      "fontSize": 9,
      "scrollbarState": "hidden",
      "padding": "5",

@fabienheureux
Copy link

do you have an ETA for this issue @DHowett-MSFT ?
Thanks 👍

@DHowett-MSFT
Copy link
Contributor

Unfortunately, I do not. Sorry.

@fabienheureux
Copy link

fabienheureux commented Mar 26, 2020

By the way, I tried switching my font to Cascadia instead of Fira Code and this issue does not occur with Cascadia.

@skyline75489
Copy link
Collaborator

I'm using WT Version 0.10.781.0 and I can not seem to reproduce it. I'm also a Fira Code lover myself.

@FallenGameR
Copy link

I'm on WT 0.10.781.0 and do reproduce this bug with Fira Code.

@zadjii-msft
Copy link
Member

I'd bet this might have to do with not only the font face, but also the font size and display resolution. @FallenGameR (or anyone else reproing this), could you also make sure to share your fontSize and display resolution? Thanks!

@fabienheureux
Copy link

fabienheureux commented Mar 27, 2020

@zadjii-msft here are the settings that causes this issue:

"fontFace" : "Fira Code",
"fontSize" : 10,

Resolution: 1920 x 1080
By the way, I tested with various fontSize values, and the issue is always the same

@anttirt
Copy link

anttirt commented Mar 27, 2020

Reproduced with Windows Terminal 0.10.781.0, Fira Code 1.206, display resolution 1920x1200, every font size from 6 to 14.

Updating to Fira Code 2.000 fixed the issue and all ligatures show up correctly at all settings I'm able to test.

@skyline75489
Copy link
Collaborator

Ah. That's probably it. I'm at 2560 x 1600. I can't find a way to reproduce it.

@fabienheureux
Copy link

Reproduced with Windows Terminal 0.10.781.0, Fira Code 1.206, display resolution 1920x1200, every font size from 6 to 14.

Updating to Fira Code 2.000 fixed the issue and all ligatures show up correctly at all settings I'm able to test.

The update to Fira Code 2.000 fixed the issue as well on my side

@griimick
Copy link

Same. Updating to Fira Code v.2 fixed the issues on my side.

@fabienheureux
Copy link

It's still a Terminal bug, unfortunately. Thanks 😄

If It can be of any help...this worked before #4806

@DHowett-MSFT
Copy link
Contributor

Thanks! 4806 describes the same bug as this, so it definitely worked before 4806 ;)

@vincentkam
Copy link

I thought I'd share my experience with this bug: I had an older version of the Firacode fonts hanging out in %APPDATA%\Local\Microsoft\Windows\Fonts that was being preferentially loaded instead of the 2.0 fonts I had installed into C:\Windows\Fonts. I was unable to delete the fonts in %APPDATA%\Local\Microsoft\Windows\Fonts despite using elevated command prompts, trying to close all handles to the fonts using Process Explorer (trying to do so resulted in invalid handle messages), and many other methods. The only thing that worked for me was using IObit Unlocker. After removing those font files, Terminal correctly picked up the newer FiraCode font and seems to be working normally now.

Windows 10 Version 1909 (OS Build 1836.752)
Terminal version: 0.10.781.0

@privacyguy123
Copy link

Any ETA on this?

@zadjii-msft
Copy link
Member

@privacyguy123 Unfortunately not at this time. I tried reproing this Friday, but I couldn't get this to happen on my machine at all with Fira Code 1.2. Hopefully someone else on the team will have a better chance at reproing this.

If we can't get a repro locally, we could try psychic debugging by looking at the changelog of what Fira Code changed on their side between 1.2 and 2.0. Maybe that would point us in the right direction of something we've done wrong.

It's also just possible that some of the rendering changes that are baking for 0.11 (#778/#5185) might just fix this, which might explain why I couldn't get a repro.

@jsoref
Copy link
Contributor

jsoref commented Apr 13, 2020

@zadjii-msft / @DHowett-MSFT : the bot can't complain about issue titles, but can you please fix invisible? 😉

@DHowett-MSFT DHowett-MSFT changed the title [v0.10] When two characters are ligatured, the first one becomes invisinvisible [v0.10] When two characters are ligatured, the first one becomes invisinvisinvisible Apr 13, 2020
@DHowett-MSFT
Copy link
Contributor

@jsoref done

@DHowett-MSFT
Copy link
Contributor

:trollface:

@DHowett-MSFT DHowett-MSFT changed the title [v0.10] When two characters are ligatured, the first one becomes invisinvisinvisible [v0.10] When two characters are ligatured, the first one becomes invisible Apr 13, 2020
@jsoref
Copy link
Contributor

jsoref commented Apr 13, 2020

Technically, I suppose, I should say "it doesn't". It probably could.

@privacyguy123
Copy link

privacyguy123 commented Apr 29, 2020

Come on boys - new release and this was overlooked? It worked fine in earlier versions ...

Here is the f00king exact font it's happening with on my machine ;)
https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/FiraCode/Medium/complete/Fura%20Code%20Medium%20Nerd%20Font%20Complete%20Windows%20Compatible.ttf

@zadjii-msft
Copy link
Member

zadjii-msft commented Apr 29, 2020

  • This is a purely graphical bug (the characters are still in the buffer, just not rendered for some reason)
  • With a trivial workaround (Upgrade the font, or pick any other font)
  • And the team doesn't have a local repro for this with the FiraCode v1.2 that other users are reporting an error with
    • EDIT: I just installed the font you linked, and that does repro the bug for me, so that's helpful, thanks!

So no, this hasn't really bubbled up in our own priority list. Also, at least I was hoping that #5345 would just magically fix this (as there was quite a bit of renderer changes in that PR).

EDIT:

Even with the repro, I'm pretty sure this isn't going to make the 1.0 cut for the aforementioned reasons. If someone in the community were generous enough to contribute a fix, we'd probably take that though!

@privacyguy123
Copy link

privacyguy123 commented Apr 29, 2020

EDIT: Bug fixed by repatching my own Fira Code 1.2 with https://github.com/ryanoasis/nerd-fonts font-patcher script fixes this bug, perhaps the one they have uploaded is broken? 🤪

@audreyality
Copy link

audreyality commented Jun 8, 2020

This bug occurred on my machine with FiraCode 4.0. The problem was resolved when I unblocked the FiraCode ttf files before installing them and restarted my terminal.

@zadjii-msft zadjii-msft added the Help Wanted We encourage anyone to jump in on these. label Dec 9, 2021
@zadjii-msft zadjii-msft added Priority-3 A description (P3) and removed Priority-1 A description (P1) labels Dec 9, 2021
@zadjii-msft zadjii-msft modified the milestones: Terminal Backlog, Backlog Jan 4, 2022
@zadjii-msft
Copy link
Member

I'm curious if this just went away in 1.16. The Atlas engine might have just fixed this.

@zadjii-msft
Copy link
Member

Anyone still seeing this on Terminal 1.18/? There's been a whole pile of massive renderer rewrites in the last year.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Fonts Related to the font Area-Rendering Text rendering, emoji, complex glyph & font-fallback issues Help Wanted We encourage anyone to jump in on these. Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-3 A description (P3) Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests