13

.ttf(True Type Font)ファイルがあるとしましょう。クリックするだけでWindowsにインストールできます。フォントの実際の名前は、.tffの前にあるテキストではありません(たとえば、SuperFont.ttf =>であるため、名前は「SuperFont」ではありません。ほとんどの場合、そうではありません)。.tff(どういうわけか?)を読んで、フォントの名前(フォントをインストールせずに)を取得したいと思います。何か案は?

4

2 に答える 2

26

フォントをプライベートコレクション()に追加してから、インスタンスをPrivateFontCollectionリクエストしてそのプロパティを取得する必要があります。FontFamilyName

このような:

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

名前空間が必要になります。

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

MSDN:PrivateFontCollectionFontFamily

于 2012-08-09T14:14:36.580 に答える
3

System.Drawingdllを使用せずにfontnameを抽出する別のコードを次に示します。

foreach (FontFamily fontFamily in Fonts.GetFontFamilies("file:///D:/MyFonts/"))
{
    string name = fontFamily .ToString().Split('#')[fontFamily .ToString().Split('#').Count() - 1];
}
于 2014-01-15T10:12:50.573 に答える