php_qr 0.3.0 Released

libqr-0.3.0.tgz
php_qr-0.3.0.tgz


libqrの変更点

  • QRCodeオブジェクトを複製する関数 QRCode *qrClone(const QRCode *qr, int *errcode) を追加
  • QRStructuredオブジェクトを複製する関数 QRStructured *qrsClone(const QRStructured *st, int *errcode) を追加
  • JSONをダブルクォートで囲まないように変更


php_qrの変更点

  • QRCodeオブジェクトを複製できるようにした
  • php.iniで各種オプションのデフォルト値を設定できるようにした
    • qr.default_version (型番)
      • -1(自動)または1から40までの整数 (default: -1)
    • qr.default_mode (符号化モード)
      • auto, numeric, alnum, 8bit, kanji から選択 (default: auto)
      • ini_set()の引数には定数QR_EM_*が使える
    • qr.default_eclevel (誤り訂正レベル)
      • L, M, Q, H から選択 (default: M)
      • ini_set()の引数には定数QR_ECL_*が使える
    • qr.default_masktype (マスクパターン種別)
      • -1(自動)または0から8までの整数 (default: -1)
    • qr.default_format (出力形式)
      • DIGIT, ASCII, JSON, PBM, BMP, SVG, TIFF, GIF, JPEG, PNG, WBMP から選択 (default: DIGIT)
      • ini_set()の引数には定数QR_FMT_*が使える
    • qr.default_magnify (1モジュール(ドット)あたりの大きさ(ピクセル))
      • 1から16までの整数 (default: 1)
    • qr.default_separator (分離パターンの幅)
      • 1から16までの整数 (default: 4)
    • qr.default_maxnum (連結コード作成時の最大シンボル数)
      • 1から16までの整数 (default: 1)
    • qr.default_order (連結コード作成時のシンボルの並べ方)
      • 任意の整数 (default: 0)
      • 0ならなるべく正方形に近くなるように、正の数なら横にその数ずつ、負の数なら縦にその数ずつ並べる
  • サンプルプログラムを追加
  • qr_output_symbol(), QRCode::outputSymbol()で出力先のパスを省略したときに起こる重大な問題を修正


新機能のサンプル

<?php
// デフォルト値を設定
ini_set('qr.default_format', QR_FMT_PNG);
ini_set('qr.default_magnify', 3);

$qr = new QRCode();
$qr->addData('foo');

// オブジェクトを複製し、途中から異なる内容のQRコードを作成できる
$qr2 = clone $qr;

$qr->addData('bar');
$qr->finalize();
$qr->outputSymbol('foobar.png');

$qr2->addData('baz');
$qr2->finalize();
$qr2->outputSymbol('foobaz.png');
?>