<Return[C]><Top>

CreateScalableFontResource

Declare Function Api_CreateScalableFontResource& Lib "gdi32" Alias "CreateScalableFontResourceA" (ByVal fHidden&, ByVal lpszResourceFile$, ByVal lpszFontFile$, ByVal lpszCurrentPath$)

Declare Function CreateScalableFontResource Lib "gdi32" Alias "CreateScalableFontResourceA" (ByVal fHidden As Long, ByVal lpszResourceFile As String, ByVal lpszFontFile As String, ByVal lpszCurrentPath As String) As Long

スケーラブルフォント用のフォントリソースファイルを作成する。

パラメータ
fdwHidden
    フォントが読み取り専用埋め込みフォントかどうかを指定する。次の値のいずれかを指定することができる。

    値     

意味                                                                                                      

    0

フォントは読み取りおよび書き込み許可されている。

    1

フォントは読み取り専用であるため、システム内の他のアプリケーションから隠す。このフラグがセットされているときは、フォントは EnumFonts 関数または EnumFontFamilies 関数では列挙されない。

lpszFontRes
    この関数が作成するフォントリソースファイルの名前を表す、NULL で終わる文字列へのポインタを指定する。
lpszFontFile
    この関数がフォントリソースファイルを作成するために使うスケーラブルフォントファイルの名前を表す、NULL で終わる文字列へのポインタを指

    定する。
lpszCurrentPath
    スケーラブルフォントファイルへのパスを表す、NULL で終わる文字列へのポインタを指定する。

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。
    Windows NT/2000:拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    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 ディレクトリ)にコピーされているとみなされる。lpszCurrentPath パラメータにはディレクトリ情報が含まれているため、

    CreateScalableFontResource 関数の呼び出し時に、.ttf ファイルをこのディレクトリ内に置く必要はない。このように作成されたリソースには

    絶対パス情報は含まれていないため、すべてのインストールで使うことがでる。
    lpszFontFile パラメータでパスが指定されており、lpszCurrentPath パラメータに NULL が指定されているときは、lpszFontFile パラメータ

    の文字列は .fot ファイルにコピーされる。この場合、AddFontResource 関数の呼び出し時には、lpszCurrentPath パラメータは不要で、

    CreateScalableFontResource 関数が呼び出された時は、.ttf ファイルは lpszFontFile パラメータで指定された位置に置く。このように作成

    されたリソースにはパスおよびドライブへの絶対参照が含まれているため、.ttf ファイルを別の場所に移動した場合には利用できない。