C# 获取系统所有字体

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

C# 获取系统所有字体

唐宋元明清2188   2020-03-21 我要评论

获取已安装的所有字体列表

System.Drawing.FontFamily

1     StringBuilder str = new StringBuilder(2000);
2     InstalledFontCollection fonts = new InstalledFontCollection();
3     foreach (FontFamily family in fonts.Families)
4     {
5         str.Append(family.Name);
6         str.AppendLine();
7     }
8     ContentTextBlock.Text = str.ToString();

获取区域语言字体列表

System.Windows.Media.FontFamily

 1     StringBuilder str = new StringBuilder(2000);
 2     CultureInfo currentCulture = CultureInfo.CurrentUICulture;
 3     CultureInfo enUsCultureInfo = new CultureInfo("en-US");
 4     foreach (var family in Fonts.SystemFontFamilies)
 5     {
 6         foreach (var keyPair in family.FamilyNames)
 7         {
 8             var specificCulture = keyPair.Key.GetSpecificCulture();
 9             if (specificCulture.Equals(currentCulture) || specificCulture.Equals(enUsCultureInfo))
10             {
11                 if (keyPair.Key != null && !string.IsNullOrEmpty(keyPair.Value))
12                 {
13                     str.Append(keyPair.Value);
14                     str.AppendLine();
15                 }
16             }
17         }
18     }
19     ContentTextBlock.Text = str.ToString();

 注:有些电脑因系统缺陷或者系统更新冲突,导致System.Windows.Media.Fonts引用失败。所以建议加个异常捕获处理。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们