Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

BarBridge: a Rust core for GS1 Sunrise 2027 barcode pairs, callable from 7 languages over a C ABI

Description and use

BarBridge is a Rust core that generates GS1 1D+2D barcode pairs for the GS1 Sunrise 2027 transition. It offers a minimal C ABI and ready‑to‑run samples for 7 languages across 6 platforms, simplifying integration into POS, ERP, and printing systems.

Problem

Retailers and manufacturers must print both 1D and 2D GS1 barcodes together during the GS1 Sunrise 2027 transition, requiring correct sizing, layout, and compliance.

Outcome

BarBridge delivers ready‑to‑run samples in 7 languages across 6 platform targets, enabling any POS, ERP, or label‑printing tool to generate GS1‑compliant 1D+2D barcode pairs without vendor‑specific math.

Workflow

  • Build the Rust core implementing GS1 pairing logic
  • Expose a minimal C ABI with functions barbridge_render_png, barbridge_bytes_free, barbridge_last_error
  • Create a shared request.json with sample GS1 data
  • Generate prebuilt binaries for Windows, macOS, Linux (x64/ARM64)
  • Write language‑specific samples (Python ctypes, C/C++ header, C# P/Invoke, VB.NET P/Invoke, Java JNA, PHP FFI, Node.js koffi) that read the request, call barbridge_render_png, write PNG, and free buffer
  • Publish the library and samples on GitHub with dual MIT/Apache‑2.0 license

Evidence

In 2027, GS1 is moving retail POS barcode practice away from 1D-only symbols toward pairing them with 2D symbols (GS1 QR Code / GS1 DataMatrix).

Source

BarBridge didn’t start as its own project. The first version of this GS1 pairing logic was built as an optional feature inside ACR, our receipt/label rendering engine...

Source

The exposed surface is intentionally small: barbridge_render_png(request_json, &out_data, &out_len) renders a GS1 1D+2D pair to PNG bytes in memory

Source

  • Record date: 2026-11-02T02:29:07.330Z