ZPL II и динамическая ширина графического блока при обратной печати поля

Я новичок в языке ZPL II, и у меня есть некоторые проблемы с записью текста в обратном режиме с помощью команд ^GB и ^FR. Насколько я понял язык ZPL, когда я хочу напечатать текст в обратном режиме (белое поверх черного), я должен сначала нарисовать графическое поле с помощью команды ^GB, а затем установить поле для записи в обратном режиме с помощью специальная команда ^FR.

У меня проблема в том, что я хотел бы подогнать ширину графического поля к ширине текста. С шрифтом, который я использую, шрифтом ^A0, я не мог найти алгоритм для расчета правильной ширины графического блока. В зависимости от текста, если есть цифры, буквы или и то, и другое, ширина графического блока не просто (количество символов)*(ширина одного символа)...

Вот код, который я использую:

^XA ^FO64,0,^GB70,20,10^FS ^FO64,0,^FR^A0N,32,37^FD0001^FS ^XZ

При использовании сочетания цифр и букв графическое поле больше не подходит:

^XA ^FO64,0,^GB70,20,10^FS ^FO64,0,^FR^A0N,32,37^FDAW01^FS ^XZ

Буду очень признателен всем, кто подскажет правильный подход к моей проблеме.


person ThomasZ    schedule 01.09.2015    source источник


Ответы (1)


Я не верю, что есть способ сделать автоматический размер графического окна в зависимости от фактической длины текста. Я бы рекомендовал использовать моноширинный шрифт. Это должно легко позволить вам рассчитать ширину поля на основе количества символов. Используйте Zebra Utilities, чтобы загрузить моноширинный шрифт на принтер.

person Elton Saunders    schedule 02.09.2015
comment
Большое спасибо за ответ. Тем временем я нашел пост, похожий на мой, и определенно кажется, что нет решения с использованием масштабируемых шрифтов. (см. ссылку) - person ThomasZ; 03.09.2015