带有非英文 unicode 字符的 Zebra CPCL 打印机问题

Zebra CPCL printer issue with non-english unicode characters

我正在尝试在 .NET 环境中使用 Citizen 打印机打印一些标签。为了做到这一点,我使用了制造商提供的 P30CPCl.dll 以及与此处找到的手册几乎相同的相关手册: ftp://ftp.maxatec-europe.com/Maxatec/LK-P/LK-P41/Driver/Mobile%20Driver/English/Manuals/LK-P41(CPCL)%20Program%20Manual_English.pdf ,因为显然许多或所有 CPCL 打印机都使用相同的 .dll.

我打印英文字符没有问题,但是当涉及到希腊字符时,我得到“?????? ???”反而。该函数的签名似乎不支持代码页:

public static extern Int32 CPCLPrintText(Int32 Rotation, Int32 FontType, Int32 FontSize, string PrintX, string PrintY, string Data, Int32 count);

有什么办法可以打印非拉丁字符吗?

可能的根本原因:

  • 打印机不支持unicode打印 (Zebra CPCL 程序员手册仅说明 Latin-1、Latin-9 和 CP850支持)
  • 该字体没有 unicode 字符的字形
  • 打印字体样本页(如果打印机支持此类测试页)
  • DLL 不支持 unicode

Citizen 是否提供打印机的程序员手册? Citizen 是否提供打印机的参考手册? 您需要使用此 DLL 还是可以直接编码? 打印机是否也支持不同的打印机语言? 这到底是哪种打印机型号?

编辑1: 根据公民手册,打印机不支持包含代码页的希腊语:

N. COUNTRY/CODE PAGE Command
The COUNTRY control command substitutes the appropriate character set for the specified country,
Format
{command} {name}
Command & option
{command} COUNTRY
{name} USA
GERMANY
FRANCE
SWEDEN
SPAIN
NORWAY
CHINA (double byte encoding)
ITALY
CP850
UK
BIG5 (Traditional Chinese; double byte encoding)
JAPAN-S (Simplified Japanese fonts; double byte encoding)

我联系了 Citizen 客户支持,他们告诉我 "CMP-30 supports ASCII code table up to 7f, so Greek characters will not be supported in CPCL mode." 所以唯一的方法是通过 ESC/POS.. 运气不好