我在将希腊字符打印到Zebra GC420台式打印机时遇到问题。我的代码是:
$printarr[] = '^XA^CWZ,E:TT0003M_.FNT^FS^XZ^XA^FWN^FO70,50^A0,30,25^FH^FD'.labels_utf8_parse($name).'^FS^FO70,90^BY2^B3,,100^FD' . $node->field_o['und'][0]['value'] . '^FS^XZ';
我究竟做错了什么?我得到的不是希腊字母,而是十字架。奇怪的是,在代码的其他区域,以下代码正确打印了希腊字符:
$toprint = '^XA^CWZ,E:TT0003M_.FNT^FS^XZ^XA^FWR';
我该怎么办,我应该如何继续观察问题所在以及如何解决?
你需要使用将字符编码设置为UTF-8 ^CI28
。将其放在格式的顶部附近,例如,在^XA^FWN
。之后。
这是一方面。如何确保打印机已加载自定义字体,以便显示希腊字符?“ ZPL内置字体不支持许多非拉丁字符,因此您可能需要使用自定义字体(例如,通过〜DU命令上载到打印机)” zpl代码?
您可以使用
^XA^HWE:TT0003M_.FNT^XZ
查询打印机的字体目录列表。有关^HW
返回的字符串的格式,请参见ZPL参考中的命令。