terminal: 'fontFace' not working for any profile after system reboot.

Environment

  • Microsoft Windows [Version 10.0.18362.418]
  • Windows Terminal (Preview) Version: 0.5.2762.0
  • Ubuntu subsystem with Oh My Zsh using the agnoster theme with Powerline Fonts installed.

Steps to reproduce

  1. Setup Windows Terminal (With Ubuntu subsystem)
  2. Set the fontFace for various profiles (Tested with powershell, cmd and Ubuntu WSL) Note, that everything was working as intended up to here.
  3. Restart Windows.

Expected behavior

The font setting being applied: grafik grafik

Actual behavior

After restarting Windows fontFace is being ignored: grafik grafik

Additional Info

My current profiles.json: profiles.txt

About this issue

  • Original URL
  • State: open
  • Created 5 years ago
  • Reactions: 29
  • Comments: 52 (8 by maintainers)

Most upvoted comments

I seem to have fixed this issue on Windows 11 latest updates as of 7/4/2023:

windows key -> services -> services (local) -> Windows Font Cache Service

In this window, select tab “Log On”, and use “Local System Account”, also check “Allow service to interact …”

Click “Ok”

Then stop and start service

Yes, installing font system wide fixes the issue.

This is for anyone else who Googles up this issue. Using “Install for all users” was the solution for me as well.

However, go to Start -> Settings -> Personalisation -> Fonts and search for the font. The name there is the one you want to use. As for me Ubuntu Mono Nerd Font Complete Mono Windows Compatible did not work, but in the Fonts directory it shows as UbuntuMono NF and this has correctly worked between reboots and shutdowns.

Cheers @luizwhite @Riiskyy @tebeco big ups. I almost resorted to going to page 2 on Google.

@suavelizard one of the workaround is to install the font System Wide and not for the user only. It should properly persist then (this is not optimal but it has fixed this behavior for me)

Okay so housecleaning time. Internally, this is tracked by MSFT:42103854.

After the last couple PRs we did in this area, we’re pretty confident there’s nothing more that we (the Terminal team) can do on our side here to mitigate this.

This is pretty clearly still an issue. I’m bumping the internal thread to see how we can get this fixed in the OS.

I’ve decided that even though there’s nothing more we (the Terminal team) can do to fix this on our side, I’m going to leave this one open. Folks have a hard enough time searching for existing open issues, let alone closed ones. This is super painful when it does hit, so I think it warrants being left open regardless of if there’s any work we can do to fix it.

I have no idea when this’ll be fixed, but I’ll make sure to share any relevant internal updates here in this thread.

Please use upvotes/reactions if you agree with a post. A lot of people are subscribed to this thread and each confirmation pings everyone every time, so please avoid doing that. I’m collapsing the above comments as off-topic.

I’m wondering if someone who can reproduce this would be willing to help me narrow it down by doing an experiment. Here is what I would like you to try if you are willing:

  1. Install the font or fonts the same way as before
  2. Check if registry values exist for the fonts (see below)
  3. Check if the font(s) appear in Settings / Personalization / Fonts
  4. Reboot
  5. Repeat steps 2-3

@niklasb-ms

This issue never affected me until W11 Update 22H2. Now it happens every time I reboot.

  1. I clone https://github.com/ryanoasis/nerd-fonts. And run .\install.ps1 -WindowsCompatibleOnly Meslo
  2. Registry values exist.
  3. Fonts show here.
  4. Reboot

2.a. Registry values exist. I ran a diff on both output files and they are exactly the same. 2.b. Note also that font files exist in “C:\Users\simsrw73\AppData\Local\Microsoft\Windows\Fonts”, both before and after reboot. 3. Font does NOT appear in Settings.

Reinstalling the fonts corrects the issue until next reboot. And as reported above by @Stadler76, restarting the Windows Font Cache Service and restarting Terminal corrects the issue until next reboot.

This issue is driving me crazy. I will run any diagnostic you need, incl allowing remote access to see this resolved.

Output of the two commands after clean install of fonts (manually deleted all previous references to the font in registry and font files) and after reboot:

  • reg.exe export "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" <file>
  • fd --glob *meslo* C:\Users\simsrw73\AppData\Local\Microsoft\Windows\Fonts > <file>

In both commands, output of before & after reboot are identical, but fonts no longer show in settings and are not available to use until reinstalled or font cache service is restarted (gsudo Restart-Service -Name "FontCache").

font-listings.zip

I don’t believe it… It really fixes the problem when i right-click the .ttf and “Install for all users” Simple as that, after reboot all terminals looking fine with my OMZ powerlevel10k in Windows Terminal or VScode

Ok, same issue after a restart. I’ve tried to install only a single set: DejaVu Sans Mono for Powerline. It worked, till I’ve restarted Windows.

In short: Reinstalling the font fixes it and restarting Windows breaks it again. Currently I’m too tired to hunt that issue down any more.

Ok, reinstalling the terminal and or restarting Windows didn’t work. What ‘seems’ to do the trick was deleting all newly installed Powerline fonts and reinstall them: grafik To reinstall all of them I’ve cloned the repo https://github.com/powerline/fonts with GitHub Desktop and ran the install.ps1 in powershell (Used Set-ExecutionPolicy Bypass before running that script).

Next will be another restart or two to see, if it breaks again.

I seem to have fixed this issue on Windows 11 latest updates as of 7/4/2023:

windows key -> services -> services (local) -> Windows Font Cache Service

In this window, select tab “Log On”, and use “Local System Account”, also check “Allow service to interact …”

Click “Ok”

Then stop and start service

Yoppe seems to work.

The only workaround is to restart the FontCache service. I setup task scheduler to do this at startup

  1. Run taskschd
  2. Action menu -> Create Basic Task
  3. Name = Restart Font Cache
  4. Next
  5. Run task “When I log on”
  6. Next
  7. Action to perform = Start a program
  8. Next
  9. Program = powershell
  10. Add arguments = -WindowStyle Hidden -Command “Restart-Service -Name ‘FontCache’”
  11. Next
  12. Check “Open the Properties dialog…”
  13. Finish
  14. On General tab, under Security options, check “Run with highest privileges”
  15. On the Triggers tab, Edit the “At log on” trigger, and change it to “Any user”
  16. Click OK

Writing this here as well, since I accidentall wrote my reply in the closed #12587 issue, which looks like a duplicate.

For me it also started after the Window 11 22H2 update. It seems like it looses all user installed fonts.

The old control panel still shows the fonts, but they are missing from the new set settings Personalization/Fonts and Windows programs.

Like above, restarting the Windows Font Cache Service, seems to make it work again.

Pardon my ignorance, because this is still an issue for me. How do I install a font system wide? I installed the fonts to C:\Windows\Fonts but after rebooting, Windows Terminal says it can no longer find the fonts. I did not have this issue before installed 2H22.

This is for anyone else who Googles up this issue. Using “Install for all users” was the solution for me as well.

However, go to Start -> Settings -> Personalisation -> Fonts and search for the font. The name there is the one you want to use. As for me Ubuntu Mono Nerd Font Complete Mono Windows Compatible did not work, but in the Fonts directory it shows as UbuntuMono NF and this has correctly worked between reboots and shutdowns.

Cheers @luizwhite @Riiskyy @tebeco big ups. I almost resorted to going to page 2 on Google.

Oops!It works! "go to Start -> Settings -> Personalisation -> Fonts and search for the font " which can get the real name,so the icons won’t just be the “□”