C# 获取系统字体的示例代码

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

System.Drawing.FontFamily

StringBuilder str = new StringBuilder(2000);
  InstalledFontCollection fonts = new InstalledFontCollection();
  foreach (FontFamily family in fonts.Families)
  {
    str.Append(family.Name);
    str.AppendLine();
  }
  ContentTextBlock.Text = str.ToString();

获取区域语言字体列表

System.Windows.Media.FontFamily

StringBuilder str = new StringBuilder(2000);
  CultureInfo currentCulture = CultureInfo.CurrentUICulture;
  CultureInfo enUsCultureInfo = new CultureInfo("en-US");
  foreach (var family in Fonts.SystemFontFamilies)
  {
    foreach (var keyPair in family.FamilyNames)
    {
      var specificCulture = keyPair.Key.GetSpecificCulture();
      if (specificCulture.Equals(currentCulture) || specificCulture.Equals(enUsCultureInfo))
      {
        if (keyPair.Key != null && !string.IsNullOrEmpty(keyPair.Value))
        {
          str.Append(keyPair.Value);
          str.AppendLine();
        }
      }
    }
  }
  ContentTextBlock.Text = str.ToString();

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

以上就是C# 获取系统字体的示例代码的详细内容,更多关于c# 获取字体的资料请关注呐喊教程其它相关文章!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。