IPrintCoreHelper::GetFontSubstitution メソッド (prcomoem.h)
IPrintCoreHelper::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 に設定されます。
戻り値
IPrintCoreHelper::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 を含む) |