2014-01-22 67 views
1

我有一个Intermec PC43t条码打印机,我无法打印希腊字符。当我发送希腊字符进行打印时,我有点字符应该是。当我用英文打印某些东西时,我有正确的结果。如何从zpl命令打印希腊字符

我发送ZPL2命令到Intermec打印机(通过Zsim)。 下面是这些命令。


^XA
^BY3
^FT430,80
^BCI,80,Y,N,N
^FD00001978^FS
^FT360,320^ADI,25,14^FD123457^FS
^FT140,320^ADI,25,14^FD1245^FS
^FT300,270^ADI,40,20^FD8794465^FS
^FT300,215^ADI,40,20^FD99999/99999^FS
^FT430,175^ADI,25,15^FD40125-Eλληνικά - 希腊语^ FS
^XZ

有人知道解决方案吗?

谢谢

回答

1

您可以用CIX参数尝试(更改国际字体/编码),其中X是编码的数量。

可能是斑马码Page 1253 - 现代希腊字符集?

CI34 =代码页使用的1253

例子:

^FB559,,,C,^FT30,106^[email protected],23,31,TT0003M_^FH^CI17^F8^FD_text_^FS^CI0 
1

这个解决方案不是Unicode,但如果您的固件支持它(根据the documentationx.14.x及更高版本),你可以迫使希腊windows-1253 codepage并使用hex version of the 1253 code table for each character追加。

注意:尽管名称不同,windows-1253不需要Windows操作系统与Zebra打印机一起使用。

// ^XA = Start of label 
// ^XZ = End of label 
// ^CF = Font size 
// ^FO = X,Y position on label 
// ^CI34 = Code Page 1253 - Zebra x.14.x fimware or higher only 
// ^FH = Allow "_FF" style escaped hex characters 

^XA 
^CF0,60 
^CI34^FO50,50^FH^FD - Theta: _C8 ^FS 
^CI34^FO50,100^FH^FD - Lambda: _CB ^FS 
^XZ 

这种方法的缺点是程序员将不得不采取:

  1. 动态每个希腊字母的cp1253相当于映射准备ZPL消息之前,或...
  2. 在发送之前,使用字符编码转换器将UTF字符映射到cp1253等效字符。 Many programming languages have built-in methods for doing this。警告,因为它们可能在终端或输出流中显示为奇怪的符号。

所以,如果打印机直接支持Unicode数据,那是理想的解决方案,但如果不是,cp1253可能是一个可行的选择。