Я нашел это давно в MathGroup (но сейчас не могу найти там точную ссылку).
fontlist = FE`Evaluate[FEPrivate`GetPopupList["MenuListFonts"]]
fontlist /. Rule[x_, y_] -> Style[x, 20, FontFamily -> y]

РЕДАКТИРОВАТЬ: Источник - Джон Фульц из Wolfram.Вот ссылка MathGroup: V7 FrontEndTokens
РЕДАКТИРОВАТЬ 2: В окнах, если у вас нет выделенного выделения, по умолчанию кажется, что курсор перемещается после команды FrontEndExecute[FrontEndToken["FontPanel"]]
выполнен.По умолчанию это следующая ячейка.Самая первая клавиатурная запись, которую вы вводите после возврата в диалоге, оформляется с помощью выбора шрифта, который вы делаете в диалоге шрифта.Таким образом, если вы выполните
SelectionMove[InputNotebook[], After, Notebook];
FrontEndExecute[FrontEndToken["FontPanel"]]
и начнете печатать, настройки вашего шрифта будут применены.Однако любое движение мыши до ввода с клавиатуры нарушает настройки шрифта.
РЕДАКТИРОВАТЬ 3: Использование идеи Сильвии об использовании невидимой записной книжки, но вместо этого запись в новую ячейку в текущей записной книжке также работает.Шаги: Переместите выделение в новую закрытую ячейку, напишите что-нибудь, вызовите панель шрифтов, запишите параметры шрифта ячейки, удалите ячейку и верните захваченные параметры шрифта:
fontPanelReturn[] := {SelectionMove[EvaluationNotebook[], After, Notebook];
NotebookWrite[EvaluationNotebook[], Cell["text", ShowCellBracket -> False,
CellOpen -> False, Magnification -> 0]];
SelectionMove[EvaluationNotebook[], Before, CellContents];
SelectionMove[EvaluationNotebook[], All, Word];
FrontEndExecute[FrontEndToken["FontPanel"]];
fontops =
AbsoluteOptions[
NotebookSelection[EvaluationNotebook[]], {FontColor, FontFamily,
FontProperties, FontSize, FontSlant, FontTracking,
FontVariations, FontWeight, Background}];
NotebookDelete[EvaluationNotebook[]];
SelectionMove[EvaluationNotebook[], Next, Cell]; fontops}
Использование как
fontPanelReturn[]
дает, например,
{{Background -> None, FontColor -> Automatic,
FontFamily -> "Trebuchet MS",
FontProperties -> {"FontMonospaced" -> Automatic,
"FontSerifed" -> Automatic, "ScreenResolution" -> 72},
FontSize -> 24, FontSlant -> "Italic", FontTracking -> "Plain",
FontVariations -> {"CapsType" -> Normal,
"CompatibilityType" -> Normal, "Masked" -> False,
"Outline" -> False, "RotationAngle" -> 0, "Shadow" -> False,
"StrikeThrough" -> False, "Underline" -> False},
FontWeight -> "Bold"}}
РЕДАКТИРОВАТЬ 4: вы получите тот же результат, если вы измените код Сильвии так, что вы выбираете ячейку перед вызовом диалогового окна панели шрифтов изатем захватывает параметры шрифта ячейки (а не записной книжки):
inputFontSettings[] :=
Module[{doc, opt},
doc = CreateDocument[TextCell["text"], WindowSelected -> False, Visible -> False];
SelectionMove[doc, Next, Cell];
FrontEndTokenExecute[doc, "FontPanel"];
opt = AbsoluteOptions[
NotebookSelection[doc], {FontColor, FontFamily, FontProperties,
FontSize, FontSlant, FontTracking, FontVariations, FontWeight,
Background}]; NotebookClose[doc]; opt]