获取.ttf文件的字体名称

时间:2012-08-09 14:05:32

标签: c# .net fonts

假设有一个.ttf(True Type Font)文件。您可以通过单击将其安装在Windows上。字体的真实名称不是.tff之前的文本(比如说SuperFont.ttf =>所以名称不是“SuperFont” - 它可能是,但大部分都不是)。我想阅读.tff(不知何故?)并得到字体的名称(不安装字体)。有什么想法吗?

2 个答案:

答案 0 :(得分:22)

您需要将字体添加到私人收藏集(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:PrivateFontCollectionFontFamily

答案 1 :(得分:3)

这是另一个不使用System.Drawing dll

提取fontname的代码
foreach (FontFamily fontFamily in Fonts.GetFontFamilies("file:///D:/MyFonts/"))
{
    string name = fontFamily .ToString().Split('#')[fontFamily .ToString().Split('#').Count() - 1];
}