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)

另请参阅

DEVOBJ

FINVOCATION

IPrintOemDriverUni::D rvWriteSpoolBuf

IPrintOemUni

IPrintOemUni::GetImplementedMethod

UNIFONTOBJ

UNIFONTOBJ_GetInfo