AddFontResourceA 関数 (wingdi.h)
AddFontResource 関数は、指定したファイルのフォント リソースをシステム フォント テーブルに追加します。 フォントは、その後、任意のアプリケーションでテキスト出力に使用できます。
フォントをプライベートとしてマークするか、列挙できない場合は、 AddFontResourceEx 関数を使用します。
構文
int AddFontResourceA(
[in] LPCSTR unnamedParam1
);
パラメーター
[in] unnamedParam1
有効なフォント ファイル名を含む null で終わる文字列へのポインター。 このパラメーターは、次のいずれかのファイルを指定できます。
複数のリソース ファイルから情報を取得するフォントを追加するには、 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 |