libqrencode
ダウンロード
最新版
開発版
開発版のソースをgithubで公開しています。
概要
libqrencode は QR コードを生成するための C ライブラリです。
QR コードは二次元バーコードの一種で、数字なら最大約7000桁、
英数字だと最大約4000字を埋め込むことができ、また誤り訂正能力に優れています。

サンプル
本ライブラリは以下の特徴があります。
- 実行時にライブラリ本体以外の外部ファイルを必要としない
- 高速なシンボル生成
- データ列の自動解析
仕様
libqrencode は JIS X0510:2004 で規定される、QR コード モデル2
を生成します。ただし、JIS X0510:2004 の規定のうち以下に挙げる項目については、
対応していません。
- ECI および FNC1 の埋め込み
- QR コード モデル 1
インストール
必要事項
一部のテストプログラムやユーティリティは 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 の一次配布元はこのページ
(http://fukuchi.org/works/qrencode/index.html)
を参照してください。
バグ報告や提案・コメント・質問などは、福地健太郎までお寄せください。
ライセンスや使用条件についてのお問い合わせも左記までどうぞ。
移植や他言語へのバインディング
libqrencode のパッケージには含まれませんが、いくつかのプログラミング言語用バインディングが公開されています。
また、以下の環境にあわせた移植版が公開されています。
ACKNOWLEDGMENTS
QR コードはデンソーウェーブの登録商標です。
リード-ソロモン符号の符号化ルーチンは Phil Karn (KA9Q) の著作物です。
Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q
参考
古い版
変更履歴
- 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)