Печать на Zebra ZQ510 с использованием режима «line_print» на чековой бумаге с непрерывной подачей.
! U1 setvar "ezpl.media_type" "continuous" \r\n
! U1 setvar "device.languages" "line_print" \r\n
! U1 ENCODING UTF-8 \r\n
! U1 SETLP 5 0 28 \r\n
! U1 PAGE-WIDTH 580 \r\n
! U1 BEGIN-PAGE \r\n
Has the person to be vaccinated ever had \r\n
Guillain-Barré syndrome?: \r\n
! U1 END-PAGE \r\n
Вышеуказанные команды выводятся на соединение принтера с использованием этого кода Objective- C для кодирования двоичных данных как UTF-8:
-(void) printCommands: (NSString*) tPrintCommands {
...
[aPrinterConn write:[tPrintCommands dataUsingEncoding:NSUTF8StringEncoding] error:&aError];
...
}
Но вместо «Барре» я получаю «Барре» на распечатке. Кажется, что Unicode "é" обрабатывается принтером как 2 отдельных символа.
Я попытался заменить ! U1 ENCODING UTF-8 \r\n
на ! U1 COUNTRY UTF-8 \r\n
, и я поместил ! U1 ENCODING UTF-8 \r\n
до и после BEGIN-PAGE
. Один и тот же результат каждый раз.