打印 – ZPL打印机上的Unicode字符

我有任务重新设计一个系统来打印运输标签,使用联网的Zebra GK420T.我已经能够发送ZPL打印作业到它完全正常,但我似乎无法得到它打印unicode字符,如西里尔字母.我已经使用Seagull Scientific驱动程序将lucida sans unicode字体下载到打印机,我使用以下ZPL代码来测试:

^XA
^LH100,150
^CWT,E:TT0003M_.FNT
^CFT,30,30
^CI28
^FT0,0^FDTesting 1 2 3^FS
^FT0,50^FDДо свидания^FS
^FT0,100^B3^FDAAA001^FS
^XZ

它将打印“测试1 2 3”和条形码,但它留下空格,而不是西里尔字符.我做错了什么,像不能逃脱字符或某事,还是打印机的问题?

提前致谢

编辑:我尝试使用Zebra瑞士unicode字体,现在打印出俄语字符作为问号.我已经更新了上面的代码来反映它.

我刚刚发现,你需要转义ASCII以上的字符,首先将^ FH放在可能包含utf字符的任何^ FD字段之前,您需要使用带下划线的utf-8 hex代码前缀

_D0_94将打印为Д.我的最终ZPL代码如下:

^XA
^LH100,150
^CWT,E:TT0003M_.FNT
^CFT,30,30
^CI28
^FT0,0^FH^FDTesting 1 2 3^FS
^FT0,50^FH^FD_D0_94_D0_BE _D1_81_D0_B2_D0_B8_D0_B4_D0_B0_D0_BD_D0_B8_D1_8F^FS
^FT0,100^B3^FDAAA001^FS
^XZ

我只是要做一个方法来生成转义序列,这应该更容易!

相关文章
相关标签/搜索