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:
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.
-->
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
choose any fontFace in settings.json, save but font remains unchanged
font changes, powerline characters rendered for Nerd fonts.
Nothing about the font changes
Hot issue. Two same bugs are filed one after another. :)
See #6605
I've found that there is a registry key for each of the Windows Terminal apps, (regular and Preview):
ComputerHKEY_CURRENT_USERSOFTWAREMicrosoftWindows NTCurrentVersionFontsMicrosoft.WindowsTerminal_1.0.1401.0_x64__8wekyb3d8bbwe
that has three entries:
The Value data:
(C:Program_FilesWindowsAppsMicrosoft.WindowsTerminal_1.0.1401.0_x64__8wekyb3d8bbweCascadiaMono.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 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.
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:UserstfethOneDriveDocumentsFonts_Power_LineCascadiaMonoPL.ttf. Try something similar for Iosevka, no joy.
@intractabilis I've installed the font system wide but to no avail.
@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.
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
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:
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.
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.
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
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!
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!)
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.
Ah, the aforementioned issue is actually #1017 - Display a dialog when the user selects an invalid font