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
Я был бы очень благодарен любому, кто мог бы дать мне правильный подход к моей проблеме.
1 ответ
Я не верю, что есть способ сделать размер графического блока автоматически основанным на фактической длине текста. Я бы порекомендовал использовать моноширинный шрифт. Это должно легко позволить вам рассчитать ширину поля на основе количества символов. Используйте Zebra Utilities, чтобы загрузить моноширинный шрифт на принтер.