Я пытаюсь напечатать китайские символы на Epson TM-T88IV M (параллельный порт) с помощью Microsoft Point of Service SDK на C#. Тем не менее, они отображаются как вопросительные знаки на принтере.Печать упрощенных китайских иероглифов на Epson TM-T88IVM
Мой Чековый имеет следующий действительный 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);
Это печатает текст со всеми китайскими иероглифами заменены?.
Я не уверен, нужно ли указывать дополнительные escape-коды перед печатью (ESC R 15?), Или если мой принтер неправильно сконфигурирован в Epson OPOS (v2.50e). Я пробовал несколько вещей, но ничего не сработало. Любые идеи или примеры кода?
Примечание: в своем самотестировании принтер печатает китайские иероглифы.
Что такое 'charset' в вашем примере? Кроме того, Кандзи! = Упрощенный китайский. –
charset == 936 (кодовая страница для упрощенного китайца); Kanji - это значение перечисления CapCharSet. Я надеялся на юникод, но предположил, что Epson определяет его как Кандзи из-за отсутствия лучшего выбора (и я не думаю, что этот принтер поддерживает все юникоды, только конкретное подмножество для упрощенного китайского языка) \t public enum CharacterSetCapability \t { \t \t Числовой = 0, \t \t альфа = 1, \t \t кана = 10, \t \t кандзи = 11, \t \t Юникода = 997, \t \t Ascii = 998, \t \t Windows = 999, \t \t Ansi = 999, \t} –