PHP4/5用QRコードクラスライブラリ ver. 0.50beta14 (c)2002-2013 Y.Swetake ---------- 0、概要  PHP4用のQRコードクラスライブラリです。  qr_img.php バージョン0.50から派生しました。  とりあえずベータ版です。  QRコードの(0,1,\n)から成るテキストデータを出力するクラスQrcodeと  イメージを出力する派生クラスQrcode_imageがあります。 1、セットアップ  qrcode.phpの2行目  define ("QRCODE_DATA_PATH","./qrcode_data");  をデータディレクトリに合わせて変更してください。  絶対パスで指定しておくと確実です。  高速化のため各種演算結果をdatファイルにまとめているので  トータルのファイルサイズが非常に大きくなっています。  使用しないバージョンがあればあらかじめこれらのdatファイルは  削除しても問題ありません。  なおエラー訂正処理に用いるrscX.datはJIS X 0510中の表15〜  21RSブロックの項目で(c,k,r)とある中のcとkの差がそれに該当  します。例えばバージョン1-Mは(26,16,4)とあるので26-16=10で  rsc10.datを使用します。 2、使用例  使用例は同梱のsample.phpを参照ください。 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.50beta14 ・残余ビット部分が反転していた不具合を修正。         本不具合による読み取り精度への影響は皆無と推測されますが、より仕様に合致するための         修正となっています。 (ご指摘くださいました池田様、ありがとうございました。) 2009/11/10 ver.0.50beta12 preg_match関数の中の正規表現記載ミスを修正した。 2009/11/8 ver.0.50beta11 PHP5.3.0から非推奨となったereg関数をpreg_match関数に書き換えた。 なお、以前のereg関数で"-"がうまくマッチせず、エンコードモードの自動判別が 誤っていた不具合もpreg_matchに変更することにより解消した。 2004/11/7 ver.0.50beta10 qrcode_img.php中のrequire中の値を変更 ドキュメントの小改訂 2004/7/19 ver.0.50beta9 alphanumericモードにて記号が正しくエンコードできない 不具合を修正。 rsc36.dat rsc52.datの計算間違いを修正。 (なおこれらのファイルはmodel2では使用しない) 2004/5/29 ver.0.50beta8 set_qrcode_error_correctが正しく機能していなかった 不具合を修正。(ご指摘くださいました松井様、ありがとう ございました。) qrcode_image_outを追加。 2003/7/25 ver.0.50beta7 Qrcode_imageのset_quietzoneが正しく機能していなかった 不具合を修正。(ご指摘いただきました樋渡様、ありがとう ございました。) 2003/6/29 ver.0.50beta6 クラスQRcode_imageのimage_outにファイル出力機能追加 (小倉様ご提案) 2003/6/19 ver.0.50beta5 マスク選択処理一部変更 ドキュメント改定 2003/4/13 ver.0.50beta4 エラー処理部分修正 ファイルのオープン処理修正(bモード追記) 2003/1/13 ver.0.50beta3 qrcode.phpと qrcode_img.phpの2つに分割 2002/12/28 ver.0.50beta2 quietzone関連の不具合修正   2002/12/27  ver.0.50beta        qr_img.php ver.0.50 から派生 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値を連結前の元データから計算します。    cal_qrcode   書式    string cal_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引数にファイル名を指定した場合、そのファイルに出力を    行います。 image_out   書式    string image_out(string data [,string image_type][,string filename])   機能    (0,1,\n)で構成されるQRコードテキストデータを    image_typeのイメージで出力します。    image_typeは'jpeg'または'png'を指定できます。    省略した場合はpngになります。    また第3引数にファイル名を指定した場合、そのファイルに出力を    行います。 ----------