トップ «前の日記(2007-03-28) 最新 次の日記(2007-04-05)» 編集

Route 477



2007-04-01

[Ruby/SDL] フォントの話

Ruby/SDLで文字を表示したいと思ったとき、一番簡単なのはTTFファイルを読み込むことだ。TTFだと サイズを簡単に変更できるし、アンチエイリアスをかけられるから綺麗だし、文字幅も可変なので見た目にも美しい。 いいことづくめだ。

が、TTFにも一つだけ罠があって、それは多くのフリーフォントは無断での再配布を禁じているということだ。 Web上には「非営利なら連絡不要で利用可」というくらいの意味で「自由に使える」フォントはたくさん公開されている のだが、フォントファイル自体の再配布は禁じている(もしくは要連絡)ものが多い。

というわけで、

  • (A) 作者に連絡して同梱許可をもらう。
  • (B) 再配布自由なフォントを探す。
  • (C) TTFをビットマップに書き出してそれを使う。(BMFont, SFont)

といういずれかの手段を取る事になる。(※無断で同梱してしまう、というのは著作権法違反なので却下^^;)

(A)は一番正攻法と言える。もともとフリーで公開されているものだから、きちんと連絡さえすれば大抵の作者は OKを出してくれるだろう。

(B)は、再配布を明示的に許可しているフォントサイトが少ないため結構難しいと思われる。 もしそういうサイトを見つけたら、ぜひフォント/リンクに追加してほしい。

(C)は一般的なゲーム製作で用いられているアプローチであるが、サイズを動的に変更できなくなるため 利便性はTTFに比べると多少劣る。でもまあ一番現実的だろう。

[Ruby/SDL] でだ

ワンクリックでBMFontを生成してくれるツールを作ろうかと思ったのだが、 ビットマップフォントを吐くと幅を可変にできないしSFontを吐くと色を動的に変更できない。さぁ困った。

「白黒のSFont」みたいなフォーマットがあればいいのだが…。

[Ruby/SDL] 逆引きRuby/SDL

Ruby/SDL Usersに、逆引きRuby/SDLというページを 作ってみました。まだ全然書いてないですけど。執筆者募集中。あとこんな項目が欲しい!とかも。

リファレンスにリンクを貼りたいんですけど、RDだからメソッドが増えるとURLがずれちゃうのが困り者。 メソッド名ごとにURLが固定されるようにできんかなぁ。