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を返す必要があります。
詳細については、「 カスタマイズされたフォント管理」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | prcomoem.h (Prcomoem.h を含む) |
こちらもご覧ください
IPrintOemDriverUni::D rvWriteSpoolBuf