我有一组带有不可预知文件名的字体文件,因此我无法从文件名中推断出真正的“字体系列”名称。因此,我需要读取字体元数据以提取真正的“字体系列”名称,以便呈现此字体文件。我在C#.NET 4.0 WinForms。
我见过函数GetFontInformation
,但我似乎无法找到相同的P / Invoke标头。我所拥有的只是C++ version,这很难弄明白。有什么想法吗?
我无法使用PrivateFontCollection
类为我解析字体文件的原因是,这些是 OTF 字体,而.NET / GDI +仅支持 TTF fonts!
答案 0 :(得分:5)
您需要向(PrivateFontCollection
)添加字体,然后请求FontFamily
并获取其Name
属性。
private static string GetFontNameFromFile(string filename)
{
PrivateFontCollection fontCollection = new PrivateFontCollection();
fontCollection.AddFontFile("path_to_font");
return fontCollection.Families[0].Name;
}
需要的命名空间:
using System.Drawing;
using System.Drawing.Text;
答案 1 :(得分:0)