IPrintOemUni::SendFontCmd 方法 (prcomoem.h)
方法 IPrintOemUni::SendFontCmd
使呈现插件能够修改打印机的字体选择命令,然后将其发送到打印机。
语法
HRESULT SendFontCmd(
PDEVOBJ pdevobj,
PUNIFONTOBJ pUFObj,
PFINVOCATION pFInv
);
参数
pdevobj
调用方提供的指向 DEVOBJ 结构的指针。
pUFObj
调用方提供的指向 UNIFONTOBJ 结构的指针。
pFInv
调用方提供的指向 FINVOCATION 结构的指针。
返回值
方法必须返回以下值之一。
返回代码 | 说明 |
---|---|
S_OK | 操作成功。 |
E_FAIL | 此操作失败。 |
E_NOTIMPL | 该方法未实现。 |
注解
方法 IPrintOemUni::SendFontCmd
用于在无法识别 Unidrv 支持的 PCL、CAPSL 或 PPDS 格式字体命令的打印机上选择设备字体。 其用途是允许呈现插件修改在字体的 .ufm (Unidrv Font Metrics) 文件中指定的字体选择命令。 (若要查看命令的存储方式,请参阅 .ufm 文件的 UNIDRVINFO 结构的说明。) 如果在将命令发送到打印机之前需要修改,则应实现 IPrintOemUni::SendFontCmd
方法。
方法接收 pFInv 指向的 FINVOCATION 结构中的命令字符串。 通常,字符串包含必须为其提供值的变量。 例如,以下字体选择命令要求 将 #FontHeight 和 #FontWidth 替换为数值:
\x1B(9U\x1B(s4148t0b0s#FontHeight1P\x1B)6J\x1B)s4148t0b0s#FontWidth1P
可以通过调用 UNIFONTOBJ_GetInfo 来读取 Unidrv 的标准变量来获取字体高度和宽度的当前值。
每当 IPrintOemUni::SendFontCmd
调用 方法时,它都必须通过调用 IPrintOemDriverUni::D rvWriteSpoolBuf 将命令字符串发送到打印机。
方法 IPrintOemUni::SendFontCmd
是可选的。 如果呈现插件实现此方法,则插件的 IPrintOemUni::GetImplementedMethod 方法在接收“SendFontCmd”作为输入时必须返回S_OK。
有关其他信息,请参阅 自定义字体管理。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (包括 Prcomoem.h) |
另请参阅
IPrintOemDriverUni::D rvWriteSpoolBuf