如何从ZPL命令中打印希腊字符



我有一个InterMec PC43T条形码打印机,我无法打印希腊字符。当我发送希腊字符以打印时,我会有字符应在哪里。当我用英语打印一些东西时,我会有正确的结果。

我将ZPL2命令发送到InterMec打印机(通过ZSIM)。以下是命令。


^xa
^by3
^ft430,80
^bci,80,y,n,n
^fd0000001978^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-ελληνικά -希腊语^fs
^xz

有人知道解决方案吗?

谢谢

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

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

ci34 =代码页1253

用法的示例:

^FB559,,,C,^FT30,106^A@N,23,31,TT0003M_^FH^CI17^F8^FD_text_^FS^CI0

此解决方案不是UNICODE,但是如果您的固件支持它(根据文档,x.14.x及更高),您可以强制使用希腊windows-1253 CodePage并使用1253代码表的HEX版本附加对于每个字符。

注意:尽管有名称,但windows-1253不需要Windows操作系统使用斑马打印机运行。

// ^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. 在准备ZPL消息之前,将每个希腊字符动态映射到cp1253等效,或...
  2. 使用编码转换器的字符将UTF字符映射到发送之前的cp1253等效物。许多编程语言都具有实现此目的的内置方法。警告,因为这些可能是终端或输出流中的奇怪符号。

因此,如果打印机直接支持Unicode数据,那是理想的解决方案,但是如果不是,则cp1253可能是可行的选项。

trsef的答案之后。这是对我有用的Java课。有人可能会发现它有用并节省一些时间:

public class GreekToHexZPL {
  public String convertText(String newText) {
    StringBuilder sBuilder = new StringBuilder();
    for (int i = 0; i < newText.length(); i++) {
        switch (newText.charAt(i)) {
            case 'Α':
                sBuilder.append("_C1");
                break;
            case 'Β':
                sBuilder.append("_C2");
                break;
            case 'Γ':
                sBuilder.append("_C3");
                break;
            case 'Δ':
                sBuilder.append("_C4");
                break;
            case 'Ε':
                sBuilder.append("_C5");
                break;
            case 'Ζ':
                sBuilder.append("_C6");
                break;
            case 'Η':
                sBuilder.append("_C7");
                break;
            case 'Θ':
                sBuilder.append("_C8");
                break;
            case 'Ι':
                sBuilder.append("_C9");
                break;
            case 'Κ':
                sBuilder.append("_CA");
                break;
            case 'Λ':
                sBuilder.append("_CB");
                break;
            case 'Μ':
                sBuilder.append("_CC");
                break;
            case 'Ν':
                sBuilder.append("_CD");
                break;
            case 'Ξ':
                sBuilder.append("_CE");
                break;
            case 'Ο':
                sBuilder.append("_CF");
                break;
            case 'Π':
                sBuilder.append("_D0");
                break;
            case 'Ρ':
                sBuilder.append("_D1");
                break;
            case 'Σ':
                sBuilder.append("_D3");
                break;
            case 'Τ':
                sBuilder.append("_D4");
                break;
            case 'Υ':
                sBuilder.append("_D5");
                break;
            case 'Φ':
                sBuilder.append("_D6");
                break;
            case 'Χ':
                sBuilder.append("_D7");
                break;
            case 'Ψ':
                sBuilder.append("_D8");
                break;
            case 'Ω':
                sBuilder.append("_D9");
                break;
            case 'Ϊ':
                sBuilder.append("_DA");
                break;
            case 'Ϋ':
                sBuilder.append("_DB");
                break;
            case 'ά':
                sBuilder.append("_DC");
                break;
            case 'έ':
                sBuilder.append("_DD");
                break;
            case 'ή':
                sBuilder.append("_DE");
                break;
            case 'ί':
                sBuilder.append("_DF");
                break;
            case 'ΰ':
                sBuilder.append("_E0");
                break;
            case 'α':
                sBuilder.append("_E1");
                break;
            case 'β':
                sBuilder.append("_E2");
                break;
            case 'γ':
                sBuilder.append("_E3");
                break;
            case 'δ':
                sBuilder.append("_E4");
                break;
            case 'ε':
                sBuilder.append("_E5");
                break;
            case 'ζ':
                sBuilder.append("_E6");
                break;
            case 'η':
                sBuilder.append("_E7");
                break;
            case 'θ':
                sBuilder.append("_E8");
                break;
            case 'ι':
                sBuilder.append("_E9");
                break;
            case 'κ':
                sBuilder.append("_EA");
                break;
            case 'λ':
                sBuilder.append("_EB");
                break;
            case 'μ':
                sBuilder.append("_EC");
                break;
            case 'ν':
                sBuilder.append("_ED");
                break;
            case 'ξ':
                sBuilder.append("_EE");
                break;
            case 'ο':
                sBuilder.append("_EF");
                break;
            case 'π':
                sBuilder.append("_F0");
                break;
            case 'ρ':
                sBuilder.append("_F1");
                break;
            case 'ς':
                sBuilder.append("_F2");
                break;
            case 'σ':
                sBuilder.append("_F3");
                break;
            case 'τ':
                sBuilder.append("_F4");
                break;
            case 'υ':
                sBuilder.append("_F5");
                break;
            case 'φ':
                sBuilder.append("_F6");
                break;
            case 'χ':
                sBuilder.append("_F7");
                break;
            case 'ψ':
                sBuilder.append("_F8");
                break;
            case 'ω':
                sBuilder.append("_F9");
                break;
            case 'ϊ':
                sBuilder.append("_FA");
                break;
            case 'ϋ':
                sBuilder.append("_FB");
                break;
            case 'ό':
                sBuilder.append("_FC");
                break;
            case 'ύ':
                sBuilder.append("_FD");
                break;
            case 'ώ':
                sBuilder.append("_FE");
                break;
            case 'Ά':
                sBuilder.append("_Α2");
                break;
            case 'Έ':
                sBuilder.append("_Β8");
                break;
            case 'Ή':
                sBuilder.append("_Β9");
                break;
            case 'Ί':
                sBuilder.append("_ΒA");
                break;
            case 'Ό':
                sBuilder.append("_ΒC");
                break;
            case 'Ύ':
                sBuilder.append("_ΒE");
                break;
            case 'Ώ':
                sBuilder.append("_ΒF");
                break;
            case 'A':
                sBuilder.append("_41");
                break;
            case 'a':
                sBuilder.append("_61");
                break;
            case 'B':
                sBuilder.append("_42");
                break;
            case 'b':
                sBuilder.append("_62");
                break;
            case 'C':
                sBuilder.append("_43");
                break;
            case 'c':
                sBuilder.append("_63");
                break;
            case 'D':
                sBuilder.append("_44");
                break;
            case 'd':
                sBuilder.append("_64");
                break;
            case 'E':
                sBuilder.append("_45");
                break;
            case 'e':
                sBuilder.append("_65");
                break;
            case 'F':
                sBuilder.append("_46");
                break;
            case 'f':
                sBuilder.append("_66");
                break;
            case 'G':
                sBuilder.append("_47");
                break;
            case 'g':
                sBuilder.append("_67");
                break;
            case 'H':
                sBuilder.append("_48");
                break;
            case 'h':
                sBuilder.append("_68");
                break;
            case 'I':
                sBuilder.append("_49");
                break;
            case 'i':
                sBuilder.append("_69");
                break;
            case 'J':
                sBuilder.append("_4A");
                break;
            case 'j':
                sBuilder.append("_6A");
                break;
            case 'K':
                sBuilder.append("_4B");
                break;
            case 'k':
                sBuilder.append("_6B");
                break;
            case 'L':
                sBuilder.append("_4C");
                break;
            case 'l':
                sBuilder.append("_6C");
                break;
            case 'M':
                sBuilder.append("_4D");
                break;
            case 'm':
                sBuilder.append("_6D");
                break;
            case 'N':
                sBuilder.append("_4E");
                break;
            case 'n':
                sBuilder.append("_6E");
                break;
            case 'O':
                sBuilder.append("_4F");
                break;
            case 'o':
                sBuilder.append("_6F");
                break;
            case 'P':
                sBuilder.append("_50");
                break;
            case 'p':
                sBuilder.append("_70");
                break;
            case 'R':
                sBuilder.append("_52");
                break;
            case 'r':
                sBuilder.append("_72");
                break;
            case 'S':
                sBuilder.append("_53");
                break;
            case 's':
                sBuilder.append("_73");
                break;
            case 'T':
                sBuilder.append("_54");
                break;
            case 't':
                sBuilder.append("_74");
                break;
            case 'U':
                sBuilder.append("_55");
                break;
            case 'u':
                sBuilder.append("_75");
                break;
            case 'V':
                sBuilder.append("_56");
                break;
            case 'v':
                sBuilder.append("_76");
                break;
            case 'Y':
                sBuilder.append("_59");
                break;
            case 'y':
                sBuilder.append("_79");
                break;
            case 'Z':
                sBuilder.append("_5A");
                break;
            case 'z':
                sBuilder.append("_7A");
                break;
            case ' ':
                sBuilder.append(" ");
                break;
            default:
                sBuilder.append(newText.charAt(i));
                break;
        }
    }
    return sBuilder.toString();
  }
}

相关内容

  • 没有找到相关文章

最新更新