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.
| Case | Score | Precision | Recall | reference only | zplCore.com only |
|---|---|---|---|---|---|
ll-clip | 0.645 | 1.000 | 0.476 | 12483 | 0 |
gd-orient | 0.848 | 0.844 | 0.852 | 812 | 957 |
gs-symbols | 0.859 | 0.857 | 0.860 | 1059 | 1214 |
maxicode-modes | 0.860 | 0.797 | 0.933 | 2143 | 9764 |
fp-rot | 0.880 | 0.894 | 0.868 | 407 | 297 |
code128-invoc | 0.901 | 0.840 | 0.973 | 825 | 5512 |
fb-rot-i | 0.904 | 0.915 | 0.894 | 1067 | 846 |
ci0-raw-cp850 | 0.908 | 0.922 | 0.894 | 5151 | 3383 |
ci-code-pages | 0.912 | 0.894 | 0.932 | 5775 | 8987 |
fb-bitmap | 0.913 | 0.917 | 0.909 | 806 | 581 |
fonts-efgh | 0.915 | 0.950 | 0.883 | 664 | 218 |
ci0-fh-cp850 | 0.916 | 0.927 | 0.905 | 4680 | 3248 |
ft-barcodes-r | 0.923 | 0.923 | 0.923 | 3687 | 3719 |
ci-national-sets | 0.943 | 0.940 | 0.947 | 4949 | 5169 |
gs-sizes | 0.943 | 0.967 | 0.921 | 2002 | 797 |
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.

