2014-01-22 66 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可能是一個可行的選擇。