libqrencode を使用したサンプル QR コード作成ツール QRURL と静的ライブラリ libqrencode.a を公開。

OS X Mountain Lion が 7月25日(米国時間)に発売されました。最初のダウンロードは混むので、一日置いてから Mac App Store でダウンロードしました。何の問題もなく OS X Lion から OS X Mountain Lion アップデートできました。後、念のためクリーンインストールしようか、悩んでいます。

また、北米版プチコンmkII : Petit Computer が 2012年7月19日に発売されました。

Nintendo.com – Petit Computer – Game Info
http://www.nintendo.com/games/detail/_YpH-64pY4G4_tAy1wrKVecHp4pmWSzw
Top Page - Petit Computer
http://www.petitcomputer.com/
スマイルブーム.com
http://smileboom.com/blog/

上のブログによると QR コードも共通仕様なので、プチコンmkII 版のプログラムは、北米版 Petit Computer で遊べるみたいです。(一部、TALK 文などが対応していません。) 私の公開しているプログラムも英語の解説を付けたいのですが、英語が苦手なので無理ですね。ホームページのアクセス解析によると海外のアクセス数が増加しています。また、拙作プチコンmkII 版マインスイーパのリンクを紹介した海外サイトもあります。

話は変わって、以前から QR コードの作成プログラムに興味がありました。

ニンテンドーDSi ウェア ‘プチコンmkII’ は、ホームページ上で SDカードに保存したファイルを QR コード変換ツールを使って QR コードに変換します。

QR コード変換ツールを

PTCUtilities v0.7.3: ROBOMIC(ブログ)
http://micono.cocolog-nifty.com/blog/2012/05/ptcutilities--5.html
PTCUtilites
http://micutil.com/ptcutilities/top.html

上記 URL で公開した人がいます。

Mac 版と Windows 版が作成されていたので、どんなツールで作成されていたのか興味がありました。

実行ファイル PTCUtilities をマウスで右クリック、パッケージの内容を表示を選ぶと

PTCUtilitiesMac/PTCUtilities.app/Contents/MacOS/rbframework.dylib
PTCUtilitiesMac/PTCUtilities.app/Contents/Frameworks/MBS Real Studio Cocoa Plugin.rbx_16.dylib

と表示されます。rb の接頭語から、私が Mac OS 9 時代に使用していた REALbasic を思い出しました。Wikipedia で検索してみると

REALbasic - Wikipedia
http://ja.wikipedia.org/wiki/REALbasic
REALbasicの現状

今は REAL Studio という名称になって発売されているようです。

QR コード作成ツールを作ってみたいと思い、QR コードのライブラリを Google で検索してみました。

libqrencode
http://fukuchi.org/works/qrencode/index.html.ja

上記 URL で公開されている C のライブラリが良さそうです。開発環境をなるべくデフォルトの状態にしたいので、ライブラリのビルドは、Parallels DesktopOS X Lion 上でおこないました。

上記 URL から、ファイル qrencode-3.3.1.tar.gz をダウンロードし、ダブルクリックすると qrencode-3.3.1 という名前のフォルダが作成されます。ターミナルでそのフォルダに移動し、./configure を実行すると pkg-config のバージョンが古いというエラーが出ます。

それで Homebrew を使って

brew install pkg-config

最新の pkg-config をインストールしました。

./configure
make

で問題なくビルドに成功しました。しかし、静的ライブラリ libqrencode.a を作ってくれません。また、ビルドして作成される実行ファイル qrencode は、png ライブラリを使用しています。しかし、libqrencode ライブラリ自体は、どのライブラリにも依存していませんでした。

それで Xcode で無理やり、静的ライブラリを作成することにしました。png ライブラリを使用している qrenc.c 以外の拡張子が C のファイルと config.h 含むヘッダファイルをプロジェクトに追加し、C のファイルのヘッダ読み込み

#if HAVE_CONFIG_H
# include "config.h"
#endif

の箇所から

#if HAVE_CONFIG_H
#endif

を削除し、ビルドしてみました。警告が表示されますが、ビルドに成功しました。

簡単な QR コード作成ツール QRURL と静的ライブラリ libqrencode.a を一緒に公開します。

QRURL
libqrencode.a
http://kyoshiaki.sakura.ne.jp/osx/Sample/qrcode.zip

ここで、振り出しに戻るのですが、

リンク集 - プチコンまとめWiki
http://wiki.hosiken.jp/petc/?Link
PTC2QR

上記 URL で Ruby のソース付きQR コード変換ツール PTC2QR が公開されています。

ocra-1.2.0 Documentation
http://ocra.rubyforge.org/

初めて知ったのですが、Ruby のソースファイルから Windows 実行ファイルを作るプログラム (ocra 上記 URL 参照) があるんですね!

PTC2QR のソースを Ruby から Objective-C に書き換えてみました。何とか動作するものができました。著作権上、公開は無理なので、スクリーンショットだけ載せておきます。