How can I list the family names of installed fonts on Windows?
Any command line utility or any registry paths?
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:
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
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
Another way, using the PresentationCore
assembly:
Add-Type -AssemblyName PresentationCore
[Windows.Media.Fonts]::SystemFontFamilies | Select-Object -Property Source
(tested on Windows 10)
[Windows.Media.Fonts]::SystemFontFamilies | %{ $_.FamilyNames["en-us"] }
brings that other name (substitute your language if needed).
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
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
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