0

下午好。

我在 Windows 8.1 上运行 pcl6.exe 版本 9.15。

我遇到了一个问题,其中 pcl6.exe 使用 PCL5 文件中的 16602 字体将任何撇号字符静默转换右单引号字符

这是我正在使用的命令行:

pcl6.exe -dNOPAUSE -sDEVICE=txtwrite -sOutputFile=test.txt test.prn

test.prn 输入(十六进制)

1B 28 30 55 1B 28 73 31 70 31 30 76 31 36 36 30 32 54 1B 26 61 30 76 30 48 3E 27 3C

test.prn 输入(文本 ['.' 是转义字符])

.(0U.(s1p10v16602T.&a0v0H>'<

test.txt 输出(十六进制)

20 20 3E E2 80 99 3C 0D 0A

test.txt 输出(文本)

  >’<..

预期的 test.txt 输出(十六进制)

20 20 3E 27 3C 0D 0A

预期的 test.txt 输出(文本)

  >'<..

是否有可以禁用此转换的标志或选项?

感谢您的时间。

4

2 回答 2

0

txtwrite 尽其所能处理输入,PCL 往往在 PCL 文件中没有太多信息,无法让我们确定字形应该是什么(PostScript 更好,而 PDF 通常更好)。

如果您认为存在真正的问题,我建议您最好的选择是打开错误报告。除此之外,我需要查看 PCL 文件以确定发生了什么。您使用的字符代码最可能对应于一个撇号,在特定字体中它是一个正确的引号。文本提取设备无法知道字体将绘制什么形状以响应字符代码。至少,不在 PCL 中

于 2014-10-02T16:52:24.423 回答
0

问题是由符号集引起的。

该示例使用PCL ISO 6:ASCII符号集(代码0U

http://www.pcl.to/symbolset/pcl_0u.pdf

根据 0U 符号集参考,撇号( 0x27 ) 被替换为单引号( 0x2019 )。Pcl6.exe 然后将这些 UTF-16 字节转换为它们的等效 UTF-8:0xE28099

于 2014-10-02T22:27:32.417 回答