2012-08-09 39 views
8

.ttf(True Type Font)ファイルがあるとします。クリックしてWindowsにインストールすることができます。フォントの実際の名前は.tffの前にあるテキストではありません(名前をSuperFont.ttf =とすると、その名前は "SuperFont"ではありません - そうかもしれませんが、大部分はそうではありません)。私は.tff(何とか?)を読んでフォントの名前を(フォントをインストールせずに)取得したいと思います。何か案は?.ttfファイルのフォント名を取得

+1

ここにttfリファレンスマニュアルhttps://developer.apple.com/fonts/TTRefMan/index.html – albertjan

答えて

22

プライベートコレクション(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:PrivateFontCollectionFontFamily

+1

_(フォントをインストールしないでください)_ –

+3

これはフォントをインストールしません。 MSDNでは「インストール」という用語を使用していますが、軽く使用しています。 "これはシステムインストールされたコレクションに影響を与えない一時的なフォントのインストールです。" "ここでのインストールは基本的に"読み込まれた "という意味です。 –

+0

そう、それは分かりませんでした。 –

3

ここでは、System.Drawingを使用せずにフォント名を抽出するために別のコードです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にあります... –

関連する問題