【问题标题】:How to get a font file name?如何获取字体文件名?
【发布时间】:2011-09-14 04:45:30
【问题描述】:

我已经写了这段代码:

List<string> fontNames = new List<string>();
foreach (FontFamily font in FontFamily.Families)
{
    fontNames.Add(font.Name);
}

要获取字体名称,但是如果您想将字体复制到另一个文件夹,我将如何获取字体的文件名以便进行复制操作?

谢谢。

【问题讨论】:

  • 您尝试过使用BaseURI 属性吗? msdn.microsoft.com/en-us/library/…
  • 我使用的是 .net 2。不支持...
  • @Xeon06 似乎是一些 WPF 功能。保守一点,我认为他只是指 WinForms。
  • 然后升级你的 .NET 版本。
  • 我正在创建一个类库以在另一个应用程序中使用。

标签: c# fonts


【解决方案1】:

如果您能够访问注册表,那么您可以从键中获取文件名:'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts',基本上每个字体文件都放在 C:\ Windows\Fonts,除非在别处提及。

【讨论】:

    【解决方案2】:

    在 CP 上有一个针对 getting a filename from a HFONT GDI+ font handle 的 C++ 解决方案。

    您可以先使用Font.ToHfont() method 获取字体句柄,然后使用提到的CP 文章中的代码。当然,这需要使用一些 PInvoke 将 C++ 代码重写为 C#。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-25
      • 2012-08-06
      • 2011-01-14
      • 1970-01-01
      • 2011-06-02
      相关资源
      最近更新 更多