38Limitations
Listed honestly – so there are no surprises at the printer.
Fonts: Zebra's resident fonts (0, A–H) are proprietary and are replaced by Roboto Condensed Bold and DejaVu Sans Mono respectively – calibrated to Zebra metrics, but the glyph shapes of the bitmap fonts A–H differ; for exact metrics, register the matching TTF with
Store.Fonts.RegisterFont("0", bytes). The human-readable line under barcodes is monospaced, but not true OCR-B.Not implemented
- Pharmacode 2D, Response Plus PostMatrix (no public specification)
- HIBC per ISO/IEC 15434 (data format envelope)
- Experimental: Deutsche Post BZL (
ZPLBZL001) and JABCode – the JABCode encoder is slow (approx. 0.5 s for 120 random Unicode characters) - ISBT 128: helper functions only for the data structures DS001–DS011
- JAB Code is experimental (bit-exact against BWIPP, but no decoder for cross-checking)
Deviations & limited verification
- Glyph shapes of the resident Zebra bitmap fonts A–H
- PDF417 (
^B7) and MicroPDF417 (^BF) are pixel-identical with Labelary; Macro PDF417 (^B7with^FM) and the MicroPDF417 part of^BTare not verified against Labelary - QR (
^BQ): model 1 is printed as model 2 - Labelary does not render
^BB(Codablock F) and^B4(Code 49) – verified only against bwip-js - Fingerprint output and the real printer transports (serial, USB, Windows spooler, CUPS) are not tested on hardware; TCP 9100 is tested against the virtual printer
- On Linux, glyph rasterization (FreeType instead of CoreText) differs slightly:
bitmap-fontsreaches 0.774 there instead of ≥ 0.919 ZplRescalerdoes not scale~DG/~DYdownloads and binary^GFB; 1D modules are rounded to whole dots- Media, sensor and configuration commands are accepted but do not affect the image
Checking and analysis tools
- Compliance and GS1 migration are pre-checks against public specifications (state October 2026), not certifications and no substitute for acceptance by a carrier, retailer or regulator
- Scan-proof grades are a digital pre-check modelled on ISO/IEC 15415/15416, not an ISO-conformant verification; print physics are not modelled. Without a loadable zxing-cpp library (glibc < 2.38, musl) only one decoder
- Extraction and redaction are rule-based and assistive: no guarantee of completeness, text inside images is not read
- Printer twin: unknown profile values are not checked (
ZPL5001); the print time is an estimate - Vector-Lift: text in font 0 (without your own TrueType font), no OCR, SVG without CSS/filters/gradients; PDF only in
ZplCore.VectorLift, not in the MCP server - Chaos printer: JSON port 9200 and the single-connection port are not simulated; assumptions where the guide is silent are documented
- NativeAOT: nested POCO members in data binding need
TrimmerRootAssembly; musl/Alpine is not a target yet

