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 文件中)后立即调用该方法。 (Microsoft通用打印机驱动程序中介绍了 GPD 文件。该方法应执行以下作:

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

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

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

要求

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