Failed to load GameFont を減らすツールを公開しました

※すみませんが本ツールはWindows専用です

はじめに

環境にも拠りますが、ブラウザでツクールMVの作品をプレイしようとすると、

Failed to load GameFont

…というエラーが発生して、ゲームを開始できないことがあります。

正確な解説はnanoさんの記事に譲りますが、要するに標準のフォントファイル (mplus-1m-regular.ttf)が1.5MBとかなり大きいので、途中で時間切れになってしまうのが原因です。

つまり何かしらの方法でフォントファイルを軽量化できれば、エラーを発生しにくくすることができるはず! ということで本記事では白の雪と古の魔女で試した方法をご紹介します。ちなみに同作ではフォントファイルのサイズを約1/5の296KBにまで削減できました。

方法

今回ご紹介する方法は、フォントのサブセット化といわれるものです。フォントファイルには様々な文字の情報が埋め込まれていますが、実際にひとつの作品で使用する文字はごく一部で、あとは無駄な文字情報になってしまいます。そこで必要な文字情報だけを抜き出して、フォントファイルを再作成するのが、フォントのサブセット化です。

フォントのサブセット化をするためのツールは色々出回っていますが、今回は武蔵システム様が公開しているサブセットフォントメーカーを使用させていただきました。まずはこちらをダウンロードしてください。

2016-12-05_23h14_42

ツールを起動すると、上図のような画面が表示されると思います。使い方はとても簡単で、(1) に軽量化したいttfファイルのパス、(2) にサブセット化した後の ttf ファイルの出力先、(3) にサブセット化後に残したい文字 を指定して、「作成開始」ボタンを押すだけです。

ですが、ここで問題が発生。(3)で必要な文字をどうやって調べればいいのでしょう? 前置きが長くなりましたが、ここで今回私の作成したツールの登場です。

DumpCharacter

こちらのリンクからツールをダウンロードしてください。

DumpCharacterはツクールMVのプロジェクトファイルを読み込ませることで、その下にあるすべての json および js ファイルを検索、必要な文字を重複なく抽出してくれるツールです。

使い方は以下のとおりです。

  1. DumpCharacter.exe に 軽量化したいツクールMVのプロジェクトファイル(.rpgproject)をドラッグ&ドロップします
  2. 処理が終わると、プロジェクトファイルと同じフォルダにoutput.txt というテキストファイルが生成されます
  3. output.txt をメモ帳などで開き、中のテキストを先ほどのサブセットフォントメーカーの(3)の場所にコピペします(Ctrl+Aでコピーする文字を全選択することを推奨します)

上記の手順を行うことで、あなたの作品に最適化されたフォントファイルを作成することができます。多くの場合、劇的に軽量化されると思いますので、これでモバイル回線とかでもエラーが発生しにくくなるはずです。

注意事項

実は DumpCharacter、全然すごいことをしているわけではなくて、単純にファイルの中の文字をすべて抽出しているだけです。なので実際には画面に表示されない文字なんかが残っていますが、まぁ大抵はそれらはアルファベットですし、現状で十分な効果が得られたので、これでよしとしています。

あと、当然ながら、サブセット化したあとにセリフとかを弄ったら、元のフォントファイルから再度サブセット化を行ってください。

※追記(2016/12/12) ユニコードエスケープ形式の文字を扱えるようにしました。お手数ですが、こちらで再度サブセット化をお願い致します

シェアする

  • このエントリーをはてなブックマークに追加

フォローする