次の方法で共有


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

IPrintOemUni::OutputCharStrメソッドを使用すると、レンダリング プラグインでフォント グリフの印刷を制御できます。

構文

HRESULT OutputCharStr(
  PDEVOBJ     pdevobj,
  PUNIFONTOBJ pUFObj,
  DWORD       dwType,
  DWORD       dwCount,
  PVOID       pGlyph
);

パラメーター

pdevobj

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

pUFObj

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

dwType

pGlyph が指すグリフ指定子配列の型を示す呼び出し元指定値。 有効な値は次のとおりです。

定義
TYPE_GLYPHHANDLE pGlyph 配列要素は、HGLYPH 型のグリフ ハンドルです。
TYPE_GLYPHID pGlyph 配列要素は、DWORD 型のグリフ識別子です。

dwCount

pGlyph が指す配列内のグリフ指定子の数を表す呼び出し元指定値。

pGlyph

グリフ指定子の配列への呼び出し元指定ポインター。配列要素の型は dwType で示されます。

戻り値

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

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

注釈

このメソッドは IPrintOemUni::OutputCharStr 、Unidrv でサポートされている PCL、CAPSL、または PPDS 形式の文字出力コマンドを認識しないプリンターをサポートするために使用されます。 その目的は、レンダリング プラグインがフォントのグリフの印刷を制御し、必要に応じてグリフの置換を提供できるようにすることです。

レンダリング プラグインで メソッドが IPrintOemUni::OutputCharStr 実装されている場合、文字列をスプールする準備が整うたびに、Unidrv は メソッドを呼び出します。

メソッドはグリフ指定子の配列を受け取ります。 dwType に対して受け取った値は、識別子の種類を示します。

指定したフォントがデバイス フォントの場合、配列にはグリフ ハンドルが含まれます。 ハンドルを文字コードまたはコマンドに変換してから、印刷スプーラーに送信して、デバイス グリフを印刷する必要があります。

指定したフォントがソフト (TrueType) フォントの場合、配列にはグリフ識別子が含まれます。 識別子は、印刷する必要がある以前にダウンロードしたグリフを表します。

指定したフォントがデバイス フォントの場合、メソッドは次の操作を行う必要があります。

  1. dwTypeInTYPE_GLYPHHANDLE に設定され、dwTypeOut が TYPE_TRANSDATA に設定されたGETINFO_GLYPHSTRING構造体を割り当てます。
  2. UNIFONTOBJ_GetInfo関数を呼び出し、GETINFO_GLYPHSTRING構造体を入力として渡して、グリフ変換を TRANSDATA 構造体の内容として取得します。
  3. グリフを印刷するために 、IPrintOemDriverUni::D rvWriteSpoolBuf を呼び出して、TRANSDATA 構造体の内容を印刷スプーラーに送信します。
指定したフォントがソフト フォントの場合、メソッドは IPrintOemDriverUni::D rvWriteSpoolBuf を呼び出して、指定した以前にダウンロードしたグリフを印刷するコマンドを印刷スプーラーに送信できます。

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

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

要件

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