zplCore.comzplCore.com

35Accuracy

samples/LabelaryCompare renders the ZPL corpus samples/labelary/*.zpl and compares it pixel by pixel (2-dot tolerance) with printer-accurate Labelary references. LabelaryReferenceTests keeps every case at least at its current value.

0.986mean score
169test cases
131cases ≥ 0.99
CaseScorePrecisionRecallreference onlyzplCore.com only
ll-clip0.6451.0000.476124830
gd-orient0.8480.8440.852812957
gs-symbols0.8590.8570.86010591214
maxicode-modes0.8600.7970.93321439764
fp-rot0.8800.8940.868407297
code128-invoc0.9010.8400.9738255512
fb-rot-i0.9040.9150.8941067846
ci0-raw-cp8500.9080.9220.89451513383
ci-code-pages0.9120.8940.93257758987
fb-bitmap0.9130.9170.909806581
fonts-efgh0.9150.9500.883664218
ci0-fh-cp8500.9160.9270.90546803248
ft-barcodes-r0.9230.9230.92336873719
ci-national-sets0.9430.9400.94749495169
gs-sizes0.9430.9670.9212002797

The 15 weakest of 169 cases; 131 cases reach ≥ 0.99, 85 are pixel-identical (1.000). Full list: dotnet run --project samples/LabelaryCompare (offline against the stored references in tests/ZplCore.Tests/Reference/labelary).

The weakest cases concern edge cases such as clipping beyond the label length (ll-clip), ^GD orientation, ^GS symbols, MaxiCode modes, rotated fonts and the code page cases (^CI), where mainly the glyph shapes of the replacement fonts differ. QR codes (^BQ, model 2) are module-identical with the printer-accurate reference renderings – mode selection, version, error correction and mask, checked on more than 3,600 Labelary reference symbols. QR model 1 is printed as model 2. PDF417 (^B7) and MicroPDF417 (^BF) are codeword-identical with Labelary – compaction as on a Zebra printer, under ^CI28 Latin-1 bytes without ECI (characters above U+00FF are left out), as for ^BX, ^BO and ^BD. All symbols remain decodable; Labelary does not render ^BB and ^B4, so these are verified exclusively against bwip-js.