任意のUIに任意のフォントを使う方法

環境構築

日本語に対応していないUIで日本語を表示する方法です。同様の手順で好きなフォントに置き換えることもできます。

前提

JPEXS Free Flash Decompiler (ffdec)をインストールしておきます。

フォントを用意する

使いたいフォントのTTFファイルを用意します。

フォントがUIに含まれていてTTFファイルがない場合は、swfからTTFファイルを取り出します。

swfからTTFファイルを取り出す手順

swfファイルをffdecで開きます。

バニラならSkyrim – Interface.bsaに含まれるfonts_ja.swfになります。

左のツリーのfontsから日本語フォントを探します。

バニラならDefineFont3 (3: 1_Skyrim_JP_EvenryFont_0805)になります。

右クリックしてExport selectionを選ぶとTTFファイルとして保存できます。

UIにフォントを組み込む

使いたいswfファイルをffdecで開きます。

swfファイルに直に含まれている場合と、別のswfファイルに含まれていて参照されている場合があります。

例えばUntarnished UIならfonts_futura.swfにフォントが含まれています。

左のツリーのfontsから目的のフォントを探します。

右のEmbedをクリックします。

文字の種類とサンプル表記が確認できるウインドウが出てきます。

TTF file: <select>の部分をクリックします。

用意しておいたTTFファイルを指定します。

All charactersにチェックを入れると、そのTTFファイルが持つ全ての文字が読み込まれます。

日本語フォントを追加する場合は、Japanese (All)を選んでもいいようですが、Japanese Kanaだとひらがなとカタカナのみ、Japanese Kanji – Level 1だと第一水準漢字のみが読み込まれるようなので注意です。All charactersまたはJapanese (All)を選んで第二水準漢字を読み込まないと、日本語の字幕などでところどころ表示されずに□が出てくる場合があります。

文字を上書きするかどうか聞かれます。ここではYes to allを選んで上書きします。

記号などを元に戻すには

アルファベット、数字、記号を元のままにしておきたい場合は、元のフォントを使って復元しなければなりません。

事前に英語フォントのTTFファイルを取り出しておきます。日本語フォントを組み込むときと同じ要領で英語フォントを読み込み、Uppercase、Lowercase、Numerals、Punctuationあたりにチェックを入れて上書きします。

保存して終了

swfファイルを保存してffdecを終了すれば完了です。

サイズを変更するには

英語フォントにくらべて大きめなので違和感がありました。75%のサイズに縮小してみたところいい感じになりました。

フォントサイズの変更はSkyrimのFont問題 フォントサイズの変更にて解説されています。FontForgeは公式サイトから入手しました。

タイトルとURLをコピーしました