2009-03-12 16 views
2

デフォルトのPDF標準の一部である14またはそれ以外のフォントを使用する場合は、TrueTypeまたはType1ファイル名を指定する必要があるサードパーティのPDF Generatorライブラリを使用します。インストールされているフォントのO/Sファイル名を調べるにはどうすればよいですか?

Bitstream Arrus Boldを使用したい場合は、arrusb.ttfを参照する必要があります。

フォントフォルダ内のすべてのファイルを列挙し、関係を抽出するために使い捨てのPrivateFontCollectionを作成するのではなく、フォント情報から基礎となるフォント名を取得する方法はありますか?つまり、Courier New、Bold、ItalicはCourBI.ttf

私はすでにInstalledFontCollectionを見てきましたが、何もありません。

答えて

5

レジストリでチャンスをうかがっ気にしない場合、それはあなたがこの本のように、必要なクエリを

Name = "Arial (TrueType)" 
Data = "arial.ttf" 

のようなペアを行うことができました

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Fonts 

を見てみましょう:

static RegistryKey fontsKey = 
    Registry.LocalMachine.OpenSubKey(
     @"Software\Microsoft\Windows NT\CurrentVersion\Fonts"); 

static public string GetFontFile(string fontName) 
{ 
    return fontsKey.GetValue(fontName, string.Empty) as string; 
} 

GetFontFile("Arial (TrueType)")への呼び出しは、"arial.ttf"

01を返します。

(TrueType)の部分をfontNameに追加するコードを変更したり、fontsKey.GetValueNames()が返すすべてのものを調べて最適なものを見つけることはもちろん可能です。

+0

ありがとう、私はそれを確認します。 – Bill

関連する問題