Получить имя шрифта.ttf файл

допустим, есть .ttf (шрифт истинного типа). Вы можете установить его в windows одним щелчком мыши. Настоящее имя шрифта не является текстом, который находится перед .tff (скажем, SuperFont.ttf => поэтому название не "SuperFont" - это может быть, но в основном нет). Я хотел бы прочитать .tff (как-то?) и получить имя (без установки шрифта) шрифт. Есть идеи?

2 ответов


вам нужно добавить шрифт в частную коллекцию (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


вот еще один код для извлечения шрифта без использования системы.Чертеж dll файлы

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