IPrintOemUni::D ownloadCharGlyph 方法 (prcomoem.h)

方法 IPrintOemUni::DownloadCharGlyph 使 Unidrv 的呈现插件能够将指定软字体的字符字形发送到打印机。

语法

HRESULT DownloadCharGlyph(
        PDEVOBJ     pdevobj,
        PUNIFONTOBJ pUFObj,
        HGLYPH      hGlyph,
        PDWORD      pdwWidth,
  [out] OUT DWORD   *pdwResult
);

参数

pdevobj

调用方提供的指向 DEVOBJ 结构的指针。

pUFObj

调用方提供的指向 UNIFONTOBJ 结构的指针。

hGlyph

调用方提供的字形句柄。

pdwWidth

调用方提供的指针,用于接收方法提供的字符宽度。

[out] pdwResult

接收方法提供的值,该值表示存储字符字形所需的打印机内存量(以字节为单位)。 如果操作失败,则返回的值应为零。

返回值

方法必须返回以下值之一。

返回代码 说明
S_OK
操作成功。
E_FAIL
操作失败
E_NOTIMPL
该方法未实现。

注解

方法 IPrintOemUni::DownloadCharGlyph 用于支持不接受 PCL 命令的打印机上的软字体。 它的目的是使呈现插件能够将字符字形发送到打印机。

如果呈现插件实现 IPrintOemUni::DownloadCharGlyph 方法,Unidrv 会在发送 CmdSetCharCode 命令条目指定的命令字符串后立即调用该方法,该字符串包含在打印机的 GPD 文件中。 (GPD 文件在 Microsoft 通用打印机驱动程序.) 方法应执行以下操作:

  • 调用 UNIFONTOBJ_GetInfo 函数以获取 hGlyph 指定的字形图像。
  • 调用 IPrintOemDriverUni::D rvWriteSpoolBuf 将字形发送到打印机。
  • 再次调用 UNIFONTOBJ_GetInfo 函数以获取字形的宽度,然后将宽度存储在 pdwWidth 指向的地址中。
  • 通过将字形放置在 pdwResult 指定的位置来返回存储标志符号所需的打印机内存量。
方法 IPrintOemUni::DownloadCharGlyph 是可选的。 如果呈现插件实现此方法,则插件的 IPrintOemUni::GetImplementedMethod 方法在收到“DownloadCharGlyph”作为输入时必须返回S_OK。

如果实现 IPrintOemUni::DownloadCharGlyph 方法,还必须实现 IPrintOemUni::D ownloadFontHeader 方法。

有关其他信息,请参阅 自定义字体管理

要求

要求
目标平台 桌面
标头 prcomoem.h (包括 Prcomoem.h)