33

How can I list the family names of installed fonts on Windows?

Any command line utility or any registry paths?

phuclv
  • 30,396
  • 15
  • 136
  • 260

6 Answers6

47

In PowerShell you can get the Font families in two lines, one to load the .NET reflection and the second actually gets the font families:

[System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
(New-Object System.Drawing.Text.InstalledFontCollection).Families

The outlook looks similar to:

sample output

phuclv
  • 30,396
  • 15
  • 136
  • 260
14

Installed fonts are listed in HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts so you can check it with regedit or just run the below command

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /s

Alternatively run this in PowerShell

Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts'

This gives you the real font names along with their corresponding font files, unlike dir C:\windows\fonts\*.* which

  • only lists font file names and you won't know what things like GenBkBasB.ttf or FRABKIT.TTF represent
  • doesn't care about whether a font file in that folder is registered and usable or not
  • doesn't list user-installed fonts at all because obviously you can't copy files there without administrator rights

Sample output:

PS C:\> reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /s `
| select -First 12

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts Arial (TrueType) REG_SZ arial.ttf Arial Black (TrueType) REG_SZ ariblk.ttf Arial Bold (TrueType) REG_SZ arialbd.ttf Arial Bold Italic (TrueType) REG_SZ arialbi.ttf Arial Italic (TrueType) REG_SZ ariali.ttf Bahnschrift (TrueType) REG_SZ bahnschrift.ttf Calibri (TrueType) REG_SZ calibri.ttf Calibri Bold (TrueType) REG_SZ calibrib.ttf Calibri Bold Italic (TrueType) REG_SZ calibriz.ttf Calibri Italic (TrueType) REG_SZ calibrii.ttf PS C:> Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts' ` | select -First 12

Arial (TrueType) : arial.ttf Arial Black (TrueType) : ariblk.ttf Arial Bold (TrueType) : arialbd.ttf Arial Bold Italic (TrueType) : arialbi.ttf Arial Italic (TrueType) : ariali.ttf Bahnschrift (TrueType) : bahnschrift.ttf Calibri (TrueType) : calibri.ttf Calibri Bold (TrueType) : calibrib.ttf Calibri Bold Italic (TrueType) : calibriz.ttf Calibri Italic (TrueType) : calibrii.ttf Calibri Light (TrueType) : calibril.ttf Calibri Light Italic (TrueType) : calibrili.ttf Cambria & Cambria Math (TrueType) : cambria.ttc

phuclv
  • 30,396
  • 15
  • 136
  • 260
8

Another way, using the PresentationCore assembly:

Add-Type -AssemblyName PresentationCore
[Windows.Media.Fonts]::SystemFontFamilies | Select-Object -Property Source

(tested on Windows 10)

phuclv
  • 30,396
  • 15
  • 136
  • 260
arielCo
  • 185
  • 1
  • 7
1

These links will list all the font families installed on your computer with preview while online.

If you need you can save the page as *.mht or *.html format from any browser for offline use

Or download FontViewOK which is a portable freeware and preview all installed fonts, even without an internet connection

phuclv
  • 30,396
  • 15
  • 136
  • 260
0

You can use the command "fc-list" (FontConfig) which is included in MikeTex (as an example). Just run the command as:

fc-list

Or if you want to pipe it to the clipboard (much faster)

fc-list | clip
0
dir C:\windows\fonts\*.* > C:\users\<my_username>\desktop\fontlist.txt

Alternatively, something like this will do what you need it to do :)

Hope this helps

Fazer87
  • 12,965