假设有一个 .ttf(True Type 字体)文件。您可以通过单击将其安装在 Windows 上。字体的真实名称不是 .tff 之前的文本(可以说 SuperFont.ttf => 所以名称不是“SuperFont” - 它可能是,但大多数情况下不是)。我想阅读 .tff (不知何故?)并获取字体的名称(不安装字体)。有任何想法吗?
问问题
13502 次
2 回答
26
您需要将字体添加到私有集合 ( PrivateFontCollection
),然后请求FontFamily
实例并获取其Name
属性。
像这样:
PrivateFontCollection fontCol = new PrivateFontCollection();
fontCol.AddFontFile(@"PATH TO FONT");
Console.WriteLine(fontCol.Families[0].Name);
您将需要命名空间:
using System.Drawing;
using System.Drawing.Text;
MSDN: PrivateFontCollection , FontFamily
于 2012-08-09T14:14:36.580 回答
3
这是另一个在不使用 System.Drawing dll 的情况下提取字体名称的代码
foreach (FontFamily fontFamily in Fonts.GetFontFamilies("file:///D:/MyFonts/"))
{
string name = fontFamily .ToString().Split('#')[fontFamily .ToString().Split('#').Count() - 1];
}
于 2014-01-15T10:12:50.573 回答