假设有一个 .ttf (True Type Font) 文件。你可以通过点击在 Windows 上安装它。这个字体的真实名称不是文件名中 .tff 前面的文本(比方说 SuperFont.ttf => 所以名称不是 "SuperFont" - 可能是,但大多数情况下不是)。我想读取 .tff 文件(如何?)并获取字体名称(而不必安装字体)。有什么建议吗?
您需要将字体添加到私有集合 (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
这里是另外一段代码,可以提取字体名称而不使用System.Drawing dll
foreach (FontFamily fontFamily in Fonts.GetFontFamilies("file:///D:/MyFonts/"))
{
string name = fontFamily .ToString().Split('#')[fontFamily .ToString().Split('#').Count() - 1];
}
这是一种临时的字体安装,不会影响系统已安装的字体库。
" 这里的安装基本上意味着“载入”。 - Matt Razza