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 (包括 Prcomoem.h)