我使用通用纯文本驱动程序将文本打印到点阵打印机中,并且我设法在 135 个字符宽的纸张上为每个空打印字符使用一个空格字符来对齐纸张列上的数据。这适用于 10CPI,因为数据位于它们应该在的列中,但如果用户选择其他字符大小(例如 17CPI)则不会。在后一种情况下,对齐被保留,但数据不在预期的位置。例如,一个字符应该在该行的第 120 个位置(第 120 个字符),而在 10CPI 上它确实打印在那里,接近行尾,在 17CPI 上它打印在纸的中间。
我知道发生这种情况是因为我在列之间使用的实际空格字符在 17CPI 上较小。
所以,我的问题是:
1) 每当音高大于 10CPI 时,我是否应该继续使用多个空格字符?我可以对此进行测试,但这似乎不是一个好习惯。或者我应该尝试使用适当的 esc 命令使用绝对水平位置?但是,根据 escp2 手册,不建议这样做。
2)我应该在发送到打印机的每行数据的字符串中发送 \r\n 还是应该只发送数据行并在其末尾发送 escp2 命令 CR?
提前致谢。