获取.ttf文件的字体名称

假设有一个.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的情况下提取fontname的代码

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