Печать упрощенных китайских иероглифов на 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(ул.));