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. 分配 GETINFO_GLYPHSTRING 结构,其中 dwTypeIn 设置为TYPE_GLYPHHANDLE,dwTypeOut 设置为TYPE_TRANSDATA。
  2. 调用 UNIFONTOBJ_GetInfo 函数,将GETINFO_GLYPHSTRING结构作为输入传递,以 TRANSDATA 结构内容获取字形转换。
  3. 调用 IPrintOemDriverUni::D rvWriteSpoolBuf 将 TRANSDATA 结构内容发送到打印后台处理程序,以便打印字形。
如果指定的字体是软字体,则该方法只需调用 IPrintOemDriverUni::D rvWriteSpoolBuf 将命令发送到打印后台处理程序,这将导致打印指定的以前下载的字形。

IPrintOemUni::OutputCharStr 方法是可选的。 如果呈现插件实现此方法,则插件的 IPrintOemUni::GetImplementedMethod 方法在收到“OutputCharStr”作为输入时必须返回S_OK。

有关详细信息,请参阅 自定义字体管理

要求

要求 价值
目标平台 桌面
标头 prcomoem.h (include Prcomoem.h)