libqrencode

ダウンロード

最新版

開発版

開発版のソースをgithubで公開しています。

概要

libqrencode は QR コードを生成するための C ライブラリです。 QR コードは二次元バーコードの一種で、数字なら最大約7000桁、 英数字だと最大約4000字を埋め込むことができ、また誤り訂正能力に優れています。

サンプル

本ライブラリは以下の特徴があります。

仕様

libqrencode は JIS X0510:2004 で規定される、QR コード モデル2 を生成します。ただし、JIS X0510:2004 の規定のうち以下に挙げる項目については、 対応していません。

インストール

必要事項

一部のテストプログラムやユーティリティは SDL や PNG ライブラリを必要としますが、ライブラリ自体はそれらなしに使うことができます。 Microsoft Windows 上でのコンパイルには、Cygwin などの UNIX 的環境が必要となるでしょう。

コンパイルとインストール

単純に

./configure
make
make install

でインストールできる筈です。ライブラリ本体とヘッダファイルがそれぞれ適切な場所にインストールされます。 インストール先は通常だと /usr/local/lib および /usr/local/include に設定されますが、 configure スクリプトに適宜オプションを渡すことで変更できます。 ./configure --help とするとオプションの一覧が表示されます。

また、"qrencode" という名前のユーティリティツールが、/usr/local/bin にインストールされます。もしこのツールをインストールしたくない場合は、 configure 時に --without-tools というオプションを設定してください。

使い方

ライブラリの基本的な使い方は、ヘッダファイル (qrencode.h) に記されています。 Doxygen を使うと、ヘッダファイルからマニュアルを生成することができます。

マニュアル

使用許諾

本ライブラリの著作権は、福地健太郎にあります。また、このライブラリは GNU Lesser General Public License (LGPL) の元で公開されています。 同ライセンスに従って、貴方は自由に本ライブラリを再配布したり改変したりすることができます。 細かい規定については LGPL を参照してください。

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

連絡先

libqrencode の一次配布元はこのページ (https://fukuchi.org/works/qrencode/index.html) を参照してください。

バグ報告や提案・コメント・質問などは、福地健太郎までお寄せください。 ライセンスや使用条件についてのお問い合わせも左記までどうぞ。

移植や他言語へのバインディング

libqrencode のパッケージには含まれませんが、いくつかのプログラミング言語用バインディングが公開されています。

また、以下の環境にあわせた移植版が公開されています。

ACKNOWLEDGMENTS

QR コードはデンソーウェーブの登録商標です。

リード-ソロモン符号の符号化ルーチンは Phil Karn (KA9Q) の著作物です。
Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q

参考

古い版

変更履歴

3.4.4 (2014.7.24)
  • 構造的連接使用時の問題点を修正。(井上義通さんありがとうございました)
  • コマンドラインツールに新オプション "--verbose" を追加。
3.4.3 (2013.8.12)
  • コマンドラインツールに新オプション "--rle" を追加。(Thanks to Daniel Dörrhöfer)
  • ライブラリおよびコマンドラインツールのバグ修正。(Thanks to Hassan Hajji, Emmanuel Blot, and ßlúèÇhîp)
3.4.2 (2013.3.1)
  • メモリリークを修正。(Thanks to chisj)
  • マイクロQRコードのエンコードにあった問題を修正。(Thanks to vlad417)
  • 文字列分割の効率を向上。(Thanks to Viona)
3.4.1 (2012.10.17)
  • マルチスレッドでの利用時に排他制御が働いていなかった問題を修正。
3.4.0 (2012.10.15)
  • qrencode の出力フォーマットにSVG・UTF8・ANSIUTF8モードが追加された。(Thanks to Dan Storm, David Dahl, and Lennart Poettering)
  • 色つきのQRコード出力に対応。
  • バグ修正。(Thanks to Terry Burton, Fred Steinhaeuser, and Yann Droneaud)
3.3.1 (2012.4.18)
  • qrencode コマンド・マニュアル・configure スクリプト・libtool 関連ファイルのバグを修正。(Thanks to Yutaka Niibe and Rob Ryan)
3.3.0 (2012.4.1)
  • qrencode コマンドの出力フォーマットに、EPS・ANSI・ASCIIモードが追加された。(Thanks to Zapster, Colin, and Ral)
  • API バージョンを返す関数 QRcode_APIVersion() と QRcode_APIVersionString() が追加された。
3.2.1 (2012.4.1)
  • configure スクリプトおよび libtool 関連の設定ファイル中にあったバグを修正。(Thanks to g新部さん)
3.2.0 (2011.11.26)
  • qrencode コマンドに、PNG 画像の DPI をセットするための "--dpi" ("-d") オプションが追加された。
  • スレッドセーフなライブラリを生成するためのオプション "--enable-thread-safety" が configure スクリプトに追加された。このオプションは標準で有効になっている。
  • NUL文字 ('\0') を含むバイナリデータをエンコードするための関数 QRcode_encodeData(), QRcode_encodeDataMQR, QRcode_encodeDataStructured() が追加された。
  • いくつかのバグフィックス。
  • マイクロ QR コードのサポートが試験的に導入された。
  • qrencode コマンドに、マイクロ QR コードを生成するためのオプション "--micro" ("-M") が追加された。
3.1.1 (2010.2.3)
  • 間違ってエンコーディングしてしまうバグを修正。
3.1.0 (2009.6.6)
  • コードの改良と速度向上。
  • 内部でのエラーチェックを強化。
  • "--without-tests" オプションが標準設定となった。テストプログラムをコンパイルするには "--with-tests" オプションをつける必要がある。
  • メモリリークバグを修正。
3.0.3 (2008.6.1)
  • 可搬性の向上。(Thanks to Gavan Fantom)
  • qrencode がロングオプション (例: "--help") を受け付けるようになった。
3.0.2 (2008.5.18)
  • C++ コンパイラでコンパイルできない問題を修正。(Thanks to wangsai)
  • バージョン7以上のシンボルで型番情報が間違ってエンコードされていた問題を修正。
  • configure スクリプトに "--without-tests" オプションを追加。
3.0.1 (2008.5.9)
  • Windows 等で、qrencode が正しくイメージファイルを保存できないのを修正。(Thanks to Paul Janssens)
  • RPM spec を修正し、man page をパッケージするようにした。
3.0.0 (2008.4.30)
  • QRencode_encodeInput() の引数が変更された。この関数を呼んでいるアプリケーションは修正する必要がある。
  • 構造的連接のサポートが追加された。(三原佑典氏よりパッチをご提供いただきました)
  • 構造的連接を利用するための "-S" オプションが qrencode と view_qrcode に追加された。
  • 一部の関数が、エラー発生時に errno を設定するようになった。
  • バグ修正。
2.0.0 (2008.1.24)
  • qrencode コマンドに "-i" オプションを追加。英大文字小文字の区別をせず、 すべて大文字として扱う。
  • qrencode コマンドで "-c" オプション使用時の英大文字・小文字を混ぜてのエンコードを改善。また、大文字小文字を標準で区別するようにした。
  • qrencode コマンドで全体を8ビットバイトモードでエンコードするオプションを "-8" に変更。
  • tests/view_qrcode が qrencode とほぼ同じオプションを受け付けるようになった。
  • マニュアルを添付。
  • コードの改良。
  • マスクの評価関数にバグがあったのを修正。(Philippe Delcroix)
1.0.2 (2007.3.24)
  • 小さなバグ修正。(南木 晴雄さんありがとうございました)
  • qrencode.h に 'extern "C"' が追加されたので、C++ のコードから include できるようになった。
1.0.1 (2006.12.27)
  • 強制的に 8ビットバイトモードにするオプションが追加された。
  • configure スクリプトが libpng のヘッダを正しいやり方で見付けるようになった。 Mac OS X + fink な環境でうまく configure されるようになった。
1.0.0 (2006.12.12)
  • 最初のリリース。