字体替换

重要

新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

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

对于提供硬件常驻字体或墨盒字体的打印机,可以指定字体替换表。 通过提供字体替换表,可以指定硬件常驻字体或墨盒字体来替换必须下载的 TrueType 字体。 当 Unidrv 接收到这种 TrueType 字体的文本时,它会首先检查字体替换表是否包含该字体的硬件驻留替换。 如果 Unidrv 找到了替代的常驻字体,且字体指标(如字符集、粗细、斜体、方向等)兼容,则使用常驻字体。

可以使用一系列 *TTFS 条目来创建默认字体替换表。 每个条目的格式为:

*TTFS: FontName { *TTFontName: "TTFontNameString" *DevFontName: "DeviceFontNameString" }

其中,FontName 是指定条目名称的符号,TTFontNameString 是标识要替换的 TrueType 字体的文本字符串,DeviceFontNameString 是标识要使用的硬件常驻字体或墨盒字体的文本字符串。 下表是一个示例:

*TTFS: Arial
{
    *TTFontName: "Arial"
    *DevFontName "Arial"
}
*TTFS: TNR
{
    *TTFontName: "Times New Roman"
    *DevFontName: "Times New Roman"
}
*TTFS: CurrierNew 
{
    *TTFontName:  "Courier New"
    *DevFontName: "Courier New"
}

如果存在具有相同 FontName 值的重复 *TTFS 条目,解析器读取的最后一个条目将取代前一个条目。

指定的替换表是默认表,因为 Unidrv 允许用户修改替换。

所有 *TTFS 条目必须位于 GPD 文件的根级别(即不在大括号内)。

要控制默认情况下是否启用字体替换,请使用 *TTFSEnabled? 条目。 此条目的格式为:

*TTFSEnabled?: BooleanValue

其中 BooleanValueTRUEFALSE。 如果 BooleanValueTRUE,则 Unidrv 将启用字体替换。 如果 BooleanValueFALSE,或者在 GPD 文件中未包含 *TTFSEnabled? 条目,则 Unidrv 将禁用字体替换,直到用户启用为止。

*TTFSEnable? 条目可重定位,但 *TTFS 条目不可重定位。 (有关可重定位条目的信息,请参阅 *Switch、*Case 和 *Default 语句中的内容)。

默认 TrueType 字体替换

名为 ttfsub.gpd 的文件中提供了 TrueType 字体替换的默认表。 要使用它,请在 GPD 文件根级别(即不在大括号内)添加以下条目:

*Include: "ttfsub.gpd"

此外,还必须安装此文件。 有关详细信息,请参阅打印机 INF 文件安装部分