AddFontResourceA 関数 (wingdi.h)

AddFontResource 関数は、指定したファイルのフォント リソースをシステム フォント テーブルに追加します。 フォントは、その後、任意のアプリケーションでテキスト出力に使用できます。

フォントをプライベートとしてマークするか、列挙できない場合は、 AddFontResourceEx 関数を使用します。

構文

int AddFontResourceA(
  [in] LPCSTR unnamedParam1
);

パラメーター

[in] unnamedParam1

有効なフォント ファイル名を含む null で終わる文字列へのポインター。 このパラメーターは、次のいずれかのファイルを指定できます。

ファイル拡張子 説明
。Fon
フォント リソース ファイル。
。Fnt
生ビットマップ フォント ファイル。
.ttf
Raw TrueType ファイル。
。Ttc
東アジアの Windows: TrueType フォント コレクション。
。Fot
TrueType リソース ファイル。
。Otf
PostScript OpenType フォント。
。うー ん
複数のマスター Type1 フォント リソース ファイル。 これは、.pfm ファイルと .pfb ファイルと共に使用する必要があります。
.pfb
「1 フォント ビット ファイル」と入力します。 .pfm ファイルと共に使用されます。
。Pfm
「1 フォント メトリック ファイル」と入力します。 .pfb ファイルと共に使用されます。
 

複数のリソース ファイルから情報を取得するフォントを追加するには、 lpszFileName が文字列を指し、ファイル名が "|" で区切られた文字列を指定します (例: abcxxxxx.pfm |abcxxxxx.pfb。

戻り値

関数が成功した場合、戻り値は追加されたフォントの数を指定します。

関数が失敗した場合は、0 を返します。 拡張エラー情報は使用できません。

解説

システム フォント テーブルにフォントを追加または削除するアプリケーションでは、オペレーティング システム内のすべての最上位ウィンドウに WM_FONTCHANGE メッセージを送信して、変更を他のウィンドウに通知する必要があります。 アプリケーションは 、SendMessage 関数を呼び出し、 hwnd パラメーターを HWND_BROADCASTに設定することで、このメッセージを送信する必要があります。

アプリケーションが AddFontResource 関数を呼び出して読み込んだフォント リソースが不要になった場合は、RemoveFontResource 関数を呼び出してそのリソースを削除する必要があります。

この関数は、現在のセッションのフォントのみをインストールします。 システムが再起動すると、フォントは表示されません。 システムを再起動した後でもフォントをインストールするには、そのフォントをレジストリに一覧表示する必要があります。

レジストリに一覧表示され、%windir%\fonts\ フォルダー以外の場所にインストールされているフォントは、セッションに読み込まれている限り、変更、削除、または置換することはできません。 これらのフォントのいずれかを変更するには、まず RemoveFontResource を呼び出して削除し、フォント レジストリ (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts) から削除し、システムを再起動する必要があります。 システムを再起動すると、フォントは読み込まれなくなり、変更できます。

注意

wingdi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして AddFontResource を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wingdi.h (Windows.h を含む)
Library Gdi32.lib
[DLL] Gdi32.dll

関連項目

AddFontResourceEx

フォント関数とテキスト関数

フォントとテキストの概要

RemoveFontResource

SendMessage