Cannot override Cascadia Code #4161

Open
opened 2026-01-30 23:39:42 +00:00 by claunia · 7 comments
Owner

Originally created by @aaronbell on GitHub (Sep 30, 2019).

Originally assigned to: @DHowett on GitHub.

Environment

Win32NT 10.0.18362.0
Windows Terminal version: 0.5.2681.0

Steps to reproduce

Download the latest install of Windows Terminal from the Microsoft Store.
Install a new version of Cascadia Code (attached) via the font menu.
Open Windows Terminal.
Set Font Family in Preferences to “Cascadia Code”.
Observe that glyphs present in the older version appear (it appears that the newer font is used as a fallback for the previously-missing glyphs).

Expected behavior

Windows Terminal should use a normal process to install Cascadia Code so that it can be uninstalled or replaced as new versions of Cascadia Code are released.

Actual behavior

WindowsTerminal Note here that the older version of the font is being used for glyphs present in the older version, but the newer font is being used for glyphs only present in the newer version.

Windows Terminal appears to have a ‘back-end’ way of installing the font file that is inaccessible and cannot be overriden even when installing through the Font Menu, or a Font manager (such as FEX).

In VS Code, the newer version of the font is ignore entirely in favor of the older version installed by Windows Terminal.

CascadiaCode.ttf.zip

Originally created by @aaronbell on GitHub (Sep 30, 2019). Originally assigned to: @DHowett on GitHub. # Environment Win32NT 10.0.18362.0 Windows Terminal version: 0.5.2681.0 # Steps to reproduce Download the latest install of Windows Terminal from the Microsoft Store. Install a new version of Cascadia Code (attached) via the font menu. Open Windows Terminal. Set Font Family in Preferences to “Cascadia Code”. Observe that glyphs present in the older version appear (it appears that the newer font is used as a fallback for the previously-missing glyphs). # Expected behavior Windows Terminal should use a normal process to install Cascadia Code so that it can be uninstalled or replaced as new versions of Cascadia Code are released. # Actual behavior <img width="581" alt="WindowsTerminal" src="https://user-images.githubusercontent.com/8460297/65842898-8a76b600-e2e3-11e9-9142-92263f48e853.png"> Note here that the older version of the font is being used for glyphs present in the older version, but the newer font is being used for glyphs only present in the newer version. Windows Terminal appears to have a ‘back-end’ way of installing the font file that is inaccessible and cannot be overriden even when installing through the Font Menu, or a Font manager (such as FEX). In VS Code, the newer version of the font is ignore entirely in favor of the older version installed by Windows Terminal. [CascadiaCode.ttf.zip](https://github.com/microsoft/terminal/files/3668355/CascadiaCode.ttf.zip)
claunia added the Issue-BugProduct-TerminalArea-Fonts labels 2026-01-30 23:39:42 +00:00
Author
Owner

@DHowett-MSFT commented on GitHub (Sep 30, 2019):

Fascinating! My first guess is that when a font originates in a package, font searches starting from that package find local ones first. That’s not great for us, and something we didn’t expect.

I’m happy to follow up with the DirectWrite team on this 😄

@DHowett-MSFT commented on GitHub (Sep 30, 2019): Fascinating! My first guess is that when a font originates in a package, font searches starting from that package find local ones first. That’s not great for us, and something we didn’t expect. I’m happy to follow up with the DirectWrite team on this :smile:
Author
Owner

@aaronbell commented on GitHub (Sep 30, 2019):

Thanks @DHowett-MSFT! This weird bug soaked up a bunch of time this morning trying to figure out where the heck the font was 😭.

@aaronbell commented on GitHub (Sep 30, 2019): Thanks @DHowett-MSFT! This weird bug soaked up a bunch of time this morning trying to figure out where the heck the font was 😭.
Author
Owner

@DHowett-MSFT commented on GitHub (Sep 30, 2019):

Ouch, sorry about that! Yeah, we haven’t done anything special here except throw it in the package. I’ll make sure we figure something out!

@DHowett-MSFT commented on GitHub (Sep 30, 2019): Ouch, sorry about that! Yeah, we haven’t done anything special here except throw it in the package. I’ll make sure we figure something out!
Author
Owner

@DHowett-MSFT commented on GitHub (Sep 30, 2019):

(Assigning myself because I put myself on the hook for getting an answer. Thanks!)

@DHowett-MSFT commented on GitHub (Sep 30, 2019): (Assigning myself because I put myself on the hook for getting an answer. Thanks!)
Author
Owner

@aaronbell commented on GitHub (Oct 6, 2019):

Bug referenced above is about this same issue.

@aaronbell commented on GitHub (Oct 6, 2019): Bug referenced above is about this same issue.
Author
Owner

@BladeMF commented on GitHub (Aug 27, 2020):

If I may step in... I think the problem is caused by these registry entries here:

image

They cause the following on my computer - although manually installed Cascadia Code and Cascadia Mono fonts appear properly both here:
image

and here:
image

they are not visible here:
image

nor VSCode can use them at all.

They are visible in the new Control Panel, however:
image

and are properly identified as coming with a package:
image

The moment I delete those registry entries, the old Windows Fonts window shows them as available and VS Code uses them. In my mind this is definately some Windows issue :-) These are the only packages which have explicit fonts so it kind of figures why this is not working in all programs. I have to say that Notepad sees them, MS Word sees them as well. I wouldn't be surprised if the Windows guys built this in, but half the software either doesn't know it exists or doesn't implement it properly.

@BladeMF commented on GitHub (Aug 27, 2020): If I may step in... I think the problem is caused by these registry entries here: ![image](https://user-images.githubusercontent.com/12109622/91417230-2218b780-e859-11ea-9538-87d5d507c994.png) They cause the following on my computer - although manually installed Cascadia Code and Cascadia Mono fonts appear properly both here: ![image](https://user-images.githubusercontent.com/12109622/91417650-cbf84400-e859-11ea-8db6-611a7adabe92.png) and here: ![image](https://user-images.githubusercontent.com/12109622/91417604-bbe06480-e859-11ea-96e4-d8fb69ca6116.png) they are not visible here: ![image](https://user-images.githubusercontent.com/12109622/91417386-5be9be00-e859-11ea-9615-af5a91feef78.png) nor VSCode can use them at all. They *are* visible in the new Control Panel, however: ![image](https://user-images.githubusercontent.com/12109622/91417950-2ee9db00-e85a-11ea-9460-e5699d916beb.png) and are properly identified as coming with a package: ![image](https://user-images.githubusercontent.com/12109622/91417998-3c9f6080-e85a-11ea-8134-e20b59bb6600.png) The moment I delete those registry entries, the old Windows Fonts window shows them as available and VS Code uses them. In my mind this is definately some Windows issue :-) These are the only packages which have explicit fonts so it kind of figures why this is not working in all programs. I have to say that Notepad sees them, MS Word sees them as well. I wouldn't be surprised if the Windows guys built this in, but half the software either doesn't know it exists or doesn't implement it properly.
Author
Owner

@Shayan-To commented on GitHub (Aug 10, 2024):

I burned almost my entire day trying to figure out where the buggy versions of Cascadia fonts are coming from. No search query I tried pointed me to HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts (Thanks @BladeMF!) and at last I found the font paths using ProcMon (and only then I could find this issue).

Also, Windows 10's Font Settings inside the new Windows settings shows these fonts, but upon clicking on them, it crashes and exits. (This only happens if the only version of this font available is the one installed by Windows Terminal. If other versions exist, it can uninstall them, but then it crashes immediately and keeps crashing when I reopen it and click on the [now uninstalled] Cascadia fonts.)

@Shayan-To commented on GitHub (Aug 10, 2024): I burned almost my entire day trying to figure out where the buggy versions of Cascadia fonts are coming from. No search query I tried pointed me to `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts` (Thanks @BladeMF!) and at last I found the font paths using ProcMon (and only then I could find this issue). Also, Windows 10's Font Settings inside the new Windows settings shows these fonts, but upon clicking on them, it crashes and exits. (This only happens if the only version of this font available is the one installed by Windows Terminal. If other versions exist, it can uninstall them, but then it crashes immediately and keeps crashing when I reopen it and click on the [now uninstalled] Cascadia fonts.)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#4161