设备字体属性

Important

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

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

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

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

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

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

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