PHP4用ＱＲコードクラスライブラリ ver. 0.50beta10   (c)2002-2004 Y.Swetake
----------
０、概要
　PHP4用のＱＲコードクラスライブラリです。
　qr_img.php バージョン0.50から派生しました。
　とりあえずベータ版です。

　ＱＲコードの(0,1,\n)から成るテキストデータを出力するクラスQrcodeと
　イメージを出力する派生クラスQrcode_imageがあります。


１、セットアップ
　qrcode.phpの２行目

　define ("QRCODE_DATA_PATH","./qrcode_data");

　をデータディレクトリに合わせて変更してください。
　絶対パスで指定しておくと確実です。

　高速化のため各種演算結果をdatファイルにまとめているので
　トータルのファイルサイズが非常に大きくなっています。
　使用しないバージョンがあればあらかじめこれらのdatファイルは
　削除しても問題ありません。
　なおエラー訂正処理に用いるrscX.datはJIS X 0510中の表１５〜
　２１RSブロックの項目で(c,k,r)とある中のcとkの差がそれに該当
　します。例えばバージョン1-Mは(26,16,4)とあるので26-16=10で
　rsc10.datを使用します。

２、使用例
　使用例は同梱のsample.phpを参照ください。


３、注意事項
　　下記承知の上ご使用ください。
　　（１）このプログラムのマスク判定ルーチンはおそらく規格と異なります。
　　　　（一応JIS X 0510にある図１と付属書８の例の結果とは合うようにし
　　　　　ています。)
　　　　（マスクの選択を誤っても実使用上は問題ないと思いますが。）
　　（２）連結モードは試験的導入です。
　　（３）その他実際の規格と異なる動作をする恐れが多分にあります。
　　　　　使用の際は出力されたシンボルが確実に読めるかのテストを行うことを
　　　　　お勧めします。特にバージョン２９以上のシンボルは作者の手持ちリー
　　　　　ダの性能の都合上検証ができていませんので使用の際は特にご注意願い
　　　　　ます。
　　（４）本プログラムは「のろま」です。大きいバージョンをエンコードする
　　　　　場合はご注意ください。（タイムアウトするかもしれません。）


４、著作権・配布など
　　これらのプログラムの著作権は作者であるY.Swetakeにあります。
　　これらのプログラムはフリーウエアです。もとの著作権表示を変更しなければ
　自由に使用・再配布・改造してもかまいません。


５、免責事項
　　これらのプログラムによって生じるあらゆる損害・不利益について、作者は
　一切責任を負いません。
　　作者はこれらのプログラムに不備があっても、それを訂正する義務を負いま
　せん。


６、その他
　最新版は下記のページからたどれます。
　　http://www.swetake.com/

　ご意見・不具合などあれば下記まで
　　e-mail: swe@venus.dti.ne.jp


７、更新履歴

    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の２つに分割

    2002/12/28   ver.0.50beta2
              quietzone関連の不具合修正
    
　　2002/12/27 　ver.0.50beta
　　　　　　　qr_img.php ver.0.50 から派生


８、リファレンス
----------
クラス名

　Qrcode

概要
　　　与えられたデータ列をＱＲコードmodel2に変換し
　　　(0,1,\n)で構成された二次元コードテキスト
　　　データ（※注）を出力します。

※注
　３×３の下記イメージは

　■■□
　■□■
　□■■

　"110\n101\n011\n" と出力されます。

関数

　set_qrcode_version

　　書式
　　　set_qrcode_version(int z)

　　機能
　　　ＱＲコードのバージョンを設定します。
　　　指定できる値は0または1〜40の整数です。
　　　なお0を指定すると「自動設定」となります。　

　get_qrcode_version

　　書式
　　　int get_qrcode_version()

　　機能
　　　ＱＲコードのバージョンを取得します。
　　　バージョン設定を自動にした時の結果を取得できます。
　　　0が返ってきた場合は「自動設定」です。

 set_qrcode_error_correct

　　書式
　　　set_qrcode_error_correct(string ecc_char)

　　機能
　　　ＱＲコードのエラー訂正レベルを設定します。
　　　指定できる値は"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 についてＱＲコードmodel2に変換し
　　　(0,1,\n)で構成された二次元コードテキストデータを出力します。
　　　ここで出力されるデータはクワイエットゾーンは加味されません。

----------

クラス名

  Qrcode_image


概要
　(0,1,\n)で構成されたＱＲコードテキストデータを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をＱＲコードに変換し
　　　image_typeのイメージで出力します。
　　　image_typeは'jpeg'または'png'を指定できます。
　　　省略した場合はpngになります。
　　　また第３引数にファイル名を指定した場合、そのファイルに出力を
　　　行います。


 image_out

　　書式
　　　string image_out(string data [,string image_type][,string filename])

　　機能
　　　(0,1,\n)で構成されるＱＲコードテキストデータを
　　　image_typeのイメージで出力します。
　　　image_typeは'jpeg'または'png'を指定できます。
　　　省略した場合はpngになります。
　　　また第３引数にファイル名を指定した場合、そのファイルに出力を
　　　行います。

----------
