Microsoft's operating systems already include a number of fonts. However, if users want to install their own fonts on Windows 10 or Windows 11, there are several options to do so. A solution based on Group Policy Preferences can be used for the central distribution of fonts.

There are several reasons for installing additional fonts. For example, you may need them for a marketing brochure if the layout is to stand out from the usual appearance. Companies may also prefer to choose a specific font for their corporate design.

Focus on user installation

Microsoft has taken a liberal approach in allowing any user to install fonts without elevated privileges. In earlier versions of the operating system, you were still required to have administrative privileges to do this.

Where fonts are concerned, admins need only make commonly required fonts available on PCs. In addition, they can block fonts outside the default directory using a GPO (Computer Configuration > Administrative Templates > System > Mitigation Options > Untrusted Font Blocking).

Setting to block untrusted fonts

Setting to block untrusted fonts

Different sources

Even if you limit yourself to a simple scenario with TrueType fonts, you will quickly notice that the management of fonts in Windows is inconsistent and relatively confusing.As in earlier versions of the operating system, it is still possible to download a TTF file from any source, preview it by double-clicking, and then install it.

The conventional installation stores the fonts under C:\windows fonts

The conventional installation stores the fonts under C:\windows fonts

The font file then ends up in the %systemroot%\Fonts directory, and Windows also stores a copy under %localappdata%\Microsoft\Windows\Fonts. In addition, it registers the font file under HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Fonts, with the entry pointing to the TTF file in the %localappdata% directory.

Registry entries for user specific fonts

Registry entries for user specific fonts

If you execute the Install for all users command from the context menu of the font file, then you will need administrative rights.In this case, the registry entry is created under HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Fonts, where it then points to the file in the font directory at %systemroot%.

Fonts can be installed globally or per user

Fonts can be installed globally or per user

Installing fonts from the Microsoft Store

Another source for fonts in Windows 10 and 11 is the Microsoft Store. The manufacturer offers a whole range of free TrueType fonts there. The easiest way to get them is to follow the corresponding link in the Settings app under Personalization > Fonts.

Management of fonts from different sources in the Settings app

Management of fonts from different sources in the Settings app

Microsoft provides fonts in an APPX package like the Store apps. Since APPX has its own installation mechanism, the fonts from the Store never appear under %systemroot%\fonts or in the user profile under %localappdata%. They are managed via the Settings app, the Store app, or PowerShell.

Free fonts in the Microsoft Store

Free fonts in the Microsoft Store

Since the new package manager winget has been able to install apps from the Store for some time now, you would think it would be suitable for adding fonts. However, it is currently incapable of doing so.

Fonts as optional features

If you need non-European fonts, for example, for Arabic or Japanese, you can add them as WindowsCapability. PowerShell is the tool of choice. The first step is to display the available fonts as follows:

Get-WindowsCapability -Online | where name -like \*font\*

Then add the desired font, in this example Arabic, as follows:

Add-WindowsCapability -Online -Name Language.Fonts.Arab~~~und-ARAB~0.0.1.0

Distributing fonts using Group Policy Preferences

While group policy does not have its own mechanism for installing fonts, you can use Group Policy Preferences to copy TTF files to %systemroot%\font and set the registry entry under HKLM:\.

To do so, install the font on the local machine with administrative rights for all users to get the desired value in the registry. Then create a new GPO, open it in the editor, and go to Computer Configuration > Preferences > Windows settings > Registry.

Adding the registry key for the font file to the GPO

Adding the registry key for the font file to the GPO

From the context menu, select New > Registration Wizard. You can use it to click through to the required key under HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Fonts.

To copy the TTF file to the Fonts directory of the target computers, place it on a network share.

Transfer the font file to the target computers using Group Policy Preferences

Transfer the font file to the target computers using Group Policy Preferences

Then edit the GPO again and go to Computer Configuration > Preferences > Windows Settings > Files. There, you run the command New > File, and enter the source and destination files.

Conclusion

Fonts can be installed in Windows 10 and 11 from multiple sources in various ways. Common management is only available via the Settings app under Personalization. Non-European fonts cannot be installed there, but they can at least be removed.

Subscribe to 4sysops newsletter!

Overall, the focus of all the methods is on the installation of fonts by the user. If admins want to provide a font for all users, they can build a solution with Group Policy Preferences.

4 Comments
  1. Sumi 11 months ago

    I tried your GPO font method and it does not work for me 🙁 Am I doing something wrong?

  2. Mike 6 months ago

    Need to give “Domain Computers” read access to the source share and NTFS folder permissions where the TTF files are hosted when doing GPO rollout method FYI

  3. vlad 5 months ago

    These are not all options for installing fonts.
    Another option is to wrap the font in msi.
    For example, Silent Install Builder can wrap a font in an msi.
    and there are many similar google tools in help on request exe to msi or font to msi

  4. KT 1 month ago

    Note, in the screenshot above the text “Then edit the GPO again and go to Computer Configuration > Preferences > Windows Settings > Files. There, you run the command New > File, and enter the source and destination files.” the “Destination File” path is missing the file name. You will need to add the file name for this to work correctly.

Leave a reply

Please enclose code in pre tags

Your email address will not be published.

*

© 4sysops 2006 - 2023

CONTACT US

Please ask IT administration questions in the forums. Any other messages are welcome.

Sending

Log in with your credentials

or    

Forgot your details?

Create Account