简体   繁体   中英

Get font name of .ttf file

Lets say there is a .ttf (True Type Font) file. You can install it on windows with a click. The real name of the font is not the text that is before the .tff (lets say SuperFont.ttf => so the name is not "SuperFont" - it could be, but mostly not). I would like to read the .tff (somehow?) and get the name (without installing the font) of the font. Any ideas?

You'll need to add the font to a private collection ( PrivateFontCollection ), then request the FontFamily instance and get its Name property.

Like this:

PrivateFontCollection fontCol = new PrivateFontCollection();
fontCol.AddFontFile(@"PATH TO FONT");
Console.WriteLine(fontCol.Families[0].Name);

You'll need the namespaces:

using System.Drawing;
using System.Drawing.Text;

MSDN: PrivateFontCollection , FontFamily

Here is the another code to extract fontname without using System.Drawing dll

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM