2012-08-09 2 views
8

Bir .ttf (True Type Yazı Tipi) dosyası olduğunu varsayalım. Bir tıklama ile pencerelere kurabilirsiniz. Yazı tipinin gerçek adı .tff'den önceki metin değil (SuperFont.ttf => adın "SuperFont" olmadığı söylenebilir - bu olabilir, ancak çoğunlukla değil). .tff'i (bir şekilde?) Okumak ve yazı tipinin adını (fontu yüklemeden) almak istiyorum. Herhangi bir fikir?.ttf dosyasının yazı tipi adı al

+1

burada ttf ref kılavuzu https://developer.apple.com/fonts/TTRefMan/index.html – albertjan

cevap

22

Yazı tipini özel bir koleksiyona (PrivateFontCollection) eklemeniz, ardından FontFamily örneğini girmeniz ve Name özelliğini almanız gerekir. Bunun gibi

:

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

MSDN:

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

Sen ad alanlarını gerekir PrivateFontCollection, İşte FontFamily

+1

_ (yazı tipini yüklemeden) _ –

+3

Bu yazı tipini yüklemiyor. MSDN, "yükleme" terimini kullansa da, onu hafifçe kullanıyorlar. "' Bu, sistem tarafından yüklenen koleksiyonu etkilemeyen geçici bir font yüklemesidir. 'Buraya yükleme temelde "yüklü" anlamına gelir. –

+0

Doğru, farkında değildim. –

3

başka bir kod System.ComponentModel kullanmadan fontname ayıklamak etmektir dll

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

FontFamily, System.Drawing.dll dosyasında ... –