What is the full list of all font families?
As of version 10.1 you can use $FontFamilies
.
From the documentation:
$FontFamilies
gives the list of the font families available to the Wolfram System.
For me $FontFamilies
yields an accurate representations on the fonts I have installed on my system (v10.3.1 on Win10).
On a Windows system, the solution suggested in this answer
fontlist = FE`Evaluate[FEPrivate`GetPopupList["MenuListFonts"]]
gives the FontFamily
s in the form of rules:
fontlist[[;; 5]]
{"Agency FB" -> "Agency FB", "Aharoni" -> "Aharoni", "Algerian" -> "Algerian", "Amienne" -> "Amienne", "Andalus" -> "Andalus"}
and the list of font families can be obtained by taking the first Part
s of the elements in fontlist
:
fontlist[[;; 5]][[All,1]]
{"Agency FB", "Aharoni", "Algerian", "Amienne", "Andalus"}
As noted by @m_goldberg in the comments above, one gets tuples of FontFamily
, FontWeight
and FontSlant
on a Mac system. The output is similar to what one gets on a Windows system from the following code:
fontlistMac = Thread[# -> #] &[Join @@ ({#, StringJoin[{#, " ", "Bold"}],
StringJoin[{#, " ", "Italic"}],
StringJoin[{#, " ", "Bold", " ", "Italic"}]} & /@
fontlist[[;; 5]][[All, 1]])];
Panel[%]
So, to get the list of FontFamily
s without duplication, one needs to filter the result using something like
DeleteDuplicates[StringTrim@StringReplace[#, "Bold" | "Italic" :> ""] & /@
macFntLst[[All, 1]]]
{"Agency FB", "Aharoni", "Algerian", "Amienne", "Andalus"}