Печать упрощенных китайских иероглифов на Epson TM-T88IVM

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

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

и следующий CapCharacterSet: Кандзи

кодовая страница 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);

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

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

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

1 ответов


многоязычный Epson TM-T88IV требует, чтобы вы преобразовали строку в кодовую страницу 936, а затем представили эту строку в ISO-8859-1.

ознакомиться с вопросом подробнее об алгоритме:

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

сделать это перед отправкой на принтер. стр = кодировка.GetEncoding ("ISO-8859-1").Метода GetString(Кодирование.Метод Getencoding(_ReceiptPrinter.Набор символов).Метод getbytes(ул.));