Skip to content

Add EAN-8 barcode support#341

Open
Joebu wants to merge 2 commits into
BinaryKits:developfrom
Joebu:feature/ean8-barcode
Open

Add EAN-8 barcode support#341
Joebu wants to merge 2 commits into
BinaryKits:developfrom
Joebu:feature/ean8-barcode

Conversation

@Joebu
Copy link
Copy Markdown

@Joebu Joebu commented Apr 30, 2026

Adds end-to-end support for the EAN-8 barcode (^B8) symbology, which was
previously missing from the label, analyzer, and viewer projects.

  • BinaryKits.Zpl.Label

    • New ZplBarcodeEan8 element that emits ^B8 ZPL with the same parameters
      as ZplBarcodeEan13 (orientation, height, interpretation line, etc.).
    • Adds a unit test mirroring BarcodeEan13.
  • BinaryKits.Zpl.Viewer

    • New CodeEAN8BarcodeFieldData model and CodeEAN8BarcodeZplCommandAnalyzer
      to parse ^B8 commands.
    • FieldDataZplCommandAnalyzer creates a ZplBarcodeEan8 when the next field
      data is an EAN-8 barcode.
    • New BarcodeEAN8ElementDrawer renders the barcode using ZXing's
      EAN8Writer and draws the standard 4|4 interpretation line below the
      barcode with guard tails (67-module layout: 3 + 47 + 5 + 47 + 3).
    • Registers the new analyzer and drawer in ZplAnalyzer and
      ZplElementDrawer respectively.

Joebu added 2 commits April 30, 2026 17:09
Adds end-to-end support for the EAN-8 barcode (^B8) symbology, which was
previously missing from the label, analyzer, and viewer projects.

- BinaryKits.Zpl.Label
  - New ZplBarcodeEan8 element that emits ^B8 ZPL with the same parameters
    as ZplBarcodeEan13 (orientation, height, interpretation line, etc.).
  - Adds a unit test mirroring BarcodeEan13.

- BinaryKits.Zpl.Viewer
  - New CodeEAN8BarcodeFieldData model and CodeEAN8BarcodeZplCommandAnalyzer
    to parse ^B8 commands.
  - FieldDataZplCommandAnalyzer creates a ZplBarcodeEan8 when the next field
    data is an EAN-8 barcode.
  - New BarcodeEAN8ElementDrawer renders the barcode using ZXing's
    EAN8Writer and draws the standard 4|4 interpretation line below the
    barcode with guard tails (67-module layout: 3 + 4*7 + 5 + 4*7 + 3).
  - Registers the new analyzer and drawer in ZplAnalyzer and
    ZplElementDrawer respectively.

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant