libdmtx

What is libdmtx?

libdmtx is open source software for reading and writing Data Matrix barcodes on Linux, Unix, OS X, Windows, and some mobile devices. At its core libdmtx is a shared library, allowing C/C++ programs to use its capabilities without restrictions or overhead. The included utility programs, dmtxread and dmtxwrite, serve as the official interface to libdmtx from the command line, and also provide a good reference for programmers who wish to write their own programs that interact with libdmtx. All of the software in the libdmtx package is distributed under the LGPL and can be used freely under these terms.

Example Data Matrix Symbol
Encoded: "Example Data Matrix Symbol"

Data Matrix barcodes are two-dimensional symbols that hold a dense pattern of data with built-in error correction. The Data Matrix symbology (sometimes casually referred to as "DataMatrix") was invented and released into the public domain by RVSI Acuity CiMatrix. Wikipedia has a good page on Data Matrix and its characteristics.

Project Status

The current stable version (0.7.0) introduced lots of goodies:

  • New Java wrapper! (thanks Pete and Dikran!)
  • New C#/.NET wrapper! (thanks Vali and Joe!)
  • Visual Studio 9.0 files! (thanks Cameron!)
  • Improved image handling approach
  • Improved support for Text/C40 reading (thanks Robin!)
  • Changed from GraphicsMagick to ImageMagick dependency
  • dmtxwrite support for major image formats, including SVG
  • Several bug and compiler warning fixes
  • Several cross platform improvements
  • Windows binaries now available

The unstable branch (SVN trunk) is also worth checking out:

  • Fast quad fill for dmtxDecodeMatrixRegion() (thanks Mackenzie!)
  • Decoding support for "05 Macro" and "06 Macro" (thanks Marlon!)

Note: If you have Data Matrix samples that use the macro syntax, please help the project by sending copies to Mike for testing purposes (email provided at the bottom of page). Thanks!

News

Recent News

Older News (show)

Make it Count!

Do you use libdmtx? You can get yourself counted by adding libdmtx to your stack at ohloh.net, or by clicking the "I USE IT" badge below.