设备字体属性

重要

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

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

下表列出了打印机支持设备字体的属性。

属性名 属性参数 注释
CharPosition UPPERLEFT 或 BASELINE。 表示打印头在打印字符前应定位到的字符边界框区域。 可选。 如果未指定,默认值为 UPPERLEFT。
DefaultCTT 表示默认字符转换表 RC_CTT 资源标识符的数值。 可选。 仅适用于 TTY 打印机。 如果未指定,则没有转换表。 (提供此属性只是为了与 GPC 文件向后兼容。)
DefaultFont 表示默认字体的 RC_FONT 或 RC_UFM 资源标识符的数值。 如果打印机支持设备字体,则为必需。
LookAheadRegion 数字(整数)值,表示驱动程序必须“观察”前方多远的距离才能确定是否要发出文本。 此值的单位为 y 主单位,但必须转换为像素的整数。 有关详细信息,请参阅此表后面的注释。 可选。 如果未指定,默认值为零。 仅与串行打印机(如 HP DeskJet)一起使用,用于对文本和位图数据进行排序。
MaxFontUsePerPage 表示打印机每页可使用的最大字体数的数值。 可选。 如果未指定,则无限制。
TextYOffset 表示垂直距离的数值,单位为 y 主单位,驻留字体必须通过重新定位才能与位图字体基线对齐。 可选。 如果未指定,则默认值为 0。 (与某些点阵打印机一起使用。)

要确定前瞻区域的大小,打印机驱动程序必须根据当前扫描行和 *LookAheadRegion 属性的值执行加法运算。 由于扫描行以像素为单位,而 *LookAheadRegion 以垂直主单位为单位,因此驱动程序必须将属性值转换为像素。

例如,如果 *LookAheadRegion 属性的值为 600,而每英寸有 1200 个垂直主单位,那么 lookahead 区域的大小就是二分之一英寸。 如果当前分辨率为 300 dpi,则二分之一英寸对应 150 个像素(垂直)或 150 条扫描行。 如果打印机当前在扫描行 100 上,则驱动程序必须在扫描行 100 和 250 之间查找文本基线。

驱动程序会对每个扫描行重复这一过程,但它只会发出一次找到的文本。