前回の記事の話で、実際にフォントイメージがビルド時に生成されるかを試してみました。
まず、プロジェクトを作成する環境は「Windows Vista」で行い、「MS ゴシック」「HG創英角ポップ体」「メイリオ」のフォントを描画する実行ファイルを生成します。ちなみに「メイリオ」は Windows Vista にしかインストールされていません。
まず、Windows Vista でそれぞれを実行した結果のイメージが下になります。
Windows Vista - MS ゴシック
Windows Vista - HG創英角ポップ体
Windows Vista - メイリオ
まあ、開発環境で実行しているので特には問題ないと思います。
では、作成したパッケージを Windows XP で実行させるとどうなるのでしょう?
Windows XP- MS ゴシック
Windows XP- HG創英角ポップ体
Windows XP- メイリオ
なんと、Windows XP にはインストールされていないメイリオフォントがきちんと描画できています。
では最後に Xbox360 でもやってみます。(PHS で写真撮ったから画像は汚いです(^^;))
Xbox360- MS ゴシック
Xbox360- HG創英角ポップ体
Xbox360- メイリオ
こちらもすべて正常に描画できていることがわかります。
ということで、結論としてビルド時にコンテント・パイプラインでフォントイメージを作成し、実行したときにそのイメージをコードから引っ張ってきてスプライトとして描画していることがわかるかと思います。
開発環境に使用するフォントがインストールされていれば、ゲームを実行する環境にフォントがインストールされていることを知る必要もなく、正常に描画できてしまうという何気に画期的な仕組みが XNA に組み込まれています。これはこれでなかなか面白い技術だと思います。
ちなみに開発環境にインストールされていないフォントを指定してビルドするとエラーになります(^^;)