Unidrv 的自定义字体安装程序

重要

建议使用 Microsoft 的 IPP 收件箱类驱动程序,以及 Print Support Apps (PSA) ,在 Windows 10 和 11 中自定义打印体验,以便进行打印机设备开发。

有关详细信息,请参阅 打印支持应用设计指南

对于打印机 GPD 文件中未由字体墨盒条目描述的墨盒字体,需要供应商提供的字体安装软件。 必须使用 Unidrv 字体格式文件 (.uff 文件) 描述这些字体。 创建 .uff 文件由供应商提供的字体安装程序负责。

供应商提供的字体安装程序还应支持可下载 的 PCL 软字体。

创建自定义字体安装程序的两种方法如下所示:

  • 提供用户界面插件

    此插件必须实现以下 COM 接口方法:

    IPrintOemUI::FontInstallerDlgProc

    IPrintOemUI::UpdateExternalFonts

  • 提供单独的可执行文件

    在字体安装过程中,可执行文件必须通过调用 Windows SDK 文档) 中所述的 SetPrinterData (并为“FontInstaller”键指定值,将其名称存储在注册表中。

Unidrv 使用以下算法来查找字体安装程序:

  1. 如果字体安装程序可执行文件的名称存储在注册表中,则 Unidrv 不允许系统管理员从打印机的属性表中选择字体安装操作。 相反,管理员必须运行提供的可执行文件。

  2. 如果安装程序可执行文件不可用,Unidrv 将启用从打印机的属性表中选择字体安装操作。 Unidrv 确定是否已安装用户界面插件。 如果是,则调用其字体安装方法。 如果尚未安装用户界面插件,或者其字体安装方法返回E_NOTIMPL,驱动程序将使用其自己的错误安装程序。