DXRuby1.2.1リリース

高品質文字描画とRuby1.9.1系でのエンコードフリー化(どう表現すればいいのやら)が目玉のDXRuby1.2.1をリリースした。
http://dxruby.sourceforge.jp/

文字描画のほうはそういえば前にも言われてたような気がするんだけど、重ねて描いてね〜みたいにお茶を濁していたのだな。言う人によって差別しているわけでもないはずだが、まあ、そのときのモチベーションとか優先順位とかそんな感じに受け取っておいてもらえばいいかもしれない。
エンコード関連は、Ruby1.9.1系のCSI方式を利用して内部でシステムコードページから作ったエンコード名に変換することで何でも使えるようにした。ウィンドウタイトルやファイル名などの取得時にも同様にエンコードを付与してるから、外国語版Windowsでもそれなりに動くはずだ。
ほか、微妙な不具合どもの修正と、微妙にパフォーマンスアップを施して、更に微妙にImage#delayed_disposeを追加した。これは何かと言うと、Imageを生成→描画を毎フレーム行うような場合に、disposeしてやらないとGCが動く前にリソースが尽きるという現象を回避するためのネタで、フレーム終了時にdisposeされるように予約するメソッドとなる。
次のフレームでdisposeするのは何かと面倒なのだな。とはいえImageをどうこうするのは遅いから、実際ユーザーが使うことは無いかもしれない。開発中の試行錯誤に便利な俺が嬉しい機能。やっぱり微妙だ。

先を考えると、とりあえずやっぱりShaderクラスを実装したい。表現力の不足をCでコード書いて埋めるのはしんどい話で、メソッドをガンガン増やすのも方針に反する。後付けで描画アルゴリズムを追加することができるShaderはいろんな意味で有効だ。
音周りをどうにかしたいのはずーーーっと前から思っていてまたちょっと調べてしたのだが、やっぱりちょっと難しめ。継続的に考えていこう。
もうすぐmRubyが発表される(はずだ)から、そうなったらそっちをいじり始めてしまうかもしれない。
まあ、てきとーに。
あ。新しいサンプル作成は諦めた。予めご了承ください。