次の方法で共有


IPrintOemUni::SendFontCmd メソッド (prcomoem.h)

IPrintOemUni::SendFontCmd メソッドを使用すると、レンダリング プラグインでプリンターのフォント選択コマンドを変更し、プリンターに送信できます。

構文

HRESULT SendFontCmd(
  PDEVOBJ      pdevobj,
  PUNIFONTOBJ  pUFObj,
  PFINVOCATION pFInv
);

パラメーター

pdevobj

DEVOBJ 構造体への呼び出し元指定ポインター。

pUFObj

UNIFONTOBJ 構造体への呼び出し元指定ポインター。

pFInv

FINVOCATION 構造体への呼び出し元指定のポインター。

戻り値

このメソッドは、次のいずれかの値を返す必要があります。

リターン コード 形容
S_OK 操作は成功しました。
E_FAIL 操作が失敗しました。
E_NOTIMPL メソッドは実装されていません。

備考

IPrintOemUni::SendFontCmd メソッドは、Unidrv でサポートされている PCL、CAPSL、または PPDS 形式のフォント コマンドを認識しないプリンターでデバイス フォントを選択するために使用されます。 その目的は、レンダリング プラグインが、フォントの .ufm (Unidrv Font Metrics) ファイルで指定されているフォント選択コマンドを変更できるようにすることです。 (コマンドの格納方法については、.ufm ファイルの UNIDRVINFO 構造体の説明を参照してください)。プリンターに送信する前にコマンドを変更する必要がある場合は、IPrintOemUni::SendFontCmd メソッドを実装する必要があります。

このメソッドは、pFInv が指す FINVOCATION 構造体のコマンド文字列受け取ります。 通常、文字列には値を指定する必要がある変数が含まれています。 たとえば、次のフォント選択コマンドでは、#FontHeight#FontWidth を数値に置き換える必要があります。

\x1B(9U\x1B(s4148t0b0s#FontHeight1P\x1B)6J\x1B)s4148t0b0s#FontWidth1P

フォントの高さと幅の現在の値は、UNIFONTOBJ_GetInfo を呼び出して Unidrv の標準変数を読み取ることで取得できます。

IPrintOemUni::SendFontCmd メソッドが呼び出されるたびに、IPrintOemDriverUni::D rvWriteSpoolBuf 呼び出して、コマンド文字列をプリンターに送信する必要があります。

IPrintOemUni::SendFontCmd メソッドは省略可能です。 レンダリング プラグインがこのメソッドを実装する場合、プラグインの IPrintOemUni::GetImplementedMethod メソッドは、入力として "SendFontCmd" を受け取ったときにS_OKを返す必要があります。

詳細については、「カスタマイズされたフォント管理 を参照してください。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー prcomoem.h (Prcomoem.h を含む)

関連項目

DEVOBJ する

FINVOCATION

IPrintOemDriverUni::D rvWriteSpoolBuf

IPrintOemUni

IPrintOemUni::GetImplementedMethod

UNIFONTOBJ する

UNIFONTOBJ_GetInfo