次の方法で共有


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 フォント名と、pszDevFontNameNULL を指定して、このメソッドを呼び出します。

有効なデバイス フォントの一覧を取得するには、現在のプリンターの情報コンテキストを作成し、 SetGraphicsMode(hIC, GM_ADVANCED) を呼び出します。 次に、 EnumFontFamilies の呼び出しによってデバイス フォントを列挙します。 EnumFontFamilies のコールバック パラメーター (EnumFontFamProc を参照) は、ビットごとの AND 結果 (FontType & TRUETYPE_FONTTYPE) が 0 以外のフォントごとにカウンターをインクリメントして、デバイス フォントをフィルター処理する必要があります。

要件

要件
対象プラットフォーム デスクトップ
Header prcomoem.h (Prcomoem.h を含む)

こちらもご覧ください

IPrintCoreHelper

IPrintCoreHelper::GetFontSubstitution