光标属性

重要

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

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

光标属性是通用打印属性,用于指定打印机光标的特性。

下表列出了光标属性。

属性名 属性参数 注释
AbsXMovesRightOnly? TRUEFALSE。 此参数用于指定设备只能接受将当前位置向右移动的绝对移动命令。 如果需要向当前位置的左侧移动,Unidrv 会首先发送回车符,这样发送的绝对命令就会位于新的当前位置的右侧。 可选。 如果未指定,默认值为 FALSE
BadCursorMoveInGrxMode 表示光栅图形模式下非法光标移动的 LIST 值。 可以是一个或多个:

X_PORTRAIT

X_LANDSCAPE

Y_PORTRAIT

Y_LANDSCAPE
可选。 如未指定,则默认为无限制。 例如,LIST(X_PORTRAIT) 表示纵向不允许 x 方向移动。
CursorXAfterCR 下列其中一项:

AT_PRINTABLE_X_ORIGIN

AT_CURSOR_X_ORIGIN

表示光标在回车后的 x 位置。
可选。 如未指定,则默认值为 AT_CURSOR_X_ORIGIN,即物理零位。
EjectPageWithFF? TRUEFALSE

指明打印机是否使用换页方式弹出页面。
可选。 如果未指定,默认值为 FALSE
LineSpacingMoveUnit 正整数值。 为 CmdSetLineSpacing 命令指定移动单位。 单位以点/英寸表示。 对于行距移动单位为 1/60 英寸的打印机,此条目应为 60。

请注意,行间距移动单位必须平均分成主 Y 单位。

无论是否指定了 *LineSpacingMoveUnit,*MaxLineSpacing 参数仍以主单位为准。
可选。 默认值为 1 个主单位。
MaxLineSpacing 表示最大行距的数值,单位为 y 主单位。 可选。 如未指定,Unidrv 会假定没有最大值。
UseSpaceForXMove? TRUEFALSE

指明是否可以使用空格字符来执行光标 X 方向移动。
可选。 如果未指定,默认值为 TRUE

如果为 TRUE,则 Unidrv 将使用空格表示粗略移动,而使用 NULL 表示精细移动。 如果为 FALSE,Unidrv 将对所有移动使用 NULL。
XMoveThreshold 数值(以 x 主单位表示),表示移动阈值,超过该阈值时应使用 CmdXMoveAbsolute 而不是 CmdXMoveRelLeftCmdXMoveRelRight 可选。 如未指定,则默认值为零,即始终使用 CmdXMoveAbsolute。 仅适用于指定了所有三个 x 移动命令的情况。
XMoveUnit 数值(以点/英寸为单位),表示打印机能够实现的最小水平移动量。 例如,如果移动单位是 1/600 英寸,则指定的值为 600。 如果打印机支持水平移动光标命令,则此项为必填。 如已指定,则会在计算主单位时包含此值。
YMoveAttributes 指明 y 移动属性的值 LIST。 可以是一个或多个:

FAV_LF(偏好的 LF 间距)

SEND_CR_FIRST
可选。 如未指定,则不假定任何属性。
YMoveThreshold 数值(以 y 主单位表示),表示移动阈值,超过该阈值时应使用 CmdYMoveAbsolute 而不是 CmdYMoveRelLeftCmdYMoveRelRight 可选。 如未指定,则默认值为零,即始终使用 CmdYMoveAbsolute。 仅适用于指定了所有三个 y 移动命令的情况。
YMoveUnit 数值(以点/英寸为单位),表示打印机能够实现的最小垂直移动量。 例如,如果移动单位是 1/600 英寸,则指定的值为 600。 如果打印机支持垂直移动光标命令,则此项为必填。 如已指定,则会在计算主单位时包含此值。