Unicode 如何从zpl命令打印希腊字符

Unicode 如何从zpl命令打印希腊字符,unicode,zpl,barcode-printing,zpl-ii,intermec,Unicode,Zpl,Barcode Printing,Zpl Ii,Intermec,我有一台Intermec PC43t条形码打印机,不能打印希腊字符。当我发送希腊文字符进行打印时,我会在字符应该出现的地方加上点。当我用英语打印东西时,我得到了正确的结果 我向Intermec打印机发送ZPL2命令(通过Zsim)。 下面是命令 ^XA ^BY3 ^FT430,80 ^BCI,80,Y,N,N ^FD00001978^FS ^FT360320^ADI,25,14^FD123457^FS ^FT140320^ADI,25,14^FD1245^FS ^FT300270^ADI,40,

我有一台Intermec PC43t条形码打印机,不能打印希腊字符。当我发送希腊文字符进行打印时,我会在字符应该出现的地方加上点。当我用英语打印东西时,我得到了正确的结果

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


^XA
^BY3
^FT430,80
^BCI,80,Y,N,N
^FD00001978^FS
^FT360320^ADI,25,14^FD123457^FS
^FT140320^ADI,25,14^FD1245^FS
^FT300270^ADI,40,20^FD8794465^FS
^FT300215^ADI,40,20^FD99999/99999^FS
^FT430175^ADI,25,15^FD40125-希腊语
^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
代码页并使用附加

注意:尽管名称不同,
windows-1253
不要求windows操作系统与Zebra打印机一起工作

这种方法的缺点是程序员必须:

  • 在准备ZPL消息之前,动态地将每个希腊字符映射到
    cp1253
    等效字符,或者
  • 发送前,使用字符编码转换器将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();
      }
    }
    
    公共类GreekToHexZPL{
    公共字符串转换文本(字符串新文本){
    StringBuilder sBuilder=新StringBuilder();
    对于(int i=0;ipublic 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();
      }
    }