FUKUCHI Kentaro's web pages / Works


libqrencode

DOWNLOAD

Latest release

Development edition

You can find the development edition at github.

GENERAL INFORMATION

Libqrencode is a C library for encoding data in a QR Code symbol, a kind of 2D symbology that can be scanned by handy terminals such as a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000 characters, and is highly robust.


QR Code example

This library is characterized by:

SPECIFICATION

Libqrencode supports QR Code model 2, described in JIS (Japanese Industrial Standards) X0510:2004 or ISO/IEC 18004. Currently the following features are not supported:

INSTALL

Requirements

Some test programs or utility tools requires SDL or PNG, but the library itself has no dependencies. You can skip compiling those tools if you want not to install programs using SDL or PNG. If you are trying to compile this library on MS-Windows, cygwin or some kinds of UNIX-like environments is required.

Compile & install

Just try

./configure
make
make install

This compiles and installs the library and header file to appropriate directories(by default, /usr/local/lib and /usr/local/include). You can change destination directories by passing some options to the configure script. Run ./configure --help to see the list of available options.

It also installs a binary "qrencode" to /usr/local/bin. If you want not to install it, give --without-tools option to the configure script.

USAGE

Basic usages of this library are written in the header file (qrencode.h). You can generate a manual of the library by Doxygen.

Generated manual

LICENSING INFORMATION

Copyright (C) 2006-2012 Kentaro Fukuchi

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

CONTACTS

Visit this page (http://fukuchi.org/works/qrencode/index.html) for new releases.

Please mail any bug reports, suggestions, comments or questions to Kentaro Fukuchi. Questions of license compliance are also welcome.

ACKNOWLEDGMENTS

QR Code is registered trademarks of DENSO WAVE INCORPORATED in JAPAN and other countries.

Reed-Solomon code encoder is written by Phil Karn, KA9Q.
Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q

RPM packages are done by Katsumi Saito.

BINDINGS and PORTS

The following bindings are not included in the package of libqrencode. Please follow the instructions of them to install.

Libqrencode is ported to the following systems:

REFERENCES

Old releases

CHANGE LOG

3.4.4 (2014.7.24)
  • Bug fix release. (Thanks to Yoshimichi Inoue)
  • New option "--verbose" has been added to the command line tool.
3.4.3 (2013.8.12)
  • New option "--rle" has been added to the command line tool (Thanks to Daniel Dörrhöfer)
  • Bug fixes in the library and command line tool. (Thanks to Hassan Hajji, Emmanuel Blot, and ßlúèÇhîp)
3.4.2 (2013.3.1)
  • Memory leak bug has been fixed. (Thanks to chisj)
  • Micro QR Code encoding bug has been fixed. (Thanks to vlad417)
  • String splitting has been improved. (Thanks to Viona)
3.4.1 (2012.10.17)
  • A bug that mutual exclusion was not performed has been fixed.
3.4.0 (2012.10.15)
  • SVG, UTF8, and ANSIUTF8 output supports have been added to the command line tool. (Thanks to Dan Storm, David Dahl, and Lennart Poettering)
  • Colored QR Code support.
  • Bug fixes. (Thanks to Terry Burton, Fred Steinhaeuser, and Yann Droneaud)
3.3.1 (2012.4.18)
  • Bugs in command line tool, manual, configure script, and libtool files have been fixed. (Thanks to Yutaka Niibe and Rob Ryan)
3.3.0 (2012.4.1)
  • EPS, ANSI, and ASCII text output supports have been added. (Thanks to Zapster, Colin, and Ral)
  • QRcode_APIVersion() and QRcode_APIVersionString() have been added.
3.2.1 (2012.4.1)
  • Bugs in configure script and libtool file has been fixed. (Thanks to Yutaka Niibe)
3.2.0 (2011.11.26)
  • "--dpi" (or "-d") option has been added to qrencode. This option set DPI information in an output PNG image. (Thanks to David Dahl)
  • New option "--enable-thread-safety" has been added to the configure script that makes the library thread-safe. It is enabled by default.
  • QRcode_encodeData(), QRcode_encodeDataMQR, QRcode_encodeDataStructured() have been added for binary data encoding including '\0'.
  • Typo and bug fixes.
  • Experimental Micro QR Code support has been added.
  • "--micro" (or "-M") option for Micro QR Code has been added to qrencode.
3.1.1 (2010.2.3)
  • A bug in data encoder has been fixed.
3.1.0 (2009.6.6)
  • Various code cleanups and performance improves.
  • Strict internal error checks have been added.
  • "--without-tests" has become default setting. Specify "--with-tests" to compile test programs.
  • Some memory leak bugs have been fixed.
3.0.3 (2008.6.1)
  • Portability enhancement. (Thanks to Gavan Fantom)
  • The command line tool "qrencode" now accepts long options.
3.0.2 (2008.5.18)
  • Some compile-time warnings/erros with g++ have been fixed. (Thanks to wangsai)
  • The bit order of "Version information" has been corrected. Symbols greater than version 6 were affected. (Thanks to Paul Janssesn)
  • The "--without-tests" option has been added to the configure script.
3.0.1 (2008.5.9)
  • Qrencode now writes an image file correctly on Windows. (Thanks to Paul Janssens)
  • The RPM spec file now packages the man page correctly.
3.0.0 (2008.4.30)
  • The interface of QRencode_encodeInput() has been changed. User applications using it must be modified.
  • Structured append support has been added. (patches from Yusuke Mihara)
  • The "-S" option for structured append has been added to qrencode and view_qrcode.
  • Some functions now set errno to indicate errors.
  • Some bug fixes.
2.0.0 (2008.1.24)
  • "-i" option to ignore case distinctions has been added to qrencode and view_qrcode.
  • "-c" option (case-sensitive mode) of qrencode is now enabled by default and has been improved. See details in Release Note section.
  • "-8" option has been added to qrencode to encode whole data in 8-bit mode.
  • tests/view_qrcode now accepts various options like qrencode.
  • Man page has been added.
  • Code cleanup.
  • The mask evaluation bug has been fixed. (Philippe Delcroix)
1.0.2 (2007.3.24)
  • A small bug fix. (Thanks to NANKI Haruo)
  • 'extern "C"' barrier has been added to qrencode.h.
1.0.1 (2006.12.27)
  • Added "force 8-bit encoding mode".
  • Configure script finds libpng's header correctly. Mac OS X + fink is now supported.
1.0.0 (2006.12.12)
  • Initial release.
FUKUCHI Kentaro (E-mail address is here)