Commit 74337e5ae06053323c8f063d9471b7fb02155273

Authored by Edmar Moretti
1 parent be48957e

adicionada a biblioteca qrcode em i3geo/pacotes

Showing 277 changed files with 25510 additions and 0 deletions   Show diff stats

Too many changes.

To preserve performance only 100 of 277 files displayed.

pacotes/qrcode/README-e.txt 0 → 100644
... ... @@ -0,0 +1,170 @@
  1 +QRcode Perl CGI & PHP script ver.0.50g
  2 +
  3 + Copyright (c)2000-2005, Y.Swetake
  4 + All Rights Reserved.
  5 +
  6 +1, about this software
  7 +
  8 +This is a free software to output a image of QRcode on Perl or PHP.
  9 +These programs support QRcode model2 version1-40,and some functions
  10 +are NOT supported. (eg. mode change,KANJI mode etc.)
  11 +
  12 +
  13 +
  14 +2,directory & files
  15 +
  16 + qr_img0.50-+-perl--+- qr_img.cgi
  17 + | +- qr_image.pl
  18 + | +- qr_html.pl
  19 + |
  20 + +-data -+- qrvV_N.dat
  21 + | +- rscX.dat
  22 + | +- qrvfrV.dat
  23 + |
  24 + +-image-+- qrvV.png
  25 + | +- b.png d.png
  26 + |
  27 + +-php -- qr_img.php
  28 +
  29 +
  30 +qr_img.cgi Perl program (CGI program ,but this runs on shell,too.)
  31 +qr_image.pl sub program for output a png or jpeg image.
  32 +qr_html.pl sub program for output html.
  33 +
  34 +qrvV_N.dat data file of geometry & mask for version V ,ecc level N
  35 +rscX.dat data file of caluclatin tables for RS encoding
  36 +qrvfrV.dat data file of fixed pattern for version V (for html mode)
  37 +
  38 +qrvV.png image file of fixed pattern for version V.
  39 +b.png bright square image (for html mode)
  40 +d.png dark square image (for html mode)
  41 +
  42 +qr_img.php PHP program (requires GD.)
  43 +
  44 +README.txt document in Japanese (EUC)
  45 +README.sjis document in Japanese (SJIS)
  46 +README_e.txt this document.
  47 +
  48 +
  49 +
  50 +3,requirement
  51 +
  52 + If you create a PNG or JPEG image,you need GD.
  53 + And you may need to compile or to coordinate parameters
  54 + for using GD correctly from Perl or PHP.
  55 +
  56 + I checked this program on below enviroment
  57 +
  58 + Linux 2.4.18 (x86)
  59 +@@ apache-1.3.27 + PHP-4.3.0(as apache module)
  60 +@@ perl 5.6.1
  61 +@@ GD 2.0.11
  62 +@@ GD.pm 2.06
  63 +
  64 +* CAUTION *
  65 + This program do NOT run on GD 2.0.[0-9] or PHP4.3.[01] bundle
  66 + for GD's bug.
  67 + Please use GD version 1.8.x , 2.0.10 or above.
  68 +
  69 +
  70 +
  71 +4,usage
  72 +
  73 +4-1,setup
  74 +
  75 +Set a path to perl or php(in using as cgi).
  76 +
  77 +Change values in setting area if you need.
  78 +(If you use in unpacked placement,you don't have to change value.
  79 +But you may need to move some files to indicated position.
  80 +eg. b.png )
  81 +
  82 +
  83 +4-2,usage
  84 +
  85 +From browser
  86 +
  87 +qr_img.cgi?d=data[&e=(L,M,Q,H)][&s=int size][&v=(1-40)][&t=(J,H)]
  88 + [&m=(1-16)&n=(2-16)[&o=original data][&p=(0-255)]]
  89 +
  90 +qr_img.php?d=data[&e=(L,M,Q,H)][&s=int size][&v=(1-40)][&t=J]
  91 + [&m=(1-16)&n=(2-16)[&o=original data][&p=(0-255)]]
  92 +
  93 +d : Data you want to encode to QRcode.
  94 + A special letter like '%'.space or 8bit letter must be URL-encoded.
  95 + You cannot omit this parameter.
  96 +
  97 +e : Error correct level
  98 + You can set 'L','M','Q' or 'H'.
  99 +
  100 + If you don't set,program selects 'M'.
  101 +
  102 +s : module size
  103 + This parameter is no effect in HTML mode.
  104 + You can set a number more than 1.
  105 + Image size depends on this parameter.
  106 +
  107 + If you don't set,program selects '4' in PNG mode or '8' in JPEG mode.
  108 +
  109 +v : version
  110 + You can set 1-40.
  111 + If you don't set,program automatically selects.
  112 +
  113 +t : image type
  114 + You can set 'J','H' or other.
  115 + 'J' : jpeg mode.
  116 + 'H' : html mode.(for perl only)
  117 + Other : png mode.
  118 +
  119 + If you don't set,program select PNG mode.
  120 +
  121 +
  122 +* CAUTION *
  123 +below parameter is experimental.
  124 +
  125 +n : structure append n (2-16) image No. m of n.
  126 +m : structure append m (1-16) image No. m of n.
  127 +p : structure append parity
  128 +o : original data (URL-encoded data) for calculating parity
  129 +
  130 +
  131 +
  132 +From command line (for perl only)
  133 +
  134 +example
  135 + $ ./qr_img.cgi d=This+is+a+pen e=L s=3 > qrcode.png
  136 +
  137 + $ ./qr_img.cgi e=H < data.txt > qrcode.png
  138 +
  139 + If you input data from STDIN,data don't have to be URL-encoded.
  140 +
  141 +
  142 +
  143 +5,Notice
  144 +
  145 +This software is a free software.
  146 +You can freely use,change or redistribute unless you change the
  147 +copyright and disclaimer in this program and this document.
  148 +
  149 +
  150 +THIS SOFTWARE IS PROVIDED BY Y.Swetake ``AS IS'' AND ANY EXPRESS OR
  151 +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  152 +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  153 +IN NO EVENT SHALL Y.Swetake OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
  154 +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  155 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  156 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
  157 +AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  158 +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
  159 +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  160 +
  161 +
  162 +6,Others
  163 +
  164 +If you find bugs,please tell me.
  165 +(But I may be unable to reply,because I'm a poor at English.)
  166 +
  167 +e-mail: swe@venus.dti.ne.jp
  168 +URL: http://www.swetake.com/ (Japanese page)
  169 +
  170 +
... ...
pacotes/qrcode/README.sjis 0 → 100644
... ... @@ -0,0 +1,373 @@
  1 +QRcode Perl/CGI & PHP scripts ver. 0.50g
  2 + (c)2000-2005, Y.Swetake
  3 +
  4 +1、このプログラムでできること。
  5 +  このプログラムはperlあるいはPHPを用いてブラウザ上にQRcodeを
  6 + 表示するためのものです。
  7 +  perl版(qr_img.cgi)はコマンドラインからでも動作します。
  8 +  このバージョンでは QRcode model2 の version 1〜40 に対応して
  9 + います。ただし以下の機能・モードは使用できません。
  10 +
  11 +  (1)、数字・英数字・8ビットモード以外のモード
  12 +  (2)、コード内部でのモードの変更
  13 +   などなど
  14 +
  15 +  #バージョン0.40より連結に試験的に対応しています。
  16 +
  17 +  #引数に漢字のURLエンコードデータを渡してやると変換効率は悪いですが
  18 +   8ビットモードでエンコードすることはできますが正しく漢字と認識する
  19 +   かはデコード側の環境によります。
  20 +
  21 +2、内容
  22 +
  23 + (ディレクトリ構造)
  24 +
  25 + qr_img0.50-+-perl--+- qr_img.cgi
  26 + | +- qr_image.pl
  27 + | +- qr_html.pl
  28 + |
  29 + +-data -+- qrvV_N.dat
  30 + | +- rscX.dat
  31 + | +- qrvfrV.dat
  32 + |
  33 + +-image-+- qrvV.png
  34 + | +- b.png d.png
  35 + |
  36 + +-php -- qr_img.php
  37 +
  38 +
  39 + qr_img.cgi QRコード表示perl CGI(1つのimageを出力。ただしGDが必要。
  40 +                    または複数の画像を組み合わせてhtmlで表示)
  41 + qr_image.pl  perl版のpng,jpegイメージ出力コード
  42 + qr_html.pl perl版のhtml出力コード
  43 +
  44 + qrvV_N.dat   バージョンV,エラー訂正レベルN用データ
  45 + rscX.dat   エラー訂正語生成処理に用いる演算テーブル
  46 + qrvfrV.dat   バージョンV用固定領域データ(htmlモード用)
  47 +
  48 + qrvV.png    バージョンV用固定イメージ(png,jpeg出力用)
  49 + b.png qr_img.cgiのhtmlモードで用いるpngファイル
  50 + d.png 同上
  51 +
  52 + qr_img.php QRコード表示PHP(1つのimageを出力。ただしGDが必要。)
  53 +
  54 + README.txt このファイル
  55 + README.sjis このファイルのShiftJIS版
  56 + README-e.txt 英語版ドキュメント
  57 +
  58 + 処理を高速化するため各種演算結果をdatファイルにまとめています。
  59 + そのため合計のファイルサイズが非常に大きくなっております。
  60 + あらかじめ使うバージョンが限られている場合は使用しないdatファイルは
  61 + 削除しても問題ありません。
  62 + なおrscX.datについてはJIS X 0510の表15〜21RSブロックの項目で
  63 + (c,k,r)とある中のcとkの差がそれに該当します。
  64 + 例えばバージョン1-Mは(26,16,4)とあるので26-16=10でrsc10.datを使用
  65 + します。
  66 +
  67 +3、必要なもの
  68 + 実行に必要なもの
  69 + perl版
  70 +  ・WWWサーバー (perl CGIが動作するもの。)
  71 +  ・perl5
  72 +
  73 +  以下のものはqr_img.cgiのPNG/JPEG出力に必要です。
  74 +  ・GD
  75 +    http://www.boutell.com/gd/
  76 +  ・GD.pm
  77 +    http://stein.cshl.org/WWW/software/GD/GD.html
  78 +  ・libpng
  79 + ・jpeg-6b
  80 +
  81 +   プログラム中の png を gif に変更すると古いgd(1.5以前)とそれ用のGD.pmでも
  82 +  動作しますが特許関連の問題が絡む恐れがありますの使用者自身の責任でお使いくだ
  83 +  さい。
  84 +
  85 + PHP版
  86 +  ・WWWサーバー
  87 +  ・PHP4.1以降
  88 +  ・GD
  89 +  ・libpng
  90 +
  91 + 注:GD 2.0について
  92 +   perl版,PHP版ともGD2.0.10未満およびPHP4.3.0バンドルの
  93 +   GDではGDのバグにより正常に動作しません。
  94 +   GD2.0.10以上をご使用ください。
  95 +
  96 + 動作確認環境
  97 +  perl版・PHP版とも
  98 + Linux 2.4.18
  99 +   apache-1.3.27 + PHP-4.3.0(as apache module)
  100 +   perl 5.6.1
  101 +   GD 2.0.11
  102 +   GD.pm 2.06
  103 +
  104 + 見るために必要なもの
  105 +  ・WWWブラウザ
  106 +
  107 +4、使用方法
  108 +4.1、設定
  109 +4.1.1、perl版
  110 +     1行目の
  111 +    #!/usr/bin/perl
  112 +     をそのサーバーのperlへのパスを指定します。
  113 +
  114 +     次に下記を設定します
  115 +
  116 +# -------- setting area --------
  117 +#
  118 +
  119 + $path="./../data"; # ---You must set path to data files.
  120 +
  121 +# データファイル群("qrv*.dat","rsc*.dat")へのパスを指定します。
  122 +# デフォルトは同階層にある data ディレクトリです。
  123 +
  124 + # ---- for PNG or JPEG image
  125 + $image_path="./../image"; # ---You must set path to QRcode frame images.
  126 +
  127 +# 固定領域イメージ群(qrv*.png)へのパスを指定します。
  128 +# デフォルトは同階層にある image ディレクトリです。
  129 +
  130 + # ---- for HTML mode
  131 + $img_path4html=""; # ---You must set path to b.png and d.png.
  132 + # Default setting is document root.
  133 +
  134 +#  HTMLモードの設定を行います。
  135 +#  同梱しているb.png d.pngを置いた場所へのパスまたはURLを指定します。
  136 +#  これらはドキュメントルートからのパスあるいはURLになります。
  137 +#  たとえばドキュメントルート下のimgディレクトリにおいたならば
  138 +#
  139 +#   $img_path4html="/img";
  140 +#
  141 +#   となります。
  142 +
  143 + @img_fn=("b.png","d.png"); # In html mode,image size depends these files.
  144 +
  145 +#
  146 +#  画像ファイルの名前を変更したい場合は"b.png","d.png"の部分を変更します。
  147 +#  htmlモードではイメージのサイズはこのファイルの画像の大きさに依存します。
  148 +#
  149 +
  150 + $always_html_mode=0;
  151 +
  152 +#
  153 +#  1を設定すると常にhtmlモードで出力します。
  154 +#
  155 +
  156 + $version_ul=40;
  157 +
  158 +#
  159 +# バージョンの上限を指定できます。値は1から40の整数です。
  160 +#
  161 +
  162 +#
  163 +# ------- setting area end --------
  164 +
  165 +
  166 +4.1.2、PHP版
  167 +
  168 +下記を設定します。
  169 +/* ------ setting area ------ */
  170 +
  171 +$path="./../data"; /* You must set the path to data files. */
  172 +
  173 +# データファイル群("qrv*.dat","rsc*.dat")へのパスを指定します。
  174 +# デフォルトは同階層にある data ディレクトリです。
  175 +
  176 +$image_path="./../image"; /* You must set path to QRcode frame images. */
  177 +
  178 +# 固定領域イメージ群(qrvN.png)へのパスを指定します。
  179 +# デフォルトは同階層にある image ディレクトリです。
  180 +
  181 +$version_ul=40; /* upper limit for version */
  182 +
  183 +#バージョンの上限を指定できます。値は1から40の整数です。
  184 +
  185 +/* ------ setting area end ------ */
  186 +
  187 +
  188 +4.2、書式
  189 +4.2.1、ブラウザからの呼び出し
  190 +
  191 +   qr_img.cgi?d=data[&e=(L,M,Q,H)][&s=int size][&v=(1-40)][&t=(J,H)]
  192 +    [&m=(1-16)&n=(2-16)[&o=original data][&p=(0-255)]]
  193 +
  194 +   qr_img.php?d=data[&e=(L,M,Q,H)][&s=int size][&v=(1-40)][&t=J]
  195 +    [&m=(1-16)&n=(2-16)[&o=original data][&p=(0-255)]]
  196 +
  197 +   d:QRコード化するデータです。特殊文字や8bit文字はURLencodeされている
  198 +    必要があります。(漢字や'%'は%+16進表記、空白は'+'等)
  199 +    容量を超えるとエラー表示となります。
  200 +    このパラメータは省略できません。
  201 +
  202 +   e:エラー訂正レベル
  203 +    エラー訂正レベルを指定します。
  204 +    指定できるのはL,M,Q,Hの4種類で省略した場合 M が選択されます。
  205 +
  206 +   s:モジュールサイズ
  207 +    モジュールサイズを指定します。
  208 +    指定できるのは1以上の整数でこの値でイメージのサイズが決定されます。
  209 +    省略した場合 4(png) または 8(jpeg) が選択されます。
  210 +    htmlモードでは意味を持ちません。
  211 +
  212 +   v:バージョン
  213 +    バージョンを指定します。
  214 +    このプログラムで指定できるバージョンは1〜40です。
  215 +    省略した場合はプログラムが自動選択します。
  216 +
  217 +   t:画像タイプ
  218 +    画像タイプを指定します。
  219 +    省略した場合や下記文字以外はPNGを出力します。
  220 +    Jを指定するとjpegで出力します。
  221 +    Hを指定するとhtmlモードで出力します。
  222 +    なおjpegでの出力はGDがjpeg対応している必要があります。
  223 +
  224 +
  225 +  ※以下は連結モード用のパラメータです。現在試験的に対応しています。
  226 +
  227 +   m:連結の何個目のイメージか
  228 +
  229 +   n:全部で何個のイメージがあるか
  230 +
  231 +   o:元のデータ(URLエンコードされている必要があります。)
  232 +
  233 +   p:元データから算出したパリティ値(各文字のアスキー値を排他論理和したもの)
  234 +
  235 +   連結を指定するときはmとnは必須です。
  236 +   またoまたはpのいずれかを必ず指定する必要があります。
  237 +
  238 +   例:abcdefgabcdefg0を2つに分割するとき
  239 +
  240 +   1つめのイメージ
  241 + qr_img.cgi?d=abcdefg&n=2&m=1&o=abcdefgabcdefg0
  242 +   2つめのイメージ
  243 + qr_img.cgi?d=abcdefg0&n=2&m=2&o=abcdefgabcdefg0
  244 +
  245 +    またはあらかじめパリティ値を計算しておいて
  246 +
  247 +   1つめのイメージ
  248 +     qr_img.cgi?d=abcdefg&n=2&m=1&p=48
  249 +   2つめのイメージ
  250 + qr_img.cgi?d=abcdefg0&n=2&m=2&p=48
  251 +
  252 +
  253 +4.2.2、コマンドラインモード
  254 +  qr_img.cgiはコマンドラインからも実行できます。
  255 +  引数間は空白で区切ります。
  256 +  引数dでデータを渡す場合はCGI同様データはURLエンコードされている必要があります。
  257 +  例1
  258 +   $ ./qr_img.cgi d=This+is+a+pen e=L s=3 > qrcode.png
  259 +
  260 +  標準入力からデータを渡す場合は生データのままでOKです。
  261 +  例2
  262 +   $ ./qr_img.cgi e=H < data.txt > qrcode.png
  263 +
  264 +
  265 +5、注意事項
  266 +  下記承知の上ご使用ください。
  267 +  (1)このプログラムのマスク判定ルーチンはおそらく規格と異なります。
  268 +    (一応JIS X 0510にある図1と付属書8の例の結果とは合うようにし
  269 +     ています。)
  270 +    (マスクの選択を誤っても実使用上は問題ないと思いますが。)
  271 +  (2)連結モードは試験的導入です。
  272 +  (3)その他実際の規格と異なる動作をする恐れが多分にあります。
  273 +     使用の際は出力されたシンボルが確実に読めるかのテストを行うことを
  274 +     お勧めします。特にバージョン29以上のシンボルは作者の手持ちリー
  275 +     ダの性能の都合上検証ができていませんので使用の際は特にご注意願い
  276 +     ます。
  277 +  (4)本プログラムは「のろま」です。大きいバージョンをエンコードする
  278 +     場合はご注意ください。(タイムアウトするかもしれません。)
  279 +
  280 +6、著作権・配布など
  281 +  これらのプログラムの著作権は作者であるY.Swetakeにあります。
  282 +  これらのプログラムはフリーウエアです。もとの著作権表示を変更しなければ
  283 + 自由に再配布・改造してもかまいません。
  284 +
  285 +7、免責事項
  286 +  これらのプログラムによって生じるあらゆる損害・不利益について、作者は
  287 + 一切責任を負いません。
  288 +  作者はこれらのプログラムに不備があっても、それを訂正する義務を負いま
  289 + せん。
  290 +
  291 +8、その他
  292 + 最新版は下記のページからたどれます。
  293 +  http://www.swetake.com/
  294 +
  295 + ご意見・不具合などあれば下記まで
  296 +  e-mail: swe@venus.dti.ne.jp
  297 +
  298 +9、更新履歴
  299 +
  300 + 2005/7/23 ver.0.50g
  301 + ・特定のパラメータの組み合わせでサーバー上のリソースを過剰に
  302 +        消費する不具合を修正。
  303 + ・バージョンの上限を指定できる変数を追加。
  304 +
  305 + 2005/7/21 ver.0.50f
  306 + ・perl版における引数vのチェックを修正
  307 + ・php版のマスク選択処理を一部変更(thanks for Mr.Bru, Franky)
  308 +
  309 + 2004/7/19 ver.0.50e
  310 + ・php版のalphanumericモードで記号が正しくエンコードできない
  311 + 不具合を修正
  312 +
  313 + ・rsc36.dat rsc52.datの計算間違いを修正。
  314 + (なおこれらのファイルはmodel2では使用しません)
  315 +
  316 + 2003/10/5 ver.0.50d
  317 + ・perl/cgi版htmlモードにて $img_path4html の設定が
  318 +  反映されていない不具合修正
  319 +
  320 + 2003/6/19 ver.0.50c
  321 + ・マスク選択処理一部変更
  322 + ・ドキュメント改定
  323 +
  324 + 2003/5/24 ver.0.50b
  325 + ・ドキュメントの改定
  326 +
  327 + 2003/4/13 ver.0.50a
  328 + ・ファイルオープン処理の修正(バイナリモード明記)
  329 + ・エラー処理部修正
  330 + ・ドキュメントの改定(GD2.0に関する注記追記)
  331 +
  332 + 2002/9/21 ver.0.50
  333 + ・バージョン1-40対応
  334 + ・処理速度向上のため以下のルーチンを大幅見直し
  335 +         エラー訂正語生成処理
  336 +         マスク選択処理    等
  337 +
  338 + 2002/5/26 ver.0.40
  339 + ・連結に試験的に対応(動作・不具合報告歓迎致します。)
  340 +       ・qr_html.cgi とqr_img.cgiを統合
  341 +        qr_img.cgi の引数t=Hを指定することによりhtml出力とした。
  342 +       ・PHP版において外部変数の取り込みをsuperグローバル関数による
  343 +        ものに変更した。(デフォルトはGET)
  344 +       ・マスクの選択機能廃止
  345 +       ・その他、コードのメンテナンス。
  346 +
  347 + 2002/2/10 ver.0.31
  348 +       ・jpeg出力に対応
  349 +
  350 +  2001/4/30 ver.0.30
  351 +       ・マスク選択ルーチン更新。JIS X 0510の図1および
  352 +        付属書8図2の結果と合うように変更。
  353 +        (これにともないデータファイルの構成変更。)
  354 +       ・version 1-9 対応。
  355 +       ・qr_img.cgiのコマンドライン対応
  356 +
  357 +  2001/3/30 ver.0.20a
  358 +       ・CGI版にてマスク選択パラメータ処理が不正なため
  359 +       ・マスクが常に0となっていた不具合を修正。
  360 +       ・CGI版は任意のマスクパターン選択機能廃止。
  361 +
  362 + 2001/3/9 ver. 0.20
  363 +       ・version 1-6 対応
  364 +        それに伴いデータ処理・ECCルーチン等大幅変更。
  365 +
  366 + 2001/2/11 ver. 0.10B
  367 +       ・処理ルーチン更新。処理速度20〜30%up。
  368 +       ・PHP版追加。
  369 +
  370 +  2000/9/11 ver. 0.10 公開
  371 +       (version1の数字・英数字・8bitモードのみサポート)
  372 +
  373 +[eof]
... ...
pacotes/qrcode/README.txt 0 → 100644
... ... @@ -0,0 +1,373 @@
  1 +QRcode Perl/CGI & PHP scripts ver. 0.50g
  2 + (c)2000-2005, Y.Swetake
  3 +
  4 +1、このプログラムでできること。
  5 +  このプログラムはperlあるいはPHPを用いてブラウザ上にQRcodeを
  6 + 表示するためのものです。
  7 +  perl版(qr_img.cgi)はコマンドラインからでも動作します。
  8 +  このバージョンでは QRcode model2 の version 1〜40 に対応して
  9 + います。ただし以下の機能・モードは使用できません。
  10 +
  11 +  (1)、数字・英数字・8ビットモード以外のモード
  12 +  (2)、コード内部でのモードの変更
  13 +   などなど
  14 +
  15 +  #バージョン0.40より連結に試験的に対応しています。
  16 +
  17 +  #引数に漢字のURLエンコードデータを渡してやると変換効率は悪いですが
  18 +   8ビットモードでエンコードすることはできますが正しく漢字と認識する
  19 +   かはデコード側の環境によります。
  20 +
  21 +2、内容
  22 +
  23 + (ディレクトリ構造)
  24 +
  25 + qr_img0.50-+-perl--+- qr_img.cgi
  26 + | +- qr_image.pl
  27 + | +- qr_html.pl
  28 + |
  29 + +-data -+- qrvV_N.dat
  30 + | +- rscX.dat
  31 + | +- qrvfrV.dat
  32 + |
  33 + +-image-+- qrvV.png
  34 + | +- b.png d.png
  35 + |
  36 + +-php -- qr_img.php
  37 +
  38 +
  39 + qr_img.cgi QRコード表示perl CGI(1つのimageを出力。ただしGDが必要。
  40 +                    または複数の画像を組み合わせてhtmlで表示)
  41 + qr_image.pl  perl版のpng,jpegイメージ出力コード
  42 + qr_html.pl perl版のhtml出力コード
  43 +
  44 + qrvV_N.dat   バージョンV,エラー訂正レベルN用データ
  45 + rscX.dat   エラー訂正語生成処理に用いる演算テーブル
  46 + qrvfrV.dat   バージョンV用固定領域データ(htmlモード用)
  47 +
  48 + qrvV.png    バージョンV用固定イメージ(png,jpeg出力用)
  49 + b.png qr_img.cgiのhtmlモードで用いるpngファイル
  50 + d.png 同上
  51 +
  52 + qr_img.php QRコード表示PHP(1つのimageを出力。ただしGDが必要。)
  53 +
  54 + README.txt このファイル
  55 + README.sjis このファイルのShiftJIS版
  56 + README-e.txt 英語版ドキュメント
  57 +
  58 + 処理を高速化するため各種演算結果をdatファイルにまとめています。
  59 + そのため合計のファイルサイズが非常に大きくなっております。
  60 + あらかじめ使うバージョンが限られている場合は使用しないdatファイルは
  61 + 削除しても問題ありません。
  62 + なおrscX.datについてはJIS X 0510の表15〜21RSブロックの項目で
  63 + (c,k,r)とある中のcとkの差がそれに該当します。
  64 + 例えばバージョン1-Mは(26,16,4)とあるので26-16=10でrsc10.datを使用
  65 + します。
  66 +
  67 +3、必要なもの
  68 + 実行に必要なもの
  69 + perl版
  70 +  ・WWWサーバー (perl CGIが動作するもの。)
  71 +  ・perl5
  72 +
  73 +  以下のものはqr_img.cgiのPNG/JPEG出力に必要です。
  74 +  ・GD
  75 +    http://www.boutell.com/gd/
  76 +  ・GD.pm
  77 +    http://stein.cshl.org/WWW/software/GD/GD.html
  78 +  ・libpng
  79 + ・jpeg-6b
  80 +
  81 +   プログラム中の png を gif に変更すると古いgd(1.5以前)とそれ用のGD.pmでも
  82 +  動作しますが特許関連の問題が絡む恐れがありますの使用者自身の責任でお使いくだ
  83 +  さい。
  84 +
  85 + PHP版
  86 +  ・WWWサーバー
  87 +  ・PHP4.1以降
  88 +  ・GD
  89 +  ・libpng
  90 +
  91 + 注:GD 2.0について
  92 +   perl版,PHP版ともGD2.0.10未満およびPHP4.3.0バンドルの
  93 +   GDではGDのバグにより正常に動作しません。
  94 +   GD2.0.10以上をご使用ください。
  95 +
  96 + 動作確認環境
  97 +  perl版・PHP版とも
  98 + Linux 2.4.18
  99 +   apache-1.3.27 + PHP-4.3.0(as apache module)
  100 +   perl 5.6.1
  101 +   GD 2.0.11
  102 +   GD.pm 2.06
  103 +
  104 + 見るために必要なもの
  105 +  ・WWWブラウザ
  106 +
  107 +4、使用方法
  108 +4.1、設定
  109 +4.1.1、perl版
  110 +     1行目の
  111 +    #!/usr/bin/perl
  112 +     をそのサーバーのperlへのパスを指定します。
  113 +
  114 +     次に下記を設定します
  115 +
  116 +# -------- setting area --------
  117 +#
  118 +
  119 + $path="./../data"; # ---You must set path to data files.
  120 +
  121 +# データファイル群("qrv*.dat","rsc*.dat")へのパスを指定します。
  122 +# デフォルトは同階層にある data ディレクトリです。
  123 +
  124 + # ---- for PNG or JPEG image
  125 + $image_path="./../image"; # ---You must set path to QRcode frame images.
  126 +
  127 +# 固定領域イメージ群(qrv*.png)へのパスを指定します。
  128 +# デフォルトは同階層にある image ディレクトリです。
  129 +
  130 + # ---- for HTML mode
  131 + $img_path4html=""; # ---You must set path to b.png and d.png.
  132 + # Default setting is document root.
  133 +
  134 +#  HTMLモードの設定を行います。
  135 +#  同梱しているb.png d.pngを置いた場所へのパスまたはURLを指定します。
  136 +#  これらはドキュメントルートからのパスあるいはURLになります。
  137 +#  たとえばドキュメントルート下のimgディレクトリにおいたならば
  138 +#
  139 +#   $img_path4html="/img";
  140 +#
  141 +#   となります。
  142 +
  143 + @img_fn=("b.png","d.png"); # In html mode,image size depends these files.
  144 +
  145 +#
  146 +#  画像ファイルの名前を変更したい場合は"b.png","d.png"の部分を変更します。
  147 +#  htmlモードではイメージのサイズはこのファイルの画像の大きさに依存します。
  148 +#
  149 +
  150 + $always_html_mode=0;
  151 +
  152 +#
  153 +#  1を設定すると常にhtmlモードで出力します。
  154 +#
  155 +
  156 + $version_ul=40;
  157 +
  158 +#
  159 +# バージョンの上限を指定できます。値は1から40の整数です。
  160 +#
  161 +
  162 +#
  163 +# ------- setting area end --------
  164 +
  165 +
  166 +4.1.2、PHP版
  167 +
  168 +下記を設定します。
  169 +/* ------ setting area ------ */
  170 +
  171 +$path="./../data"; /* You must set the path to data files. */
  172 +
  173 +# データファイル群("qrv*.dat","rsc*.dat")へのパスを指定します。
  174 +# デフォルトは同階層にある data ディレクトリです。
  175 +
  176 +$image_path="./../image"; /* You must set path to QRcode frame images. */
  177 +
  178 +# 固定領域イメージ群(qrvN.png)へのパスを指定します。
  179 +# デフォルトは同階層にある image ディレクトリです。
  180 +
  181 +$version_ul=40; /* upper limit for version */
  182 +
  183 +#バージョンの上限を指定できます。値は1から40の整数です。
  184 +
  185 +/* ------ setting area end ------ */
  186 +
  187 +
  188 +4.2、書式
  189 +4.2.1、ブラウザからの呼び出し
  190 +
  191 +   qr_img.cgi?d=data[&e=(L,M,Q,H)][&s=int size][&v=(1-40)][&t=(J,H)]
  192 +    [&m=(1-16)&n=(2-16)[&o=original data][&p=(0-255)]]
  193 +
  194 +   qr_img.php?d=data[&e=(L,M,Q,H)][&s=int size][&v=(1-40)][&t=J]
  195 +    [&m=(1-16)&n=(2-16)[&o=original data][&p=(0-255)]]
  196 +
  197 +   d:QRコード化するデータです。特殊文字や8bit文字はURLencodeされている
  198 +    必要があります。(漢字や'%'は%+16進表記、空白は'+'等)
  199 +    容量を超えるとエラー表示となります。
  200 +    このパラメータは省略できません。
  201 +
  202 +   e:エラー訂正レベル
  203 +    エラー訂正レベルを指定します。
  204 +    指定できるのはL,M,Q,Hの4種類で省略した場合 M が選択されます。
  205 +
  206 +   s:モジュールサイズ
  207 +    モジュールサイズを指定します。
  208 +    指定できるのは1以上の整数でこの値でイメージのサイズが決定されます。
  209 +    省略した場合 4(png) または 8(jpeg) が選択されます。
  210 +    htmlモードでは意味を持ちません。
  211 +
  212 +   v:バージョン
  213 +    バージョンを指定します。
  214 +    このプログラムで指定できるバージョンは1〜40です。
  215 +    省略した場合はプログラムが自動選択します。
  216 +
  217 +   t:画像タイプ
  218 +    画像タイプを指定します。
  219 +    省略した場合や下記文字以外はPNGを出力します。
  220 +    Jを指定するとjpegで出力します。
  221 +    Hを指定するとhtmlモードで出力します。
  222 +    なおjpegでの出力はGDがjpeg対応している必要があります。
  223 +
  224 +
  225 +  ※以下は連結モード用のパラメータです。現在試験的に対応しています。
  226 +
  227 +   m:連結の何個目のイメージか
  228 +
  229 +   n:全部で何個のイメージがあるか
  230 +
  231 +   o:元のデータ(URLエンコードされている必要があります。)
  232 +
  233 +   p:元データから算出したパリティ値(各文字のアスキー値を排他論理和したもの)
  234 +
  235 +   連結を指定するときはmとnは必須です。
  236 +   またoまたはpのいずれかを必ず指定する必要があります。
  237 +
  238 +   例:abcdefgabcdefg0を2つに分割するとき
  239 +
  240 +   1つめのイメージ
  241 + qr_img.cgi?d=abcdefg&n=2&m=1&o=abcdefgabcdefg0
  242 +   2つめのイメージ
  243 + qr_img.cgi?d=abcdefg0&n=2&m=2&o=abcdefgabcdefg0
  244 +
  245 +    またはあらかじめパリティ値を計算しておいて
  246 +
  247 +   1つめのイメージ
  248 +     qr_img.cgi?d=abcdefg&n=2&m=1&p=48
  249 +   2つめのイメージ
  250 + qr_img.cgi?d=abcdefg0&n=2&m=2&p=48
  251 +
  252 +
  253 +4.2.2、コマンドラインモード
  254 +  qr_img.cgiはコマンドラインからも実行できます。
  255 +  引数間は空白で区切ります。
  256 +  引数dでデータを渡す場合はCGI同様データはURLエンコードされている必要があります。
  257 +  例1
  258 +   $ ./qr_img.cgi d=This+is+a+pen e=L s=3 > qrcode.png
  259 +
  260 +  標準入力からデータを渡す場合は生データのままでOKです。
  261 +  例2
  262 +   $ ./qr_img.cgi e=H < data.txt > qrcode.png
  263 +
  264 +
  265 +5、注意事項
  266 +  下記承知の上ご使用ください。
  267 +  (1)このプログラムのマスク判定ルーチンはおそらく規格と異なります。
  268 +    (一応JIS X 0510にある図1と付属書8の例の結果とは合うようにし
  269 +     ています。)
  270 +    (マスクの選択を誤っても実使用上は問題ないと思いますが。)
  271 +  (2)連結モードは試験的導入です。
  272 +  (3)その他実際の規格と異なる動作をする恐れが多分にあります。
  273 +     使用の際は出力されたシンボルが確実に読めるかのテストを行うことを
  274 +     お勧めします。特にバージョン29以上のシンボルは作者の手持ちリー
  275 +     ダの性能の都合上検証ができていませんので使用の際は特にご注意願い
  276 +     ます。
  277 +  (4)本プログラムは「のろま」です。大きいバージョンをエンコードする
  278 +     場合はご注意ください。(タイムアウトするかもしれません。)
  279 +
  280 +6、著作権・配布など
  281 +  これらのプログラムの著作権は作者であるY.Swetakeにあります。
  282 +  これらのプログラムはフリーウエアです。もとの著作権表示を変更しなければ
  283 + 自由に再配布・改造してもかまいません。
  284 +
  285 +7、免責事項
  286 +  これらのプログラムによって生じるあらゆる損害・不利益について、作者は
  287 + 一切責任を負いません。
  288 +  作者はこれらのプログラムに不備があっても、それを訂正する義務を負いま
  289 + せん。
  290 +
  291 +8、その他
  292 + 最新版は下記のページからたどれます。
  293 +  http://www.swetake.com/
  294 +
  295 + ご意見・不具合などあれば下記まで
  296 +  e-mail: swe@venus.dti.ne.jp
  297 +
  298 +9、更新履歴
  299 +
  300 + 2005/7/23 ver.0.50g
  301 + ・特定のパラメータの組み合わせでサーバー上のリソースを過剰に
  302 +        消費する不具合を修正。
  303 + ・バージョンの上限を指定できる変数を追加。
  304 +
  305 + 2005/7/21 ver.0.50f
  306 + ・perl版における引数vのチェックを修正
  307 + ・php版のマスク選択処理を一部変更(thanks for Mr.Bru, Franky)
  308 +
  309 + 2004/7/19 ver.0.50e
  310 + ・php版のalphanumericモードで記号が正しくエンコードできない
  311 + 不具合を修正
  312 +
  313 + ・rsc36.dat rsc52.datの計算間違いを修正。
  314 + (なおこれらのファイルはmodel2では使用しません)
  315 +
  316 + 2003/10/5 ver.0.50d
  317 + ・perl/cgi版htmlモードにて $img_path4html の設定が
  318 +  反映されていない不具合修正
  319 +
  320 + 2003/6/19 ver.0.50c
  321 + ・マスク選択処理一部変更
  322 + ・ドキュメント改定
  323 +
  324 + 2003/5/24 ver.0.50b
  325 + ・ドキュメントの改定
  326 +
  327 + 2003/4/13 ver.0.50a
  328 + ・ファイルオープン処理の修正(バイナリモード明記)
  329 + ・エラー処理部修正
  330 + ・ドキュメントの改定(GD2.0に関する注記追記)
  331 +
  332 + 2002/9/21 ver.0.50
  333 + ・バージョン1-40対応
  334 + ・処理速度向上のため以下のルーチンを大幅見直し
  335 +         エラー訂正語生成処理
  336 +         マスク選択処理    等
  337 +
  338 + 2002/5/26 ver.0.40
  339 + ・連結に試験的に対応(動作・不具合報告歓迎致します。)
  340 +       ・qr_html.cgi とqr_img.cgiを統合
  341 +        qr_img.cgi の引数t=Hを指定することによりhtml出力とした。
  342 +       ・PHP版において外部変数の取り込みをsuperグローバル関数による
  343 +        ものに変更した。(デフォルトはGET)
  344 +       ・マスクの選択機能廃止
  345 +       ・その他、コードのメンテナンス。
  346 +
  347 + 2002/2/10 ver.0.31
  348 +       ・jpeg出力に対応
  349 +
  350 +  2001/4/30 ver.0.30
  351 +       ・マスク選択ルーチン更新。JIS X 0510の図1および
  352 +        付属書8図2の結果と合うように変更。
  353 +        (これにともないデータファイルの構成変更。)
  354 +       ・version 1-9 対応。
  355 +       ・qr_img.cgiのコマンドライン対応
  356 +
  357 +  2001/3/30 ver.0.20a
  358 +       ・CGI版にてマスク選択パラメータ処理が不正なため
  359 +       ・マスクが常に0となっていた不具合を修正。
  360 +       ・CGI版は任意のマスクパターン選択機能廃止。
  361 +
  362 + 2001/3/9 ver. 0.20
  363 +       ・version 1-6 対応
  364 +        それに伴いデータ処理・ECCルーチン等大幅変更。
  365 +
  366 + 2001/2/11 ver. 0.10B
  367 +       ・処理ルーチン更新。処理速度20〜30%up。
  368 +       ・PHP版追加。
  369 +
  370 +  2000/9/11 ver. 0.10 公開
  371 +       (version1の数字・英数字・8bitモードのみサポート)
  372 +
  373 +[eof]
... ...
pacotes/qrcode/data/qrv10_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv10_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv10_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv10_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv11_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv11_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv11_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv11_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv12_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv12_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv12_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv12_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv13_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv13_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv13_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv13_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv14_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv14_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv14_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv14_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv15_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv15_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv15_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv15_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv16_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv16_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv16_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv16_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv17_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv17_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv17_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv17_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv18_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv18_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv18_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv18_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv19_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv19_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv19_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv19_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv1_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv1_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv1_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv1_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv20_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv20_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv20_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv20_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv21_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv21_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv21_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv21_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv22_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv22_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv22_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv22_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv23_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv23_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv23_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv23_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv24_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv24_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv24_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv24_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv25_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv25_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv25_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv25_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv26_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv26_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv26_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv26_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv27_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv27_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv27_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv27_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv28_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv28_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv28_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv28_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv29_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv29_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv29_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv29_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv2_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv2_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv2_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv2_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv30_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv30_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv30_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv30_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv31_0.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv31_1.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv31_2.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv31_3.dat 0 → 100644
No preview for this file type
pacotes/qrcode/data/qrv32_0.dat 0 → 100644
No preview for this file type