Can't change fontFace in Windows Terminal #9164

Closed
opened 2026-01-31 01:47:36 +00:00 by claunia · 15 comments
Owner

Originally created by @tfer on GitHub (Jun 20, 2020).

Trying out Windows Terminal customization via settings.json. I found a profiles.json that follow the new conventions closely enough to work when pasted into settings.json, (I know it took because the theme changed). The problem is that changes to "fontFace" are not having any effect. I'm trying to use a nerd font for some powerline stuff, works in Powershell running in ConEmu but not in Windows Terminal. Here is the relevant portion of settings.json:

settings.txt
settings.txt

I get the same behavior in Windows Terminal Preview, which is supposed to be the least "bleeding edge" version.

Even trying non-nerd fonts for "fontFace" has no effect, however, "fontSize" will work.

-->

Environment

Platform ServicePack Version VersionString


Win32NT 10.0.19041.0 Microsoft Windows NT 10.0.19041.0

Windows Terminal version (if applicable):
Same behavior in both
MS store: Version: 1.0.1401.0
Preview : Version: 1.1.1671.0
Other software?
PS Profile runs:
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Paradox

Steps to reproduce

choose any fontFace in settings.json, save but font remains unchanged

Expected behavior

font changes, powerline characters rendered for Nerd fonts.

Actual behavior

Nothing about the font changes

Originally created by @tfer on GitHub (Jun 20, 2020). Trying out Windows Terminal customization via settings.json. I found a profiles.json that follow the new conventions closely enough to work when pasted into settings.json, (I know it took because the theme changed). The problem is that changes to "fontFace" are not having any effect. I'm trying to use a nerd font for some powerline stuff, works in Powershell running in ConEmu but not in Windows Terminal. Here is the relevant portion of settings.json: [settings.txt](https://github.com/microsoft/terminal/files/4807338/settings.txt) [settings.txt](https://github.com/microsoft/terminal/files/4807340/settings.txt) I get the same behavior in Windows Terminal Preview, which is supposed to be the least "bleeding edge" version. Even trying non-nerd fonts for "fontFace" has no effect, however, "fontSize" will work. --> # Environment Platform ServicePack Version VersionString -------- ----------- ------- ------------- Win32NT 10.0.19041.0 Microsoft Windows NT 10.0.19041.0 Windows Terminal version (if applicable): Same behavior in both MS store: Version: 1.0.1401.0 Preview : Version: 1.1.1671.0 Other software? PS Profile runs: Import-Module posh-git Import-Module oh-my-posh Set-Theme Paradox # Steps to reproduce choose any fontFace in settings.json, save but font remains unchanged # Expected behavior font changes, powerline characters rendered for Nerd fonts. # Actual behavior Nothing about the font changes
claunia added the Resolution-DuplicateProduct-Terminal labels 2026-01-31 01:47:36 +00:00
Author
Owner

@intractabilis commented on GitHub (Jun 20, 2020):

Hot issue. Two same bugs are filed one after another. :)
See #6605

@intractabilis commented on GitHub (Jun 20, 2020): Hot issue. Two same bugs are filed one after another. :) See #6605
Author
Owner

@tfer commented on GitHub (Jun 20, 2020):

I've found that there is a registry key for each of the Windows Terminal apps, (regular and Preview):

Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts\Microsoft.WindowsTerminal_1.0.1401.0_x64__8wekyb3d8bbwe

that has three entries:

  • (default)
  • Cascadia.tff
  • CascadiaMono.ttf

The Value data:
(C:\Program_Files\WindowsApps\Microsoft.WindowsTerminal_1.0.1401.0_x64__8wekyb3d8bbwe\CascadiaMono.ttf)

lead me to explore the containing folder, where two cascadia true type fonts are. If I could get 'CascadiaMono PL.ttf' copied in there, and created a new registry value, I believe it would work, but Windows 10 has that locked out.

@tfer commented on GitHub (Jun 20, 2020): I've found that there is a registry key for each of the Windows Terminal apps, (regular and Preview): Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts\Microsoft.WindowsTerminal_1.0.1401.0_x64__8wekyb3d8bbwe that has three entries: - (default) - Cascadia.tff - CascadiaMono.ttf The Value data: (C:\Program_Files\WindowsApps\Microsoft.WindowsTerminal_1.0.1401.0_x64__8wekyb3d8bbwe\CascadiaMono.ttf) lead me to explore the containing folder, where two cascadia true type fonts are. If I could get 'CascadiaMono PL.ttf' copied in there, and created a new registry value, I believe it would work, but Windows 10 has that locked out.
Author
Owner

@intractabilis commented on GitHub (Jun 20, 2020):

@tfer This is duplicate of #3257. You need to install CascadiaMono PL for all users. It's not a Windows Terminal bug. It's a Windows font's cache issue.

@intractabilis commented on GitHub (Jun 20, 2020): @tfer This is duplicate of #3257. You need to install CascadiaMono PL for all users. It's not a Windows Terminal bug. It's a Windows font's cache issue.
Author
Owner

@tfer commented on GitHub (Jun 20, 2020):

I was able to use 'Cascadia Mono PL' by adding a registry string at the above registry path: Value name: CascadiaMonoPL.ttf Value data: C:\Users\tfeth\OneDrive\Documents\Fonts_Power_Line\CascadiaMonoPL.ttf. Try something similar for Iosevka, no joy.

@tfer commented on GitHub (Jun 20, 2020): I was able to use 'Cascadia Mono PL' by adding a registry string at the above registry path: Value name: CascadiaMonoPL.ttf Value data: C:\Users\tfeth\OneDrive\Documents\Fonts_Power_Line\CascadiaMonoPL.ttf. Try something similar for Iosevka, no joy.
Author
Owner

@eternalphane commented on GitHub (Jun 23, 2020):

@intractabilis I've installed the font system wide but to no avail.

@eternalphane commented on GitHub (Jun 23, 2020): @intractabilis I've installed the font system wide but to no avail.
Author
Owner

@zadjii-msft commented on GitHub (Jun 23, 2020):

@eternalphane does rebooting after installing the font system-wide fix it for you? I'd really love to close this as a dupe of #6605/#3257, especially considering OP's original bug seems to have gone away, but I want to make sure we're thorough here.

@zadjii-msft commented on GitHub (Jun 23, 2020): @eternalphane does rebooting after installing the font system-wide fix it for you? I'd really love to close this as a dupe of #6605/#3257, especially considering OP's original bug seems to have gone away, but I want to make sure we're thorough here.
Author
Owner

@tfer commented on GitHub (Jun 23, 2020):

I'm dealing with the fact that I installed all the Nerd fonts locally and have to get rid of them and install them again for all users. I tried with one font, Iosevka Nerd Font (Regular) installed for all users, but that wasn't enough.

Unsure of what are the rules of naming the fontFace key's values, e.g. relation with the font family or specific font file? spaces like you get when you browse with windows, or camelcase like the files name? Unclear from the default fonts as they are single file per family fonts.

From the above don't know if I named the Iosevka font correctly in my settings and perhaps that was why it wasn't used. Plus I don't know if it takes the font family name and makes the bold, italic, ect. availible in Terminal or just computes pseudo fonts off regular.

I'm using the methods on this webpage to clear out the local fonts, https://www.tenforums.com/tutorials/127007-delete-uninstall-fonts-windows-10-a.html#option5, but still haven't determined what method I'm going to use to reinstall them for all users. Hoping to get to it today.

I'll let you know the results

@tfer commented on GitHub (Jun 23, 2020): I'm dealing with the fact that I installed all the Nerd fonts locally and have to get rid of them and install them again for all users. I tried with one font, Iosevka Nerd Font (Regular) installed for all users, but that wasn't enough. Unsure of what are the rules of naming the fontFace key's values, e.g. relation with the font family or specific font file? spaces like you get when you browse with windows, or camelcase like the files name? Unclear from the default fonts as they are single file per family fonts. From the above don't know if I named the Iosevka font correctly in my settings and perhaps that was why it wasn't used. Plus I don't know if it takes the font family name and makes the bold, italic, ect. availible in Terminal or just computes pseudo fonts off regular. I'm using the methods on this webpage to clear out the local fonts, <https://www.tenforums.com/tutorials/127007-delete-uninstall-fonts-windows-10-a.html#option5>, but still haven't determined what method I'm going to use to reinstall them for all users. Hoping to get to it today. I'll let you know the results
Author
Owner

@tfer commented on GitHub (Jun 24, 2020):

I did a right-click => "Install for all Users" on the nerd font file: "Meslo LG L Regular Nerd Font Complete Windows Compatible.ttf", then used: fontFace: "Meslo LG L Regular Nerd Font Complete Windows Compatible" in the settings.json . Got no errors from Windows Terminal when I saved the edit, but also did not see the font change.

Might be helpful to have error messages like:

  • Invalid font name, falling back to default
  • Font not found installed for all users, falling back to default
@tfer commented on GitHub (Jun 24, 2020): I did a right-click => "Install for all Users" on the nerd font file: "Meslo LG L Regular Nerd Font Complete Windows Compatible.ttf", then used: fontFace: "Meslo LG L Regular Nerd Font Complete Windows Compatible" in the settings.json . Got no errors from Windows Terminal when I saved the edit, but also did not see the font change. Might be helpful to have error messages like: - Invalid font name, falling back to default - Font not found installed for all users, falling back to default
Author
Owner

@tfer commented on GitHub (Jun 24, 2020):

Okay, I got this to work for Meslo, if you double-click the filename of the font you "installed for all" to get the font sample view, the name to use for the "fontFace" Key, is below the the two buttons in the top of the window, (Print -- Un/Install), where it says Font name: xxxxxxx xxxx xxx. Include the spaces as is, don't use quotes.

@tfer commented on GitHub (Jun 24, 2020): Okay, I got this to work for Meslo, if you double-click the filename of the font you "installed for all" to get the font sample view, the name to use for the "fontFace" Key, is below the the two buttons in the top of the window, (Print -- Un/Install), where it says Font name: xxxxxxx xxxx xxx. Include the spaces as is, don't use quotes.
Author
Owner

@tfer commented on GitHub (Jun 24, 2020):

I went back and retried Iosevka, still doesn't work in Windows Terminal, though it does in Conemu.

Note: ConEmu has things to offer version 2.0 settings, a drop down with all availible fonts, "Installed for all User" font families names are bolded, current user font families are not. you can use the up down arrows to see what changing the font will look like in the currently hilighted font family. Check boxes for bold or italic.

Guest I can live with this as I now have working PowerLine stuff, may explore to see which other Nerd fonts I can get working.

If you want to close this, go ahead.

@tfer commented on GitHub (Jun 24, 2020): I went back and retried Iosevka, still doesn't work in Windows Terminal, though it does in Conemu. Note: ConEmu has things to offer version 2.0 settings, a drop down with all availible fonts, "Installed for all User" font families names are bolded, current user font families are not. you can use the up down arrows to see what changing the font will look like in the currently hilighted font family. Check boxes for bold or italic. Guest I can live with this as I now have working PowerLine stuff, may explore to see which other Nerd fonts I can get working. If you want to close this, go ahead.
Author
Owner

@DHowett commented on GitHub (Jun 26, 2020):

Really sorry about the font face versus font family problem. We're tracking font improvements over in #1790, and specifically font family support in #1163. I appreciate you following up 😄

This will also touch on #1564 and how we present fonts there.

/dup #1163

@DHowett commented on GitHub (Jun 26, 2020): Really sorry about the font face versus font family problem. We're tracking font improvements over in #1790, and specifically font family support in #1163. I appreciate you following up :smile: This will also touch on #1564 and how we present fonts there. /dup #1163
Author
Owner

@ghost commented on GitHub (Jun 26, 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 (Jun 26, 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!
Author
Owner

@DHowett commented on GitHub (Jun 26, 2020):

We could also warn better for missing fonts. There's a workitem open for it, I just can't find it (and I don't expect our community to be able to, either!)

@DHowett commented on GitHub (Jun 26, 2020): We could also warn better for missing fonts. There's a workitem open for it, I just can't find it (and I don't expect our community to be able to, either!)
Author
Owner

@mangelozzi commented on GitHub (Aug 13, 2020):

We could also warn better for missing fonts. There's a workitem open for it, I just can't find it (and I don't expect our community to be able to, either!)

Try to test some font issues, and with it silently falling back to its own font, its hard to be deterministic about what is going on.

@mangelozzi commented on GitHub (Aug 13, 2020): > We could also warn better for missing fonts. There's a workitem open for it, I just can't find it (and I don't expect our community to be able to, either!) Try to test some font issues, and with it silently falling back to its own font, its hard to be deterministic about what is going on.
Author
Owner

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

Ah, the aforementioned issue is actually #1017 - Display a dialog when the user selects an invalid font

@zadjii-msft commented on GitHub (Aug 13, 2020): Ah, the aforementioned issue is actually #1017 - Display a dialog when the user selects an invalid font
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#9164