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.