【发布时间】:2014-07-07 04:45:40
【问题描述】:
有没有办法计算 Zebra Font 0 给定文本的总宽度?考虑以下 ZPL 命令,
**^XA^FO100,150^A030,30^FDSample Text^FS^XZ**
这里的字符高度和宽度都是 30 点。我想以毫米为单位计算此文本的实际宽度。请注意,打印机 DPI 为 300.......
【问题讨论】:
标签: zebra-printers thermal-printer zpl
有没有办法计算 Zebra Font 0 给定文本的总宽度?考虑以下 ZPL 命令,
**^XA^FO100,150^A030,30^FDSample Text^FS^XZ**
这里的字符高度和宽度都是 30 点。我想以毫米为单位计算此文本的实际宽度。请注意,打印机 DPI 为 300.......
【问题讨论】:
标签: zebra-printers thermal-printer zpl
Font 0 是一种可变宽度字体(不像其他字体那样是等宽字体),因此文本的宽度将取决于文本本身。
一种选择是切换到内置的等宽字体,如字体 C,其中每个字符始终为 10 点宽,字符间距为 2 点宽(参见Zebra Programming Guide,第 1212 页表 32 和第 1216 页表 35)。如果您的打印机是 300 DPI,那么它是 12 dpmm(每毫米点数),您可以从那里根据您有多少字符(以及它们之间有多少间隙)进行数学运算:
“示例文本”长度 = 11 个字符
字符间距 = 11 - 1 = 10 个字符间距
(11 个字符 * 10 个字符宽度)+(10 个字符间距 * 2 个间距宽度)= 130 个点
130 点 / 12 dpmm = 10.8 毫米
但是,如果您真的想使用字体 0,并且如果您知道要测量什么文本,那么您可以尝试使用 ^GB 在其周围画一个框,以获得粗略的宽度近似值。
Here's 使用示例文本的示例,这似乎表明它的宽度约为 112 点。在您的密度(每毫米 12 个点)下,这略高于 9 毫米。
【讨论】:
1312 页上,位于Table 33 • Intercharacter Gap and Baseline Parameters 内。要更改字体,您可以使用^A 命令,例如字体 F:^AFN,26,13。 26 和 13 来自 Table 33,对应字体 F 的高度和宽度。