我决定采用固定列表方法。它不需要Win2D。
如果有人感兴趣,这是一份在支持UWP应用程序的所有Windows 10版本中保证可用的字体列表:
从
https://msdn.microsoft.com/en-us/library/windows/apps/hh700394.aspx解析而来。
public static string[] FontNames = {
"Arial", "Calibri", "Cambria", "Cambria Math", "Comic Sans MS", "Courier New",
"Ebrima", "Gadugi", "Georgia",
"Javanese Text Regular Fallback font for Javanese script", "Leelawadee UI",
"Lucida Console", "Malgun Gothic", "Microsoft Himalaya", "Microsoft JhengHei",
"Microsoft JhengHei UI", "Microsoft New Tai Lue", "Microsoft PhagsPa",
"Microsoft Tai Le", "Microsoft YaHei", "Microsoft YaHei UI",
"Microsoft Yi Baiti", "Mongolian Baiti", "MV Boli", "Myanmar Text",
"Nirmala UI", "Segoe MDL2 Assets", "Segoe Print", "Segoe UI", "Segoe UI Emoji",
"Segoe UI Historic", "Segoe UI Symbol", "SimSun", "Times New Roman",
"Trebuchet MS", "Verdana", "Webdings", "Wingdings", "Yu Gothic",
"Yu Gothic UI"
};
特别是对于我的应用程序,我从此列表中删除了一些不感兴趣的内容,例如
Javanese Text Regular Fallback font for Javanese script
以及那些
Microsoft *
亚洲语言和
Segoe MDL2 Assets
以及
(Web|Wing)dings
,这些仅用于图标。