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 字体指标)文件中指定。 (若要查看命令的存储方式,请参阅 .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 (include Prcomoem.h)

另请参阅

DEVOBJ

FINVOCATION

IPrintOemDriverUni::D rvWriteSpoolBuf

IPrintOemUni

IPrintOemUni::GetImplementedMethod

UNIFONTOBJ

UNIFONTOBJ_GetInfo