Due to a new EU law every food packaging label has to outline possible allergy-causing ingredients by either styling them bold or underlined in the ingredients list.
Currently I'm printing my labels via ZPL to zebra printers. I checked the ZPL manuel 1 & 2 and didn't find way how to print something in bold or underlined. Is there any way to do this?
Example: "Ingredients: water, sugar, milk, cheese, chocolate"
SHOULD BE NOW: "Ingredients: water, sugar, milk, cheese, chocolate"
My current label code for the ingredients is:
^CF0,15
^FO13,245
^FB530,2,,L,
^FH^FD__VAR_INGREDIENTS__
^FS
Thank you very much for your help,
Stefan
To underline, draw a graphics box below the required letters. This is relatively easy to calculate since the width of each letter is constant.
There is not a separate command to draw a simple horizontal or vertical line, but the ^GB command can be used for this purpose by drawing a rectangle with height = 1 (horizontal line) or width = 1 (vertical line).
Zebra Programming Language (ZPL) is the command language used by all ZPL compatible printers. It is a command based language used by the printers as instructions to create the images printed on the labels.
To underline - use a monospaced font like AA,AC,AD,AF or AG
Use
^FO350,50^AGR^FDwhatever,milk,butter,salt^FS
^FO340,50^AGR^FD ____ ______^FS
where the underline here is under milk and butter, you can adjust the offset by trimming the FO
's X and Y positions by a few dots (10 X here)
On further investigation, I found
To bold
Use an old dot-matrix-printer trick. Still using fixed-pitch font, reprint the text but replacing the non-bold characters with spaces and adjust the X-position by 1 or 2 dots, reprint again with the Y-position adjusted by 1 o2 2 dots.
^FO350,50^AGR^FDwhatever,milk,butter,salt^FS
^FO348,50^AGR^FD milk butter^FS
^FO350,52^AGR^FD milk butter^FS
To underline, draw a graphics box below the required letters. This is relatively easy to calculate since the width of each letter is constant.
^FO345,490^GB0,160,4^FS
^FO345,690^GB0,240,4^FS
I tested using an A300 and 8"*3" labels, so I needed to rotate the text, hence some odd calculations. The manual does not show the ^FS
, even in the examples but I found it was required.
You could also try and make the font width grow a little:
^A0N,18,20
"^A" starts the font setting, where "0" is the embedded font, "N" the rotation, "18" the height and "20" the font width. The last one is 10 by default. So you're actually making the font wider, which results in a form of bold...
It may not affect the lines that are printed horizontally, but you will get a sense of bold.
(I know it's an 'old' topic, but I just wanted to share)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With