QRコードクラスライブラリ for Ruby ver. 0.50beta9 (c)2002-2013 Y.Swetake ---------- 0、概要  Ruby用のQRコードクラスライブラリです。  php版からの移植でとりあえずベータ版です。  QRコードの(0,1,\n)から成るテキストデータを出力する  クラスQrcode (qrcode.rb)とruby-GDを用いてイメージを出力する  派生クラスQrcode_image (qrcode_img.rb)があります。 1、セットアップ  qrcode.rbの10行目 @path="./qrcode_data"  をデータディレクトリに合わせて変更してください。  解凍したまま使用する場合はこのままでokです。  処理の高速化のため各種演算結果をdatファイルにまとめています。  そのためトータルファイルサイズが非常に大きくなっています。  使用しないバージョンがあらかじめわかっている場合はそれに対応  するdatファイルは削除しても問題ありません。なお各バージョンで  使用するrsX.datはJIS X 0510の中の表15〜21RSブロックの項目  で(c,k,r)とある中のcとkの差がそれに該当します。例えばバージョン  1-Mの場合(26,16,4)とあるので26-16=10でrsc10.datを使用します。 2、使用例  使用例は同梱のsampleを参照ください。 3、注意事項   下記承知の上ご使用ください。   (1)このプログラムのマスク判定ルーチンはおそらく規格と異なります。     (一応JIS X 0510にある図1と付属書8の例の結果とは合うようにし      ています。)     (マスクの選択を誤っても実使用上は問題ないと思いますが。)   (2)連結モードは試験的導入です。   (3)その他実際の規格と異なる動作をする恐れが多分にあります。      使用の際は出力されたシンボルが確実に読めるかのテストを行うことを      お勧めします。特にバージョン29以上のシンボルは作者の手持ちリー      ダの性能の都合上検証ができていませんので使用の際は特にご注意願い      ます。   (4)本プログラムは「のろま」です。大きいバージョンをエンコードする      場合はご注意ください。(タイムアウトするかもしれません。) 4、著作権・配布など   これらのプログラムの著作権は作者であるY.Swetakeにあります。   これらのプログラムはフリーウエアです。もとの著作権表示を変更しなければ  自由に再配布・改造してもかまいません。 5、免責事項   これらのプログラムによって生じるあらゆる損害・不利益について、作者は  一切責任を負いません。   作者はこれらのプログラムに不備があっても、それを訂正する義務を負いま  せん。 6、その他  最新版は下記のページからたどれます。   http://www.swetake.com/  ご意見・不具合などあれば下記まで   e-mail: swe@venus.dti.ne.jp 7、更新履歴 2013/5/18 ver.0.50beta9  残余ビット部分が反転していた不具合を修正。         本不具合による読み取り精度への影響は皆無と推測されますが、より仕様に合致するための         修正となっています。 (ご指摘くださいました池田様、ありがとうございました。) 2006/5/27 ver.0.50beta8 特定の入力データでエラーが発生していた不具合を修正 (ご指摘くださいましたsonsonさま有難うございました。) 2005/3/5 ver.0.50beta7 特定のデータ長でエラーが発生していた不具合を修正 (ご指摘くださいました花野さま有難うございました。) 2004/7/24 ver.0.50beta6 余剰ビットの処理不正により特定モジュールが常に0で あった不具合を修正。 rsc36.dat rsc52.datの計算間違いを修正。(これらは model2では使用しません。) 2004/5/29 ver.0.50beta5 qrcode_image_out を追加 ドキュメントの誤記訂正 2003/6/29 ver.0.50beta4 image_outのドキュメントと実装の差異を修正。 image_outにファイル出力機能追加。 2003/6/19 ver.0.50beta3 マスク選択処理一部変更 ドキュメント改定 2003/4/13 ver.0.50beta2 エラー処理修正 ファイルオープン処理修正(bモード追記) 2003/1/13 ver.0.50beta         php版よりとりあえず移植 8、リファレンス ---------- クラス名  Qrcode 概要    与えられたデータ列をQRコードmodel2に変換し    (0,1,\n)で構成された二次元コードテキスト    データ(※注)を出力します。 ※注  3×3の下記イメージは  ■■□  ■□■  □■■  "110\n101\n011\n" と出力されます。 ----------  set_qrcode_version   書式    set_qrcode_version(int z)   機能    QRコードのバージョンを設定します。    指定できる値は0または1〜40の整数です。    なお0を指定すると「自動設定」となります。   get_qrcode_version   書式    int get_qrcode_version()   機能    QRコードのバージョンを取得します。    バージョン設定を自動にした時の結果を取得できます。    0が返ってきた場合は「自動設定」です。 set_qrcode_error_correct   書式    set_qrcode_error_correct(string ecc_char)   機能    QRコードのエラー訂正レベルを設定します。    指定できる値は"L","M","Q","H"です。 set_structureappend(試験導入)   書式    set_structureappend(int m,int n,int p)   機能    連結機能を設定します。     n 個中の m 番目、parity値 p を設定します。 cal_structureappend_parity(試験導入)   書式    int cal_structureappend_parity(string data)   機能    連結に用いるparity値を連結前の元データから計算します。    make_qrcode   書式    string make_qrcode(string data)   機能    与えられたデータ列 data についてQRコードmodel2に変換し    (0,1,\n)で構成された二次元コードテキストデータを出力します。    ここで出力されるデータはクワイエットゾーンは加味されません。 ----------------------------------------------------------------- クラス名 Qrcode_image 概要  (0,1,\n)で構成されたQRコードテキストデータをGDを用いて  PNGまたはJPEGイメージで出力します。 スーパークラス Qrcode ---------- set_module_size   書式    set_module_size(int z)   機能    モジュールサイズを z に設定します。    初期値は4です。 set_quietzone   書式    set_quietzone(int z)   機能    クワイエットゾーンの幅を z に設定します。    初期値は4です。 qrcode_image_out   書式    string qrcode_image_out(string org_data [,string image_type][,string filename])   機能    URLエンコードされた文字列 org_data をQRコードに変換し    image_typeのイメージで出力します。    image_typeは'jpeg'または'png'を指定でき省略時は'png'になります。    第3引数にfilenameを指定するとそのファイルに出力します。 image_out   書式    string image_out(string data [,string image_type][,string filename])   機能    (0,1,\n)で構成されるQRコードテキストデータ data を    image_typeのイメージで出力します。    image_typeは'jpeg'または'png'を指定でき省略時は'png'になります。    第3引数にfilenameを指定するとそのファイルに出力します。 ----------