我正在尝试使用。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 cpclprintttext (Int32旋转,Int32FontType, Int32 FontSize, string PrintX, string PrintY, string Data,
Int32数);
你知道我该怎么打印非拉丁字符吗?
我联系了Citizen客户支持,他们告诉我"CMP-30支持ASCII码表,最高7f,所以在CPCL模式下不支持希腊字符。"所以唯一的方法就是通过ESC/POS…倒霉
可能的根本原因:
- 打印机不支持unicode打印(Zebra CPCL程序员手册只说明了Latin-1, Latin-9和CP850支持)
- 字体没有unicode字符的字形
- 打印字体样页(如果打印机支持这样的测试页)
- DLL不支持unicode
Citizen提供打印机的程序员手册吗?西铁城提供打印机的参考手册吗?你需要使用这个DLL还是可以直接编码?打印机是否也支持不同的打印机语言?这是哪种型号的打印机?
EDIT1:根据公民手册,打印机不支持包含代码页的希腊文:
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)