IPrintCoreHelper::SetFontSubstitution メソッド (prcomoem.h)
IPrintCoreHelper::SetFontSubstitution メソッドは、指定された TrueType フォントの代わりに印刷するデバイス フォントを指定します。
構文
HRESULT SetFontSubstitution(
[in] IN PCWSTR pszTrueTypeFontName,
[in] IN PCWSTR pszDevFontName
);
パラメーター
[in] pszTrueTypeFontName
有効な TrueType フォント名を含む null で終わる Unicode 文字列へのポインター。 このパラメーターは NULL にすることはできません。
[in] pszDevFontName
デバイス フォントの名前を含む null で終わる Unicode 文字列へのポインター。
戻り値
IPrintCoreHelper::SetFontSubstitution は、次のいずれかの値を返す必要があります。
リターン コード | 説明 |
---|---|
S_OK | メソッドは、指定された機能のオプションを読み取る。 |
E_FAIL | 要求されたフォントが存在しないか、TrueType フォントではありません。 |
E_INVALIDARG | 1 つ以上の引数が無効です。 |
E_OUTOFMEMORY | メモリ不足のため、コア ドライバーは要求をサービスできませんでした。 |
E_UNEXPECTED、またはここに記載されていないその他のリターン コード | コア ドライバーが無効な状態になっているようです。 呼び出し元はエラー コードを返す必要があります。 |
注釈
指定した TrueType フォントの代わりに使用するデバイス フォントの設定は、デバイス プロパティ シート セッション中にのみ実行でき、完全な UI 置換が有効になっている場合にのみ行うことができます。 pszTrueTypeFontName パラメーターで表されるフォントは、有効な TrueType フォントである必要があり、プリンターにインストールする必要があります。 pszDevFontName パラメーターで表されるデバイス フォントは、このプリンターの有効なフォントである必要があります。
指定した TrueType フォントの置換マッピングがこのキューに既に存在する場合、 SetFontSubstitution メソッドによってマッピングが自動的に置き換えられます。 置換マッピングを削除するには、pszTrueTypeFontName で指定された TrueType フォント名と、pszDevFontName で NULL を指定して、このメソッドを呼び出します。
有効なデバイス フォントの一覧を取得するには、現在のプリンターの情報コンテキストを作成し、 SetGraphicsMode(hIC, GM_ADVANCED) を呼び出します。 次に、 EnumFontFamilies の呼び出しによってデバイス フォントを列挙します。 EnumFontFamilies のコールバック パラメーター (EnumFontFamProc を参照) は、ビットごとの AND 結果 (FontType & TRUETYPE_FONTTYPE) が 0 以外のフォントごとにカウンターをインクリメントして、デバイス フォントをフィルター処理する必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | prcomoem.h (Prcomoem.h を含む) |