次の方法で共有


IPrintCoreHelperUni::GetFontSubstitution メソッド (prcomoem.h)

IPrintCoreHelperUni::GetFontSubstitution メソッドは、指定された TrueType フォントの代替フォントとして使用されるデバイス フォント (存在する場合) を示します。

構文

HRESULT GetFontSubstitution(
  [in]  IN PCWSTR  pszTrueTypeFontName,
  [out] OUT PCWSTR *ppszDevFontName
);

パラメーター

[in] pszTrueTypeFontName

TrueType フォントの名前を含む null で終わる Unicode 文字列へのポインター。

[out] ppszDevFontName

null で終わる Unicode 文字列のアドレスを受け取る変数へのポインター。 この文字列には、 pszFontName パラメーターで指定された TrueType フォントの代わりに使用されるデバイス フォントの名前が含まれます。 指定した TrueType フォントの代わりに使用できるデバイス フォントがない場合、このパラメーターは NULL に設定されます。

戻り値

IPrintCoreHelperUni::GetFontSubstitution は、次のいずれかの値を返す必要があります。

リターン コード 説明
S_OK メソッドは、指定された機能のオプションを読み取る。
E_FAIL 要求されたフォントが存在しないか、TrueType フォントではありません。
E_INVALIDARG 1 つ以上の引数が無効です。
E_OUTOFMEMORY メモリ不足のため、コア ドライバーは要求をサービスできませんでした。
E_UNEXPECTED、またはここに記載されていないその他のリターン コード コア ドライバーが無効な状態になっているようです。 呼び出し元はエラー コードを返す必要があります。

注釈

アプリケーションが pszTrueTypeFontName パラメーターで指定された TrueType フォントを使用するテキストを印刷しようとすると、そのテキストは代わりに ppszDevFontName パラメーターで指定されたデバイス フォントで印刷されます。 デバイスのフォント名は、インストールされている有効なフォントのフォントである必要があります。

フォントは、LOGFONT 構造体の lfFaceName メンバーに表示されるフォント名で識別されます。

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

要件

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

こちらもご覧ください

IPrintCoreHelperUni

IPrintCoreHelperUni::SetFontSubstitution