When printing using the ZPLGK / ZPLII format you might run into an issue where the label print looks blocky and might be missing parts of the text. In this case, the most common error is that the printer is missing the font used by the label.
- Label print to the left is printed on a printer that does have the font used by the label uploaded.
- Label print to the right has the needed font uploaded.
The ZPLGK / ZPLII format is used by all new labels, this allows us to use the Arial font.
The Arial font is needed to support UTF-8 characters and has better support for scaling, making it possible to include more information on the label. Compared to the previous ZPL / EPL format.
Content in this article:
Troubleshooting
Check if the ARIALB.FNT & ARIALR.FNT is loaded in the printer's memory.
There are two ways you can see this:
Print Object List
Access the Printer properties -> General -> Preferences -> Tools -> Print-> Print Object list-> Send
Web Interface
Open Directory Listing using the Web Interface on the printer.
How to upload the Arial font to the printer
Note: The printer will take around 60 sec to process the job containing the font, after this, you should be able to print any labels which are using the ZPLII / ZPLGK format correctly.
The printer should not lose the font if restarted.
Here are two different ways you can upload the font to a printer with:
Using Drop Zone
Log into https://www.nshiftportal.com and go to Ship > Configuration > Settings.
If needed download Drop Zone and configure the printer with the missing font as the default printer.
Then click the Update fonts button.
Using the Zebra printer driver
Access the Printer properties -> General -> Preferences -> Tools -> Action -> Send file -> Selected the SPL file from the attached ZIP file -> Send
https://nshift.zendesk.com/hc/article_attachments/360005817800/FONT.ZIP
Using the Shipment Server method GetPrinterFonts
The method only requires the key PrinterKind in the options object
{
"PrinterKind": "ZPLGK"
}
Decode the base64 encoded Fonts object and send it to the printer just like a normal label print.