ゲーム内フォントの変更(World of Warplanes)

気分転換によさそうぐらいの軽い気持ちで始めたのですが、英語フォントのようにはいかなかったので、手順をまとめておきます。

毎度のことですが、自己責任でよろしくお願いします。

必要なもの

  1. フォントファイル(.ttf形式)
  2. swfmill(0.3.6 windows版) ※公式サイト http://www.swfmill.org/
  3. 4GB Patch(1.0.0.1) ※公式サイトhttps://ntcore.com/?page_id=371
  4. WoWP TTF→SWF.zip ※クリックでダウンロード

フォント

  • 利用するフォントの利用規約をよくご確認の上でご利用下さい。
  • 利用可能なのは.ttf(TrueTypeFont)のみです。その他の形式(.ttc、.otfなど)の場合は変換して下さい。
    • 私はFontForgeで読み込んで、.ttf形式で出力してます。
  • JIS漢字コード第1水準まででもプレイに支障ないとは思いますが、JIS第2水準の漢字に対応していればほぼ豆腐(□)or非表示にならないと思います。
    • 参考:「~res\localization\ja\text\LC_MESSAGES」内の.moファイルにて使用されている第2水準の漢字は以下の通り。
    • 「彗鵄站鹵殲躊躇埃榴盪桿塹熾燼痺霰濤咆哮爛俯絨毯堡罠蹂躙礫璧膠崗閾鉤」
  • 英語、日本語以外の言語に対応していないフォントの場合(ロシア語、ドイツ語、中国語、韓国語など)は豆腐(□)or非表示となります。
    • 私は英語、日本語以外でチャットされても読めないので気にせず非対応フォントを使っていますが、気になる方は対応したフォントをご利用頂くか、fontconfig.xmlの<runtime>に挟まれた任意の部分をWindowsにインストールされている使いたい言語に対応したフォント名に書き換えて使ってください(こちらの方法では2バイト文字がガビガビになります)。
    • $TextFontは戦闘中テキストチャットなどのチャット全般に使用されるフォントっぽいです。
      <alias>
        <embedded>$TextFont</embedded>
        <runtime>WoWPFont_JP</runtime>
      </alias>

swfmill、4GB Patch

  • swfmillはswfをxmlに変換したり、戻したりできるツールです。ここではフォントデータ(ttf)をswfにぶち込むのに使います。
    • swfmillは32bitアプリな上、デフォルトだとLAA(LARGE ADDRESS AWARE)オプションが有効でないため、利用可能メモリが2GB弱になっています。
    • 日本語(2バイト文字)のフォントデータは容量がデカいので、そのまま使うと大抵メモリ不足で出力できません。
  • 4GB PatchはLAAオプションを有効にして使用可能メモリを約4GBまで拡張してくれるツールです。

[WoWP]TTF→SWF.zip

  • 内容物は以下の通りです。
    • gui」 \ 「flash」 \ 「fontconfig.xml
      • ※最終的に「~World_of_Warplanes\res_mods\2.X.X.X」に入れるMOD部分
    • font.xml
      • ※swfmillを使ってフォントファイルをswfにぶち込むためのテンプレート
    • フォントファイル名を「wowpfont.ttf」にして実行.bat
      • ※実行用の.batファイル
    • readme

手順

※変更までの流れを確認した上で作業して下さい。

  1. 上記の「必要なもの」を用意する。 ※全て解凍[展開]しておく
  2. 「4gb_patch」フォルダ内の「4gb_patch.exe」を起動し、「swfmill-0.3.6-win32」フォルダ内の「swfmill.exe」を選択する。
    f:id:hal-nico:20191122202554p:plain
    この画面が出たらOKです。
  3. 「swfmill-0.3.6-win32」フォルダ内の「swfmill.exe」を「[WoWP]TTF→SWF」にコピーする。 ※「swfmill.exe.Backup」ではない。
  4. 「[WoWP]TTF→SWF」に使用したいフォントファイル(.ttf形式)を入れ、ファイル名を「wowpfont.ttf」に書き換える。
    f:id:hal-nico:20191122205633p:plain
    この時点で画像のファイルがそろっていることを一度確認
  5. 「フォントファイル名を「wowpfont.ttf」にして実行.bat」をクリックして実行し、表示されるコマンドプロンプトが消えるまで待つ。
  6. gui」フォルダをコピーし、「~\World_of_Warplanes\res_mods\2.X.X.X」フォルダにペーストする ※2.X.X.Xは最新のもの
  7. 「~\World_of_Warplanes\res_overrides\localization\ja\res\gui\flash」フォルダを開き、「fontconfig.xml」の名称をなんでもいいので変更する。 ※例:「fontconfig_old.xml
  8. ゲームを起動し確認する。

戻し方

  1. 「~\World_of_Warplanes\res_overrides\localization\ja\res\gui\flash」フォルダを開き、変更したファイル名を「fontconfig.xml」に戻す。
  2. 「~\World_of_Warplanes\res_mods\2.X.X.X\gui\flash」フォルダ内の「fontconfig.xml」と「WoWPFont_JP.swf」を削除する。
  3. ゲームを起動し確認する。

おまけ

fontconfig.xmlを書き換えるだけでどうにかならんの?と思いますが、日本語だとダメでした。
英語フォント(2バイト文字を含まないフォント)でのやり方はNAのフォーラムにあります。
forum.worldofwarplanes.com
この方法を日本語(2バイト文字)フォントでやると、漢字やひらがなといった2バイト文字がガビガビになります(画像参照)。

f:id:hal-nico:20191122035920j:plain
左がfontconfig書き換えのみ、右がMeiryo.ttfをswfにぶち込んだもの

だから、こんな面倒くさい手順を踏む必要があったんですね。(MGTN構文)

WoWP関連記事

hal-nico.hatenablog.com