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

Я пытаюсь распечатать китайские символы на 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: Кандзи

Кодовая страница 1252 является кодовой страницей окон по умолчанию. 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). Я попробовал много вещей, но ничто не работало. Какие-либо идеи или примеры кода?

Примечание: в сам тест, принтер действительно печатает китайские символы.

7
задан Jason Kealey 22 December 2009 в 00:19
поделиться

1 ответ

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

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

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

перед отправкой на принтер. str = Encoding.GetEncoding("ISO-8859-1").GetString(Encoding.GetEncoding(_ReceiptPrinter.CharacterSet).GetBytes(str));

.
3
ответ дан 7 December 2019 в 16:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: