Печать упрощенных китайских символов на Epson TM-T88IVM - PullRequest
7 голосов
/ 21 декабря 2009

Я пытаюсь напечатать китайские иероглифы на Epson TM-T88IV M (параллельный порт) с помощью Microsoft Point of Service SDK в C #. Тем не менее, они отображаются в виде знаков вопроса на принтере. (?)

Мой PosPrinter имеет следующий допустимый CharacterSetList: 255,437,850,852,858,860,863,865,866,936,998,999,1252

И следующий CapCharacterSet: Kanji

Кодовая страница 1252 является кодовой страницей Windows по умолчанию. 936 - это кодовая страница для упрощенного китайского. В этом случае я использую кодовую страницу 936, но никогда не мог отображать китайские иероглифы на принтере.

Пример:

string str = "重新开始";
// open device as variable _ReceiptPrinter, claim it, mark it as enabled 
_ReceiptPrinter.CharacterSet = 936;
_ReceiptPrinter.PrintNormal(PrinterStation.Receipt, str);

Это распечатывает текст со всеми китайскими символами, замененными на?.

Я не уверен, нужно ли мне указывать дополнительные коды перехода перед печатью (ESC R 15?) Или мой принтер неправильно настроен в Epson OPOS (v2.50e). Я попробовал несколько вещей, но ничего не помогло. Есть идеи или примеры кода?

Примечание. При самотестировании принтер печатает китайские иероглифы.

1 Ответ

3 голосов
/ 15 января 2010

Epson TM-T88IV Multilingual требует, чтобы вы преобразовали строку в CodePage 936 и затем представили эту строку в ISO-8859-1.

См. Этот другой вопрос для деталей об алгоритме:

Можем ли мы упростить этот код строкового кодирования

сделать это перед отправкой на принтер. str = Encoding.

...