1

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

我将 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 - Ελληνικά - 希腊语 ^FS
^XZ

有人知道解决方案吗?

谢谢

4

3 回答 3

2

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

可能是 Zebra Code Page 1253 — 现代希腊字符集?

CI34 = 代码页 1253

使用示例:

^FB559,,,C,^FT30,106^A@N,23,31,TT0003M_^FH^CI17^F8^FD_text_^FS^CI0
于 2014-02-24T16:35:43.807 回答
1

此解决方案不是 Unicode,但如果您的固件支持它(x.14.x并且根据文档支持更高版本),您可以强制使用希腊windows-1253代码页并为每个字符使用 1253 代码表的十六进制版本

注意:尽管名称如此,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等效字符。 许多编程语言都有执行此操作的内置方法。警告,因为这些可能在终端或输出流中显示为奇怪的符号。

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

于 2016-01-06T02:16:06.087 回答
0

按照 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();
  }
}
于 2019-08-19T09:02:16.390 回答