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 FontFamilys 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 Parts 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[%]

enter image description here

So, to get the list of FontFamilys 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"}