CreateScalableFontResourceW

CreateScalableFontResource 関数は、スケーラブルフォント用のフォントリソースファイルを作成する。(Unicode)

CreateScalableFontResourceW fdwHidden, lpszFont, lpszFile, lpszPath

fdwHidden : [int] 
lpszFont : [wstr] 作成するフォントリソースファイルの名前を指定する null 終端文字列へのポインタ。既存のフォントリソースファイルを指定すると関数は失敗する。
lpszFile : [wstr] この関数がフォントリソースファイルを作成するために使用するスケーラブルフォントファイルの名前を指定する null 終端文字列へのポインタ。
lpszPath : [wstr] スケーラブルフォントファイルへのパスを指定する null 終端文字列へのポインタ。

(プラグイン / モジュール : gdi32.dll)

解説

CreateScalableFontResource
関数は、スケーラブルフォント用のフォントリソースファイルを作成する。(Unicode)

[戻り値]
関数が成功した場合、戻り値は非ゼロとなる。関数が失敗した場合、戻り値はゼロとなる。lpszFontRes
が既存のフォントファイルを指定する場合、GetLastError は ERROR_FILE_EXISTS を返す。

[備考]
CreateScalableFontResource 関数は TrueType
フォントをインストールするアプリケーションで使用される。アプリケーションは CreateScalableFontResource
を使ってフォントリソースファイル(通常は .fot 拡張子)を作成し、その後 AddFontResource
を使ってフォントをインストールする。TrueType フォントファイル(通常は .ttf 拡張子)は AddFontResource
で使用するために Windows ディレクトリの System
サブディレクトリに置かれている必要がある。CreateScalableFontResource は現在、TrueType
技術のスケーラブルフォントのみをサポートする。lpszFontFile
パラメータがファイル名と拡張子のみを指定する場合、lpszCurrentPath
パラメータでパスを指定しなければならない。lpszFontFile パラメータが完全パスを指定する場合、lpszCurrentPath
パラメータは NULL または NULL へのポインタでなければならない。lpszFontFile
にファイル名と拡張子のみを指定し、lpszCurrentPath にパスを指定すると、lpszFontFile
の文字列がこのリソースに属する .ttf ファイルとして .fot ファイルにコピーされる。AddFontResource
が呼ばれると、オペレーティングシステムは .ttf ファイルが System ディレクトリ(ネットワークインストールの場合はメイン
Windows ディレクトリ)にコピーされていると仮定する。CreateScalableFontResource を呼ぶときには .ttf
ファイルがそのディレクトリにある必要はない。lpszCurrentPath
パラメータがディレクトリ情報を含むためである。この方法で作成されたリソースには絶対パス情報が含まれず、任意のインストールで使用できる。lpszFontFile
にパスを指定し lpszCurrentPath に NULL を指定すると、lpszFontFile の文字列が .fot
ファイルにコピーされる。この場合、AddFontResource が呼ばれるときに .ttf ファイルは
CreateScalableFontResource を呼んだ時点で lpszFontFile
に指定された場所になければならず、lpszCurrentPath
パラメータは不要となる。この方法で作成されたリソースにはパスとドライブへの絶対参照が含まれ、.ttf
ファイルが別の場所に移動されると動作しない。
> [!NOTE] > wingdi.h ヘッダは CreateScalableFontResource を、UNICODE
プリプロセッサ定数の定義に応じて自動的に ANSI 版か Unicode
版を選択するエイリアスとして定義する。エンコーディング中立のエイリアスとそうでないコードを混在させると、コンパイルや実行時のエラーにつながるミスマッチが生じることがある。詳細は
[Conventions for Function
Prototypes](/windows/win32/intl/conventions-for-function-prototypes)
を参照。

情報

プラグイン / モジュールgdi32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の gdi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_gdi32_gen2.hs