使用 ZPL 2 使用 ^FO 和 ^FT 命令查找等效 X/Y 坐标,以便在同一位置打印旋转文本

Find equivalent X/Y coordinates such that rotated text is printed at the same position using both ^FO as well as ^FT command using ZPL 2

我正在尝试将 ^FO 命令的 X/Y 坐标转换为等效的 ^FT 坐标,这样标签中的文本位置不会因旋转文本而改变。

我正在寻找的解决方案已经在我之前提出的一个问题中得到了部分解决 [link 在此处添加] ()

我能够找到一些用于不同旋转的方程式(如下面的字体 0 所述),但我不确定用于转换相应 Y 坐标 270 度旋转或等效 X 坐标 180 度旋转的确切公式:

对于 0 旋转: FOx = FTx 和 FOy = FTy - (0.75 * 高度)

对于 90 度旋转: FOx = FTx - (0.25 * 高度) 和 FOy = FTy

180度旋转: FOx = 尚未找到并且 FOy = FTy - (高度 * 0.25)

对于 270 度旋转: FOx = FTx - (高度 * 0.75) 和 FOy = 尚未找到

我想那些缺失的方程式取决于要打印的文本中的字符数以及文本的宽度,但我找不到确切的方程式。

如有任何想法或建议,我们将不胜感激。

FOx(180 度旋转)的计算结果为: FOx = FTx - 文本长度

对于 FOy(270 度旋转)将是: FOy = FTy - 文本长度

non-monospaced 字体(字体 0)的文本长度很难计算,因为不同字符的宽度会有所不同。 对于等宽字体,将根据 ZPL Programming guide.

中的 Table 26(页码:1413)为不同的字体计算以点为单位的文本长度

另一个关于如何计算长度的有用答案如下: How to Calculate Zebra Font 0 text width?