UNIDRVINFO 结构 (prntfont.h)
UNIDRVINFO 结构用于在 Unidrv 字体指标文件(.ufm 文件)中指定特定于打印机的信息。
语法
typedef struct _UNIDRVINFO {
DWORD dwSize;
DWORD flGenFlags;
WORD wType;
WORD fCaps;
WORD wXRes;
WORD wYRes;
short sYAdjust;
short sYMoved;
WORD wPrivateData;
short sShift;
INVOC SelectFont;
INVOC UnSelectFont;
WORD wReserved[4];
} UNIDRVINFO, *PUNIDRVINFO;
成员
dwSize
指定 UNIDRVINFO 结构的大小(以字节为单位)。
flGenFlags
包含一个或多个描述字体特征的位标志。 定义了以下标志:
旗 | 定义 |
---|---|
UFM_CART | 字体包含在墨盒中。 |
UFM_SCALABLE | 字体可缩放。 |
UFM_SOFT | 该字体是一种软字体,需要下载。 |
wType
包含描述字体类型的整数常量。 定义了以下常量:
不断 | 定义 |
---|---|
DF_TYPE_CAPSL | Canon CAPSL 可缩放字体 |
DF_TYPE_HPINTELLIFONT | HP Intellifont 字体 |
DF_TYPE_OEM1 | OEM 提供的可缩放字体 |
DF_TYPE_OEM2 | OEM 提供的可缩放字体 |
DF_TYPE_PST1 | Lexmark PPDS 可缩放字体 |
DF_TYPE_TRUETYPE | LJ4 打印机的 HP PCLETTO 字体 |
fCaps
包含一个或多个位标志,用于标识设备字体提供的功能限制。 定义了以下标志:
旗 | 定义 |
---|---|
DF_BKSP_OK | 如果已设置,单个后空字符可以将光标移到超线区域的开头。 如果未设置,则必须发送 x 移动游标命令。 (仅在为 MAPTABLE中字符的 TRANSDATA 结构指定MTYPE_PAIRED时才使用。否则将被忽略。 |
DF_NO_BOLD | 设备字体不能使用下划线模拟加粗。 |
DF_NO_DOUBLE_UNDERLINE | 设备字体不能使用双下划线模拟进行双下划线。 |
DF_NO_STRIKETHRU | 无法使用删除线模拟来打击设备字体。 |
DF_NOITALIC | 设备字体不能使用斜体模拟进行斜体化。 |
DF_NOUNDER | 设备字体不能使用下划线模拟来加下划线。 |
DF_XM_CR | Unidrv 必须在每行文本后发送回车命令。 |
wXRes
指定字体的 x 分辨率。
wYRes
指定字体的 y 分辨率。
sYAdjust
指定在点矩阵打印机上输出双高字符之前所需的垂直调整量。
sYMoved
指定在点矩阵打印机上打印双高度字符时产生的垂直光标移动量。
wPrivateData
可用于打印机特定的信息,例如 HP DeskJet 排列。
sShift
指定必须移动每个字符所依据的像素数。 用于Microsoft Z1a 墨盒。
SelectFont
INVOC 结构,包含打印机的字体选择命令。
UnSelectFont
是包含打印机字体取消选择命令的 INVOC 结构。
wReserved[4]
未使用。
言论
.ufm (Unidrv Font Metrics) 文件的 UNIDRVINFO 结构可通过文件的 UNIFM_HDR 结构中的指针访问。
要求
要求 | 价值 |
---|---|
标头 | prntfont.h (包括 Prntfont.h) |