PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法

2020年11月21日
1

ゲームエンジンに Unreal Engine 3 を採用している PC ゲーム Dishonored - Definitive Edition に日本語フォント(Scaleform フォント、ビットマップフォント)を追加する方法がわかりましたので、この記事ではそのやり方を説明します。

この方法で日本語フォントを追加することで、Dishonored 日本語化ファイル の日本語フォントに収録されていない日本語文字の 文字化け問題 を解決する見込みがあるので、DLC の未翻訳部分の翻訳や修正したい場合などによる文字化けの心配がなくなることが期待できます。

また、この日本語フォント追加方法で実績解除ができて、クリアまでクラッシュせず安定してプレイできるようであれば、Dishonored 日本語化ファイル に含まれる日本語フォントの配布問題を解決できる可能性があります。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法

PC ゲーム Dishonored - Definitive Edition 日本語化基本情報

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、PC ゲーム Dishonored - Definitive Edition 日本語化基本情報、Steam 版 Dishonored - Definitive Edition 日本語化&日本語フォント追加可能
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、PC ゲーム Dishonored - Definitive Edition 日本語化基本情報、GOG 版 Dishonored - Definitive Edition 日本語化&日本語フォント追加可能

今回、日本語フォントを追加するためにインストールした Steam 版 Dishonored - Definitive EditionGOG 版 Dishonored - Definitive Edition です。

Steam 版 だけでなく GOG 版 でも日本語化可能なので、どちらのバージョンでも日本語フォントの追加は可能です。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、PC ゲーム Dishonored - Definitive Edition 日本語化基本情報、Steam 版の場合 Steam ライブラリで Dishonored - Definitive Edition プロパティ画面を開き、ローカルファイルタブで 「ローカルファイルを閲覧...」 をクリックしてインストール先フォルダを開く

Steam 版 Dishonored - Definitive Edition でインストール先フォルダを開きたい場合、Steam ライブラリからプロパティ画面を開き、ローカルファイルを閲覧をクリックすることでインストール先フォルダにすぐにアクセスできます。

または、Steam ライブラリでタイトルを右クリック → 管理 → ローカルファイルを閲覧、をクリックすることでインストール先フォルダを開くこともできます。

Steam 版・GOG 版 Dishonored - Definitive Edition 起動ロゴスキップ方法

日本語フォントとは関係ない内容ですが、ゲーム起動時に再生される企業ロゴをスキップする方法です。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、PC ゲーム Dishonored - Definitive Edition 日本語化基本情報、Steam 版・GOG 版 Dishonored - Definitive Edition 起動ロゴスキップ方法、Steam 版の場合 Steam ライブラリで Dishonored - Definitive Edition プロパティ画面を開き、一般タブで 「起動オプションを設定...」 をクリック

Steam 版 の場合、Steam ライブラリで Dishonored - Definitive Edition プロパティ画面を開き、一般タブで 「起動オプションを設定...」 をクリックします。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、PC ゲーム Dishonored - Definitive Edition 日本語化基本情報、Steam 版・GOG 版 Dishonored - Definitive Edition 起動ロゴスキップ方法、Steam 版の場合 Steam ライブラリで Dishonored - Definitive Edition プロパティ画面を開き、一般タブで 「起動オプションを設定...」 をクリック、起動オプション画面で 「-nostartupmovies」 を入力

起動オプション画面で 「-nostartupmovies」 を入力します。ゲーム起動時に起動ロゴがスキップされて、ロード画面が表示されれば成功です。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、PC ゲーム Dishonored - Definitive Edition 日本語化基本情報、Steam 版・GOG 版 Dishonored - Definitive Edition 起動ロゴスキップ方法、GOG 版の場合 ゲームインストール時に自動的に作成または手動で作成したショートカットのプロパティ画面を開き、リンク先に 「 -nostartupmovies」 を入力

GOG 版 の場合は、ゲームインストール時に自動的に作成または手動で作成したショートカットのプロパティ画面を開き、リンク先に 「 -nostartupmovies」 を入力します。

ショートカットからゲームを起動、起動ロゴがスキップされて、ロード画面が表示されれば成功です。

PC ゲーム Dishonored - Definitive Edition upk フォントファイルアンパック

日本語フォントを追加するために、フォントデータを含む英語版 upk ファイルをアンパックする必要があります。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、PC ゲーム Dishonored - Definitive Edition upk フォントファイルアンパック、Dishonored\DishonoredGame\CookedPCConsole フォルダにある英語版 DisFonts_SF.upk と UI_Loading_SF_LOC_INT.upk ファイルをコピー

作業用フォルダを用意して、Dishonored\DishonoredGame\CookedPCConsole フォルダにある英語版 DisFonts_SF.upkUI_Loading_SF_LOC_INT.upk ファイルをコピーして配置します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、PC ゲーム Dishonored - Definitive Edition upk フォントファイルアンパック、コピーした英語版 DisFonts_SF.upk と UI_Loading_SF_LOC_INT.upk ファイルを Unreal Package Decompressor でデコンプレスして生成された unpacked フォルダ

まずはコピーした DisFonts_SF.upkUI_Loading_SF_LOC_INT.upk ファイルを Unreal Package Decompressor でデコンプレス(decompress.exe へ upk ファイルをドラッグアンドドロップ)します。

unpacked フォルダが生成されて、デコンプレスされた upk ファイルがフォルダに格納されます。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、PC ゲーム Dishonored - Definitive Edition upk フォントファイルアンパック、Unreal Package Decompressor でデコンプレスされた unpacked フォルダにある英語版 DisFonts_SF.upk と UI_Loading_SF_LOC_INT.upk ファイル、このフォントファイルに日本語フォントのバイナリデータを追加

unpacked フォルダにある Unreal Package Decompressor でデコンプレスされた DisFonts_SF.upkUI_Loading_SF_LOC_INT.upk ファイルです。デコンプレス前と比べてファイルサイズが増えているのが確認できます。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、PC ゲーム Dishonored - Definitive Edition upk フォントファイルアンパック、デコンプレスされた英語版 DisFonts_SF.upk と UI_Loading_SF_LOC_INT.upk ファイルを Unreal Package Extractor か UPKunpack.exe でアンパック、アンパックした Scaleform フォントファイル(~.SwfMovie)とビットマップフォントファイル(~.Font、~.Texture2D)に日本語フォント・バイナリデータを追加・変更して、そのバイナリデータを upk ファイルへ追加

次にデコンプレスした DisFonts_SF.upkUI_Loading_SF_LOC_INT.upk ファイルを、Dishonored 日本語化ファイルに含まれるアンパックツールUnreal Package Extractor でアンパックします。

どちらのツールでもアンパックできますが、Dishonored 日本語化ファイルに含まれるアンパックツール では各ファイルのサイズとオフセットが記述されている ExportTable.Log ファイルが出力されます。upk ファイルに日本語フォントバイナリデータを追加する際に、このサイズとオフセット値のバイナリデータを探して書き換える必要があります。

各ファイルのサイズとオフセットについては ExportTable.Log がなくても自力で探すことも可能ですが、特に理由がない限りは Dishonored 日本語化ファイルに含まれるアンパックツール でアンパックした ExportTable.Log から特定したほうが楽でしょう。

アンパックしたファイル から Scaleform フォントの場合は FFDec でフォントを追加、ビットマップフォントの場合は UDK で生成した upk フォントファイルのバイナリデータに入れ替え ます。これらのファイルを デコンプレスした upk ファイル にバイナリデータを追加して、一部のバイナリデータを修正することで日本語フォントを表示できるようになります。

ちなみに英語版 Dishonored - Definitive Edition では Scaleform フォントとビットマップフォントをそれぞれ 2種類用意して使用しています。(日本語化ファイルの Scaleform フォント、ビットマップフォントともに 1種類のみ)

Dishonored の Scaleform フォントは GFxUI.int ファイルで、ビットマップフォントは DishonoredGame.int ファイルで指定されています。Scaleform フォントやビットマップフォントに一つしか日本語フォントを使わないのであれば、もう一つのフォントの追加やバイナリデータを書き換える必要はなくなるので、その分ファイルサイズが軽くなり作業する手間が少なくて済みます。

この記事では用意されている 2種類のフォントに同じフォントを指定して、バイナリデータを書き換えて日本語フォントを追加という形で進めます。

Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)

英語版 DisFonts_SF.upk からアンパックしたファイル を、ツールやバイナリエディタで Scaleform フォントファイルを編集して日本語フォントを追加します。

この方法であれば Dishonored 日本語化ファイル に含まれる Scaleform フォントを使わないで、英語版 upk ファイルに日本語フォントを追加することができます。

gfxfontlib.SwfMovie バイナリデータ修正、gfxfontlib.gfx にファイル名変更

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、gfxfontlib.SwfMovie バイナリデータ修正、gfxfontlib.gfx にファイル名変更、DisFonts_SF.upk ファイルアンパック後 DisFonts_SF\DisFonts フォルダにある gfxfontlib.SwfMovie ファイルをバイナリエディタで開く

DisFonts_SF.upk ファイルアンパック 後、DisFonts_SF\DisFonts フォルダにある gfxfontlib.SwfMovie ファイルをバイナリエディタで開きます。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、gfxfontlib.SwfMovie バイナリデータ修正、gfxfontlib.gfx にファイル名変更、gfxfontlib.SwfMovie ファイルヘッダー 92バイトを削除してバイナリデータ先頭を GFX ~という形にしておく(削除した 92バイトは後で元に戻すときに使うためメモするか gfxfontlib.SwfMovie を事前にバックアップしておく)
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、gfxfontlib.SwfMovie バイナリデータ修正、gfxfontlib.gfx にファイル名変更、DisFonts_SF.upk ファイルアンパック後 DisFonts_SF\DisFonts フォルダにある gfxfontlib.SwfMovie ファイルをバイナリエディタで開く、gfxfontlib.SwfMovie ファイルヘッダー 92バイトを削除してバイナリデータ先頭を GFX ~という形にしておく(削除した 92バイトは後で元に戻すときに使うためメモするか gfxfontlib.SwfMovie を事前にバックアップしておく)

バイナリエディタで gfxfontlib.SwfMovie ファイルヘッダー 92バイトを削除して、バイナリデータ先頭を GFX ~という形にします。

削除した 92バイトは後で元に戻すときに使うためメモするか、gfxfontlib.SwfMovie ファイルを事前にバックアップしておきます。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、gfxfontlib.SwfMovie バイナリデータ修正、gfxfontlib.gfx にファイル名変更、gfxfontlib.SwfMovie ファイルフッター 8バイトを削除(削除した 8バイトは後で元に戻すときに使うためメモするか gfxfontlib.SwfMovie を事前にバックアップしておく)
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、gfxfontlib.SwfMovie バイナリデータ修正、gfxfontlib.gfx にファイル名変更、gfxfontlib.SwfMovie ファイルフッター 8バイトを削除(削除した 8バイトは後で元に戻すときに使うためメモするか gfxfontlib.SwfMovie を事前にバックアップしておく)

続けて、gfxfontlib.SwfMovie ファイルフッター 8バイトを削除して保存します。

削除した 8バイトは後で元に戻すときに使うため先ほどと同様にメモしておくか、gfxfontlib.SwfMovie ファイルを事前にバックアップしておきます。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、gfxfontlib.SwfMovie バイナリデータ修正、gfxfontlib.gfx にファイル名変更、gfxfontlib.SwfMovie ファイルのヘッダーとフッター削除後、gfxfontlib.gfx に拡張子を変更

gfxfontlib.SwfMovie ファイルのヘッダーとフッター削除後、gfxfontlib.gfx に拡張子を変更します。(参考情報

この時、画像では間違って拡張子を swf にしていますが、この後使用するツール FFDec(JPEXS Free Flash Decompiler) ではその違いを認識できるおかげなのかわかりませんが、以降の作業では特に問題ありませんでした。

FFDec で gfxfontlib.gfx に日本語フォント追加、ファイルヘッダーとフッターを元に戻して一部書き換え

FFDec を使って日本語フォントを追加します。

FFDec の基本的な使い方については こちら の記事を、フォントの追加方法は ここここ の記事を参考にしてください。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、FFDec で gfxfontlib.gfx に日本語フォント追加、ファイルヘッダーとフッターを元に戻して一部書き換え、FFDec で gfxfontlib.gfx ファイルを開き、DefineFont3 にある ChaletComprime-CologneEighty に日本語フォント追加
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、FFDec で gfxfontlib.gfx に日本語フォント追加、ファイルヘッダーとフッターを元に戻して一部書き換え、FFDec で gfxfontlib.gfx ファイルを開き、DefineFont3 にある Emerge BF に日本語フォント追加

gfxfontlib.SwfMovie ファイルのヘッダーとフッター削除して拡張子を変更した gfxfontlib.gfx ファイルFFDec で開きます。

DefineFont3 に ChaletComprime-CologneEightyEmerge BF があるので、どちらかまたは両方に表示したい日本語フォントを追加します。(追加したい日本語フォントが 1種類だけなら、どちらか片方に追加するだけ)

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、FFDec で gfxfontlib.gfx に日本語フォント追加、ファイルヘッダーとフッターを元に戻して一部書き換え、FFDec で gfxfontlib.gfx ファイルを開き、DefineFont3 にある ChaletComprime-CologneEighty と Emerge BF に日本語フォント(今回は UD デジタル教科書体 NK-B)を追加して保存

FFDec で日本語フォントを追加したら保存して閉じます。今回は両方ともフォントを UD デジタル教科書体 NK-B にしています。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、FFDec で gfxfontlib.gfx に日本語フォント追加、ファイルヘッダーとフッターを元に戻して一部書き換え、日本語フォントを追加した gfxfontlib.gfx のサイズ(16進数)をメモ(今回の場合、0x8DF626)、削除したファイルヘッダー 92バイトを戻したときの一部バイナリデータ書き換え時に使用

FFDec で日本語フォントを追加した gfxfontlib.gfx をバイナリエディタで開き、サイズ(16進数)をメモします。(今回の場合、0x8DF626 がサイズ、追加したフォントによってサイズが変わる)

このメモしたサイズ値はこのあと、削除したファイルヘッダー 92バイトを戻したときの一部バイナリデータ書き換え時に使用します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、FFDec で gfxfontlib.gfx に日本語フォント追加、ファイルヘッダーとフッターを元に戻して一部書き換え、日本語フォントを追加した gfxfontlib.gfx ファイルの先頭に、gfxfontlib.SwfMovie ファイルのヘッダーから削除した 92バイトのバイナリデータを挿入

日本語フォントを追加した gfxfontlib.gfx ファイルの先頭に、gfxfontlib.SwfMovie ファイルのヘッダーから削除した 92バイトのバイナリデータを挿入します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、FFDec で gfxfontlib.gfx に日本語フォント追加、ファイルヘッダーとフッターを元に戻して一部書き換え、日本語フォントを追加した gfxfontlib.gfx ファイルの最後に、gfxfontlib.SwfMovie ファイルのフッターから削除した 8バイトのバイナリデータを挿入

続けて、日本語フォントを追加した gfxfontlib.gfx ファイルの最後に、gfxfontlib.SwfMovie ファイルのフッターから削除した 8バイトのバイナリデータを挿入します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、FFDec で gfxfontlib.gfx に日本語フォント追加、ファイルヘッダーとフッターを元に戻して一部書き換え、 gfxfontlib.gfx ファイルヘッダー書き換え、アドレス 0x58 ~ 0x5B にヘッダー・フッター追加前のサイズをリトルエンディアンで書き換え(62 9B 01 00 → 26 F6 8D 00)、アドレス 0x50 ~ 0x53 にヘッダー・フッター追加前のサイズ+4 をリトルエンディアンで書き換え(66 9B 01 00 → 2A F6 8D 00)

gfxfontlib.gfx ファイルのヘッダーに追加した 92バイトバイナリデータ の一部を次のように書き換えます。(以下のバイナリデータ書き換えはサイズにより異なる)

アドレス 0x580x5Bヘッダー・フッター追加前のサイズ(0x8DF626 をリトルエンディアンで書き換えます。(今回の場合は、62 9B 01 0026 F6 8D 00

アドレス 0x500x53ヘッダー・フッター追加前のサイズ(0x8DF626 +4 をリトルエンディアンで書き換えます。(今回の場合は、66 9B 01 002A F6 8D 00

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、FFDec で gfxfontlib.gfx に日本語フォント追加、ファイルヘッダーとフッターを元に戻して一部書き換え、ヘッダー・フッターを追加した日本語フォント gfxfontlib.gfx ファイルのサイズをメモ(今回は 0x8DF68A)、DisFonts_SF.upk ファイルに gfxfontlib.gfx バイナリデータを追加したときの gfxfontlib.SwfMovie のサイズ情報を書き換えるときに使用

ヘッダー・フッターバイナリデータを追加した日本語フォント gfxfontlib.gfx ファイルのサイズをメモします。(今回は 0x8DF68A

このファイルサイズ情報は DisFonts_SF.upk ファイルに gfxfontlib.gfx バイナリデータを追加したときの gfxfontlib.SwfMovie のサイズ情報を書き換える ときに使用します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、FFDec で gfxfontlib.gfx に日本語フォント追加、ファイルヘッダーとフッターを元に戻して一部書き換え、日本語フォント・ファイルヘッダー・フッターを追加した gfxfontlib.gfx ファイル完成

ヘッダー・フッターバイナリデータを追加した日本語フォント gfxfontlib.gfx ファイルの完成です。

完成した日本語フォント gfxfontlib.gfx ファイルのバイナリデータをもとに、DisFonts_SF.upk ファイルへバイナリデータの追加と一部修正 します。

DisFonts_SF.upk へ gfxfontlib.gfx バイナリデータ追加とサイズ・オフセット値修正

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、FFDec で gfxfontlib.gfx に日本語フォント追加、DisFonts_SF.upk へ gfxfontlib.gfx バイナリデータ追加とサイズ・オフセット値修正、デコンプレスした DisFonts_SF.upk ファイルをバイナリエディタで開き、データ終端に日本語フォント・ファイルヘッダー・フッターを追加した gfxfontlib.gfx バイナリデータ追加場所のアドレスをメモ(ここでは 0x33B20)、この後の gfxfontlib.SwfMovie オフセット書き換えで使用

デコンプレスした DisFonts_SF.upk ファイル をバイナリエディタで開き、データ終端のアドレスをメモします。(DisFonts_SF.upk ファイルの場合 0x33B20 固定)

このアドレスはこの後の gfxfontlib.SwfMovie のオフセット書き換え時に使用します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、FFDec で gfxfontlib.gfx に日本語フォント追加、DisFonts_SF.upk へ gfxfontlib.gfx バイナリデータ追加とサイズ・オフセット値修正、デコンプレスした DisFonts_SF.upk ファイルをバイナリエディタで開き、データ終端に日本語フォント・ファイルヘッダー・フッターを追加した gfxfontlib.gfx バイナリデータを追加

デコンプレスした DisFonts_SF.upk ファイル のデータ終端に、FFDec で日本語フォントを追加した gfxfontlib.gfx ファイル のバイナリデータを丸ごと追加します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、FFDec で gfxfontlib.gfx に日本語フォント追加、DisFonts_SF.upk へ gfxfontlib.gfx バイナリデータ追加とサイズ・オフセット値修正、DisFonts_SF.upk ファイルのデータ終端に日本語フォント・ファイルヘッダー・フッターを追加した gfxfontlib.gfx バイナリデータを追加、DisFonts_SF.upk ファイルのアドレス 0x40E ~ 0x415 にある gfxfontlib.SwfMovie のサイズ・オフセット情報を gfxfontlib.gfx 内容に更新(C6 9B 01 00 51 9F 01 00 → 8A F6 8D 00 20 3B 03 00)
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、FFDec で gfxfontlib.gfx に日本語フォント追加、DisFonts_SF.upk へ gfxfontlib.gfx バイナリデータ追加とサイズ・オフセット値修正、DisFonts_SF.upk ファイルのデータ終端に日本語フォント・ファイルヘッダー・フッターを追加した gfxfontlib.gfx バイナリデータを追加、DisFonts_SF.upk ファイルのアドレス 0x40E ~ 0x415 にある gfxfontlib.SwfMovie のサイズ・オフセット情報を gfxfontlib.gfx 内容に更新(C6 9B 01 00 51 9F 01 00 → 8A F6 8D 00 20 3B 03 00)

DisFonts_SF.upk ファイルのアドレス 0x40E0x415 にある gfxfontlib.SwfMovie のサイズ・オフセット情報を、追加した gfxfontlib.gfx バイナリデータの サイズオフセット 内容をリトルエンディアンに変換して更新します。(C6 9B 01 00 51 9F 01 008A F6 8D 00 20 3B 03 00

gfxfontlib.SwfMovie のサイズ・オフセット情報は Dishonored 日本語化ファイルに含まれるアンパックツールで DisFonts_SF.upk をアンパックした時の出力される ExportTable.Log ファイル から確認できます。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、FFDec で gfxfontlib.gfx に日本語フォント追加、DisFonts_SF.upk へ gfxfontlib.gfx バイナリデータ追加とサイズ・オフセット値修正、日本語フォント・ファイルヘッダー・フッターを追加して gfxfontlib.gfx のバイナリデータを追加、gfxfontlib.SwfMovie のサイズ・オフセット値を修正した DisFonts_SF.upk ファイル、Dishonored\DishonoredGame\CookedPCConsole フォルダにある同名ファイルと差し替え

日本語フォント gfxfontlib.gfx のバイナリデータを追加して、gfxfontlib.SwfMovie のサイズ・オフセット値を修正した DisFonts_SF.upk ファイルを、Dishonored\DishonoredGame\CookedPCConsole フォルダにある同名ファイルと差し替えます。

日本語化ファイル GFxUI.int 修正

Dishonored\DishonoredGame\Localization\INT フォルダにある GFxUI.int をテキストエディタで開き、[FontLib] セクションと [Fonts] セクションを以下のように修正します。

DisFonts_SF.upk Scaleform 日本語フォント追加後、日本語化ファイル GFxUI.int 修正内容
[FontLib]
;FontLib=DisFonts.fonts_jpn
;FontLib=DisFonts.gfxfontlib
;FontLib_PC=DisFonts.fonts_jpn
FontLib_PC=DisFonts.gfxfontlib
FontLib=DisFonts.fonts_efigs

[Fonts]
;TitleFont=Dishonored_Normal
;NormalFont=Dishonored_Normal
TitleFont=Emerge BF
NormalFont=ChaletComprime-CologneEighty

日本語化ファイルの GFxUI.int であれば上記のように [FontLib] セクション 2~4行目の内容をコメントアウトにして 5行目をそのまま、6行目を追加します。

[Fonts] セクションは 9~10行目の内容をコメントアウトにして 11~12行目の内容(FFDec で日本語フォントを追加した DefineFont3 のフォント名を入力)を追加します。なお、11~12行目は英語版で指定していたものと同じです。

Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット

以下クリックすると UD デジタル教科書体 NK-B フォントを追加・変更した Scaleform フォントのスクリーンショットが開きます。(画像は 68枚あるため閲覧注意)

確認できた範囲ではロード画面中とゲーム内動画での字幕以外は、変更した Scaleform フォントに置き換わります。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、Dishonored - Scaleform 日本語フォント追加方法(DisFonts_SF.upk へバイナリデータ追加・書き換え)、Scaleform フォント - UD デジタル教科書体 NK-B フォント - スクリーンショット

Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)

海外ゲーム日本語化実験所 さんのところですでに UDK(Unreal Development Kit) を使って作成したと思われる upk フォントファイルが公開(ファイル配布サイトアクセス不可のため 再配布、upk ファイルは UDK で閲覧可能)されていました。(スクリーンショットの内容からおそらく Scaleform フォント・ビットマップフォント両対応版)

ただ、Dishonored - Definitive Edition 以前に公開されたバージョンが古いフォントファイルのせいか、私の環境では文字の非表示や文字化けによる豆腐(□)フォントが表示されて、日本語を表示させることができませんでした。また、未確認ですが当時のネット情報では、実績解除ができないという情報もあったようです。

UDKUnreal Editor によるフォント作成方法を参考にして自作のビットマップフォントを作成してみましたが、Dishonored - Definitive Edition においては(こちらのやり方が間違っている可能性がありますが)日本語を表示することはできませんでした。

なんとかして英語版ビットマップフォントに日本語フォントを追加して表示できないか試行錯誤したところ、英語版 upk ファイルと 中文化 upk ファイル(DGOTYCNv1.4.exe からアンパックしたファイルのバイナリデータを比較・解析した内容から日本語フォントを追加する方法が判明。手間はかかりましたが、ビットマップフォントで日本語を表示することに成功しました。

この方法であれば Dishonored 日本語化ファイル に含まれるビットマップフォントを使わないで、英語版 upk ファイルに日本語フォントを追加することができます。

以下、アンパックした UI_Loading_SF_LOC_INT.upk ファイル へ UDK(Unreal Development Kit) で作成したビットマップフォントのバイナリデータを追加・書き換えて日本語フォントを追加する方法を説明します。

UDK(Unreal Development Kit)(2011年12月版 Beta)日本語ビットマップフォントファイル作成

日本語ビットマップフォントを作成するため UDK(Unreal Development Kit) をインストールします。

なお、UDK は公式がサポート終了しておりダウンロードできません。Unreal Engine Forums にて個人の方がインストーラーをアーカイブとして公開 しているので、ここから UDKInstall-2011-12-BETA.exe をダウンロードしてインストールします。

UDK(Unreal Development Kit)はいくつかバージョンがあり、バージョンが異なると同じフォントファイルを作成しても、ゲームによってはうまくいかない場合があります。今回は UDKInstall-2011-12-BETA.exe をインストールしますが、前後のバージョンを使ってもうまく動作する可能性はあります。

過去に公開された UDK のバージョンは非常に多くあるため(2009年から2015年まで約 40バージョン)、すべてのバージョンで作成したフォントの動作確認は困難です。今回紹介するやり方はいくつか選んでインストールして動作確認できた UDK バージョンの一つとなっています。

UDK インストール後の Unreal Editor の起動方法は、スタートメニューから Unreal Development Kit → UDK-2011-12 → UDK Editor をクリックします。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、UDK(Unreal Development Kit)(2011年12月版 Beta)日本語ビットマップフォントファイル作成、UDK\UDK-2011-12\Binaries\UnrealFrontend.exe 起動

別の Unreal Editor 起動方法として UDK\UDK-2011-12\Binaries フォルダにある UnrealFrontend.exe を実行します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、UDK(Unreal Development Kit)(2011年12月版 Beta)日本語ビットマップフォントファイル作成、UDK\UDK-2011-12\Binaries\UnrealFrontend.exe 起動、Unreal Frontend 画面にある UnrealEd をクリックして Unreal Editor 起動

UnrealFrontend.exe 実行後 Unreal Frontend 画面が開くので、画面上部にある UnrealEd ボタンをクリックすることで Unreal Editor が起動します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、UDK(Unreal Development Kit)(2011年12月版 Beta)日本語ビットマップフォントファイル作成、Unreal Editor 起動後、ビットマップフォント作成のためコンテンツブラウザ画面下にある新規ボタンをクリック

Unreal Editor 起動後、ビットマップフォント作成のためコンテンツブラウザ画面下にある新規ボタンをクリックします。

もし、コンテンツブラウザ画面が表示されなかったり閉じてしまった場合は、エディタ画面のメニュー 表示 → ブラウザ ウィンドウ → コンテンツブラウザをクリックすれば開きます。

ちなみに、Unreal Editor はデフォルトでリアルタイムレンダリングが有効になっているので、ビデオカードがフルロードの状態になります。

ビデオカードに余計な負荷をかけたくない場合は、画面上部左端の Modes の横にある ▼ ボタンをクリックして、リアルタイムのチェックマークを外します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、UDK(Unreal Development Kit)(2011年12月版 Beta)日本語ビットマップフォントファイル作成、Unreal Editor 起動後、ビットマップフォント作成のためコンテンツブラウザ画面下にある新規ボタンからビットマップフォント作成、パッケージ名と名前は任意、ファクトリを Font に変更して下のオプションでフォント設定、ここではフォントを UD デジタル教科書体 NK-B(Font Name は任意、フォント指定時に入力される名前で問題なし)、Height 36(=サイズ)、(Enable Bold にチェックマークが入っているのは指定したフォントの仕様)、Chars File Path と Chars File Wildcard でテキストファイルから文字指定、(Include ASCIIRange のチェックマークは外さない)、Texture Page Width と Texture Page Max Height を 4,096 に設定
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、UDK(Unreal Development Kit)(2011年12月版 Beta)日本語ビットマップフォントファイル作成、Unreal Editor 起動後、ビットマップフォント作成のためコンテンツブラウザ画面下にある新規ボタンからビットマップフォント作成、パッケージ名と名前は任意、ファクトリを Font に変更して下のオプションでフォント設定、ここではフォントを UD デジタル教科書体 NK-B(Font Name は任意、フォント指定時に入力される名前で問題なし)、Height 36(=サイズ)、(Enable Bold にチェックマークが入っているのは指定したフォントの仕様)、Chars File Path と Chars File Wildcard でテキストファイルから文字指定、(Include ASCIIRange のチェックマークは外さない)、Texture Page Width と Texture Page Max Height を 4,096 に設定
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、UDK(Unreal Development Kit)(2011年12月版 Beta)日本語ビットマップフォントファイル作成、Unreal Editor 起動後、ビットマップフォント作成のためコンテンツブラウザ画面下にある新規ボタンからビットマップフォント作成、パッケージ名と名前は任意、ファクトリを Font に変更して下のオプションでフォント設定、ここではフォントを UD デジタル教科書体 NK-B(Font Name は任意、フォント指定時に入力される名前で問題なし)、Height 36(=サイズ)、(Enable Bold にチェックマークが入っているのは指定したフォントの仕様)、Chars File Path と Chars File Wildcard でテキストファイルから文字指定、(Include ASCIIRange のチェックマークは外さない)、Texture Page Width と Texture Page Max Height を 4,096 に設定

新規画面が開くので以下のような設定例でフォントを作成します。(参考情報

  • パッケージと名前は適当な名前を入力
    • 作成したフォントのバイナリデータのみを流用するので、ここでは適当な名前で問題なし
  • ファクトリは Font を選択
  • 「フォントを選択」 ボタンをクリックして、表示したい日本語フォント選択とサイズ(Height)を設定(ここでは UD デジタル教科書体 NK-B とサイズ 36 に設定)
    • ビットマップフォントの適正なサイズは実際にゲームで表示して確かめてみるしかない?
    • ビットマップフォントのサイズは解像度関係なく固定?のため、ゲーム画面解像度によってフォントが大きい小さいという問題がある模様(フル HD ではちょうどよいフォントサイズでも、それ以下の解像度では大きすぎるなど)(Scaleform フォントでは解像度によってフォントサイズをスケールしている?)
    • フォントによっては 「Enable Bold」 などに自動的にチェックマークがつく場合がある
  • 「Chars File Path」 と 「Chars File Wildcard」 で文字指定
  • 「Texture Page Width」 と 「Texture Page Max Height」 を 4,096 に設定
    • フォントサイズ、文字数、「Texture Page Width」 と 「Texture Page Max Height」 のバランスによって UDK で作成される ~.Texture2D のファイル数が異なる(サイズ内に文字が収まりきらない場合、ファイル数が増える)
    • アンパックした UI_Loading_SF_LOC_INT.upk の ~.Texture2D ファイル数(今回の場合は 1ファイル)で文字を収録するようにするため、フォントサイズ 36、文字数約 7,200文字の場合は 「Texture Page Width」 と 「Texture Page Max Height」 を 4,096 に設定
    • ここで設定した Texture Page Width と Texture Page Max Height 数値は ~.Texture2D バイナリデータ書き換え 時に使用、ただし次の条件により設定した数値より実サイズが小さい場合は実サイズが優先
    • 「Texture Page Width」 と 「Texture Page Max Height」 が大きすぎて、フォントサイズが小さかったり文字数が少ない場合は、指定したサイズ以下で作成される場合がある。その場合、~.Texture2D バイナリデータ書き換え 時の数値も異なるため、フォントのプロパティ画面 ですべてエクスポートで tga ファイルの縦横サイズをチェックするか、UE Viewer で画像ファイルをエクスポートして確認
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、UDK(Unreal Development Kit)(2011年12月版 Beta)日本語ビットマップフォントファイル作成、Unreal Editor 起動後、ビットマップフォント作成のためコンテンツブラウザ画面下にある新規ボタンからビットマップフォント作成、パッケージ名と名前は任意、ファクトリを Font に変更して下のオプションでフォント設定、ここではフォントを UD デジタル教科書体 NK-B(Font Name は任意、フォント指定時に入力される名前で問題なし)、Height 36(=サイズ)、(Enable Bold にチェックマークが入っているのは指定したフォントの仕様)、Chars File Path と Chars File Wildcard でテキストファイルから文字指定、(Include ASCIIRange のチェックマークは外さない)、Texture Page Width と Texture Page  Max Height を4,096 に設定後 OK ボタンを押したときに表示されるフォントのプロパティ画面、Characters が文字数(ここでは 7,267文字)

OK ボタンをクリックすると画像のようにフォントプロパティ画面が表示されます。

ここでは Characters の文字数が 7,267文字となっており、この数値は ~.Font でのバイナリデータ書き換え時に確認できるので、必須ではないですが覚えておけばチェック用として使えます。

すべてエクスポートボタンをクリックしてフォルダを指定すると、tga ファイルがエクスポートされて文字を確認することができます。

フォントサイズや文字数とのバランスによって フォント作成時に設定した Texture Page Width と Texture Page Max Height の数値通りにならないことがあるので、ここで tga ファイルをエクスポートして縦横サイズを確認しておいたほうがよいでしょう。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、UDK(Unreal Development Kit)(2011年12月版 Beta)日本語ビットマップフォントファイル作成、Unreal Editor 起動、ビットマップフォント作成のためコンテンツブラウザ画面下にある新規ボタンからビットマップフォント作成後、パッケージ名を右クリックして保存をクリックするか Ctrl+S キーで upk ファイルを保存

フォントのプロパティ画面を閉じたらコンテンツブラウザ画面に戻るので、作成したパッケージ名を右クリックから保存をクリックするか、ショートカット Ctrl+S を押して任意の場所に upk ファイルとして保存します。

作成して保存した upk ファイルを Dishonored 日本語化ファイルに含まれるアンパックツールUnreal Package Extractorアンパック します。

UDK で作成した upk ファイルは Unreal Package Decompressor によるデコンプレスは不要です。

アンパック後、~.Font ファイルと ~.Texture2D ファイルのバイナリデータを使って、同じくアンパックした英語版 UI_Loading_SF_LOC_INT.upk~.Font ファイルと ~.Texture2D ファイルのバイナリデータを書き換えます。

~.Font ファイルバイナリデータ書き換え

アンパックした英語版 UI_Loading_SF_LOC_INT.upk に含まれる ~.Font ファイルのバイナリデータを、UDK で作成した upk ビットマップフォント に含まれる ~.Font ファイルのバイナリデータに書き換えます。

Unreal Engine 3 のビットマップフォント(~.Font)については情報がまったく見つからなく、日本語でそれらしいと思われる情報が 5ch からしか見つかりませんでした。

5ch の情報通りであれば、おそらく 「1. 文字コードテーブル」 と 「2. テクスチャテーブル」 が ~.Font ファイルで、「3. テクスチャの実データ(おそらくヘッダーなし DDS テクスチャデータ)」 が ~.Texture2D ファイルを指しているものだと思われます。

以下、該当する個所を 「文字コードテーブル」 や 「テクスチャテーブル」 として説明するところがあります。それぞれのバイナリデータの実態はわからなかったので、実際には間違っている可能性がありますが、便宜上その形式で説明を進めます。

アンパックした UI_Loading_SF_LOC_INT.upk には ChaletComprime-CologneEighty.FontEmerge_BF.Font ファイルがありますが、ここでは ChaletComprime-CologneEighty.Font を例にバイナリデータ書き換え方法を説明します。

バイナリデータの書き換え箇所は一定の法則で決まっていることが解明することができたので、そのやり方さえわかれば Emerge_BF.Font でも同様に書き換えられることができます。

以下、FavBinEditウォッチデータ機能 を使い、アンパックした英語版 UI_Loading_SF_LOC_INT.upk に含まれている ChaletComprime-CologneEighty.Font を使って説明します。

私が調べた英語版 ChaletComprime-CologneEighty.Font ファイルのウォッチデータは ここ からダウンロードできるように公開しておきます。(英語版 Emerge_BF.Font ファイルのウォッチデータも ここ に公開します)

ウォッチデータの読み込み方法は FavBinEdit を起動したら ~.Font ファイルを開き、メニューにあるウォッチ → ウォッチデータの読み込みからほぼ同じファイル名の FavBinEdit-W を開きます。

中文化版 UI_Loading_SF_LOC_INT.upk を調べていた時の ChaletComprime-CologneEighty.Font ウォッチデータEmerge_BF.Font ウォッチデータ も公開しておきますので興味があればどうぞ。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、~.Font ファイルバイナリデータ書き換え、英語版 UI_Loading_SF_LOC_INT.upk に含まれる ChaletComprime-CologneEighty.Font ファイルのバイナリデータ書き換え対象箇所と削除対象箇所(FavBinEdit でウォッチデータ追加)
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、~.Font ファイルバイナリデータ書き換え、英語版 UI_Loading_SF_LOC_INT.upk に含まれる ChaletComprime-CologneEighty.Font ファイルのバイナリデータ書き換え対象箇所と削除対象箇所(FavBinEdit でウォッチデータ追加)

アンパックした英語版 UI_Loading_SF_LOC_INT.upk に含まれている ChaletComprime-CologneEighty.FontFavBinEdit で開き、ウォッチデータ機能を使って表示した画像です。

基本的にウォッチデータを追加(色がある箇所)したバイナリデータが書き換え対象(一部削除対象あり)となっており、色がない箇所は書き換え不要となっています。

各ウォッチデータに名称をつけてあるので、その部分を説明します。

まず、ウォッチデータは全部で 8か所マークしていますが、最初の Offset(Jump 0x1669) ~ 28Bytes までの 5か所が連続した一つのデータの塊となっています。

最初のウォッチデータ 4バイトの値からアドレス 0x16690x1669 のリトルエンディアンが 69 16 00 00) に移動、そこから 28バイトまでのバイナリデータの範囲が 文字コードテーブル に相当すると思われます。

そのため、アンパックした UDK で作成した upk フォント にある ~.Font ファイルを同様の方法で、文字コードテーブル 相当のバイナリデータの範囲を特定して書き換えるだけで、作成したフォントデータに丸ごと入れ替えることができます。

途中にある Word Count については次の画像で説明します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、~.Font ファイルバイナリデータ書き換え、英語版 UI_Loading_SF_LOC_INT.upk に含まれる ChaletComprime-CologneEighty.Font ファイルのバイナリデータ書き換え対象箇所と削除対象箇所(FavBinEdit でウォッチデータ追加)

ウォッチデータ Word Count は 2か所あり、これはビットマップフォントの文字数となっています。そのため、ここでの双方の Word Count の値は必ず一致していることになっています。

最初のウォッチデータ Word Count はひと塊となっているデータに含まれており、まとめてバイナリデータを書き換えられることになるのでこの辺は特に意識することはないですが、2番目の Word Count は離れたアドレス位置に単独で存在しています。

そのため、そのバイナリデータのアドレス個所を特定すると同時に、2番目の Word Count も書き換える必要があります。

新しい 文字コードテーブル に書き換えたら、忘れずに 2番目の Word Count を 1番目のウォッチデータ Word Count の値に書き換えます。

今回の UDK で作成した upk ビットマップフォント の場合だと、フォントのプロパティ画面 で 7,267文字となっているので、これを 16進数にすると 0x1C63、リトルエンディアンで 63 1C 00 00 となり、これが今回の Word Count へ書き換えるバイナリデータとなります。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、~.Font ファイルバイナリデータ書き換え、英語版 UI_Loading_SF_LOC_INT.upk に含まれる ChaletComprime-CologneEighty.Font ファイルのバイナリデータ書き換え対象箇所と削除対象箇所(FavBinEdit でウォッチデータ追加)

データ終端に印をつけたウォッチデータが テクスチャテーブル と思われます。

この テクスチャテーブル を特定する基準として、直前のバイナリデータが ~ FE 00 FE 00 FF 00 FF 00 と規則的なデータが並んでいるところを終点として次のアドレスが、テクスチャテーブル 開始位置の目安となります。

UDK で作成した upk ビットマップフォント でも同様な形式でバイナリデータがあるはずなので、その部分をコピーして丸ごと差し替えれば、作成したフォントデータに丸ごと入れ替えることになります。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、~.Font ファイルバイナリデータ書き換え、英語版 UI_Loading_SF_LOC_INT.upk に含まれる ChaletComprime-CologneEighty.Font ファイルのバイナリデータ書き換え対象箇所と削除対象箇所(FavBinEdit でウォッチデータ追加)

ウォッチデータ Delete 56Bytes が今回の削除対象箇所です。書き換える必要はなく、そのまま削除します。

これは中文化ファイルと英語版ファイルを比較していた時に発見したもので、この部分だけ削除されて前後のバイナリデータが連続した形となっていました。

そのため、今回は中文化ファイルにあわせる形で、この 56バイトのバイナリデータを削除します。

~.Font のバイナリデータを書き換えたら、次に ~.Texture2D のバイナリデータも書き換えて、デコンプレスした UI_Loading_SF_LOC_INT.upk ファイル~.Font と~.Texture2D バイナリデータを追加してファイルサイズ・オフセットを修正 するのが一連の流れになります。

~.Texture2D ファイルバイナリデータ書き換え

アンパックした英語版 UI_Loading_SF_LOC_INT.upk に含まれる ~.Texture2D ファイルのバイナリデータを、UDK で作成してアンパックした upk フォント に含まれる ~.Texture2D ファイルのバイナリデータに書き換えます。

~.Texture2D のフォーマットはある程度決まっているようで、海外サイト(下記、参考サイト先参照)でもいくつか情報が掲載されています。

~.Texture2D ファイルは 5ch の情報を照らし合わせると、おそらく 「3. テクスチャの実データ」 に相当するファイルだと思われます。

アンパックした UI_Loading_SF_LOC_INT.upk には ChaletComprime-CologneEighty_PageA.Texture2DEmerge_BF_PageA.Texture2D ファイルがありますが、ここでは ChaletComprime-CologneEighty_PageA.Texture2D を例にバイナリデータ書き換え方法を説明します。

バイナリデータの書き換え箇所の法則は決まっているので、それさえわかれば Emerge_BF_PageA.Texture2D でも同様に書き換えることができます。

以下、FavBinEditウォッチデータ機能 を使い、アンパックした英語版 UI_Loading_SF_LOC_INT.upk に含まれている ChaletComprime-CologneEighty_PageA.Texture2D を使って説明します。

私が調べた英語版 ChaletComprime-CologneEighty_PageA.Texture2D ファイルのウォッチデータは ここ からダウンロードできるように公開しておきます。(英語版 Emerge_BF_PageA.Texture2D ファイルのウォッチデータも ここ に公開します)

ウォッチデータの読み込み方法は FavBinEdit を起動したら ~.Font ファイルを開き、メニューにあるウォッチ → ウォッチデータの読み込みから拡張子 FavBinEdit-W ファイルを開きます。

中文化版 UI_Loading_SF_LOC_INT.upk を調べていた時の ChaletComprime-CologneEighty_PageA.Texture2D ウォッチデータEmerge_BF_PageA.Texture2D ウォッチデータ も公開しておきますので興味があればどうぞ。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、~.Texture2D ファイルバイナリデータ書き換え、英語版 UI_Loading_SF_LOC_INT.upk に含まれる ChaletComprime-CologneEighty_PageA.Texture2D ファイルのバイナリデータ書き換え対象箇所と削除対象箇所(FavBinEdit でウォッチデータ追加)
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、~.Texture2D ファイルバイナリデータ書き換え、英語版 UI_Loading_SF_LOC_INT.upk に含まれる ChaletComprime-CologneEighty_PageA.Texture2D ファイルのバイナリデータ書き換え対象箇所と削除対象箇所(FavBinEdit でウォッチデータ追加)

アンパックした英語版 UI_Loading_SF_LOC_INT.upk に含まれている ChaletComprime-CologneEighty_PageA.Texture2DFavBinEdit で開き、ウォッチデータ機能を使って表示した画像です。

基本的にウォッチデータを追加(色がある箇所)したバイナリデータが書き換え対象となっており、色がない箇所は書き換え不要となっています。

各ウォッチデータに名称をつけてあるので、その部分を説明します。

ウォッチデータ Texture Page Width 3か所と Texture Page Max Height 3か所が UDK でフォント作成時に設定した Texture Page Width と Texture Page Max Height の数値を、16進数に変換してリトルエンディアンにしたものになります。

ここではすべて 00 01 00 00 となっていますが、これは 0x100 のリトルエンディアンで、10進数に変換すると 256 となるので、英語版の ChaletComprime-CologneEighty_PageA.Texture2DTexture Page WidthTexture Page Max Height256 であることがわかります。

今回たまたま Texture Page WidthTexture Page Max Height が同じ数値のファイルでしたが、ゲームやファイルによってはこの数値がそれぞれ異なる(画像の縦横サイズが違う)場合もあります。

ウォッチデータ Texture Page Width × Height 2か所が上記 Texture Page Width と Texture Page Max Height を乗算した数値になります。

ここでは 00 00 01 00 となっていますが、これは上記数値 256×256 = ‭65,536‬、これを 16進数に変換すると ‭0x10000‬、リトルエンディアンで 00 00 01 00 となって一致します。

このようにウォッチデータ Texture Page WidthTexture Page Max HeightTexture Page Width × Height の全 8か所は計算上一致するようになっています。

ウォッチデータ Offset1(.upk)Offset2(.upk) は次の 1バイト目のアドレスをリトルエンディアンにしたものがバイナリデータとして格納されています。

ただし、これはアンパック前の upk ファイルに格納されている時のアドレスを指定しています。アンパック後の個々の ~.Texture2D ファイルのアドレスではない点に注意してください。(この時点では一致していません)

別の言い方をすれば Offset1(.upk)Offset2(.upk) については、アンパックした ~.Texture2D ファイルの時点では書き換えるアドレスが不明なため、この 2か所以外のバイナリデータをすべて UDK で作成した upk フォント に書き換えた後、アンパックした UI_Loading_SF_LOC_INT.upk ファイルにバイナリデータを追加 したときが書き換えるタイミングとなります。

よって、この時点ではウォッチデータ Offset1(.upk)Offset2(.upk) は書き換えません。

ウォッチデータ Offset2(.upk) とデータ終端付近にある Texture Page Width の間にあるデータ(ウォッチデータ Texture Raw Data)の塊が テクスチャの実データ と思われます。

UDK で作成した upk ビットマップフォント でも同様な形式でバイナリデータがあるはずなので、その部分をコピーして丸ごと差し替えれば、作成したフォントデータに丸ごと入れ替えることになります。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、~.Texture2D ファイルバイナリデータ書き換え、UDK(Unreal Development Kit)(2011年12月版)で作成した日本語ビットマップフォントファイル upk ファイルをアンパックして ~.Texture2D ファイルからテクスチャ実データがある位置までアドレス移動、バイナリエディタで検索から ASCII 文字列 「IEND」 で検索、UDK で作成したフォントは先頭データに PNG データが格納されているため、PNG データ終端の目安である IEND まで移動

UDK でビットマップフォントを作成 した場合、~.Texture2D ファイルに PNG バイナリデータが格納される仕様 のようです。

目的の テクスチャの実データ を探すには PNG バイナリデータ以降にあるので、PNG データの終端まで移動する必要があります。

バイナリエディタで検索から ASCII 文字列 「IEND」 で検索して移動します。

ちなみに必須ではありませんが、UDK でコンテンツをクッキングすることでビットマップフォントの PNG データを削除 することが可能で、ファイル容量を小さくすることができます。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、~.Texture2D ファイルバイナリデータ書き換え、PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、~.Texture2D ファイルバイナリデータ書き換え、UDK(Unreal Development Kit)(2011年12月版 Beta)で作成した日本語ビットマップフォントファイル upk ファイルをアンパックして ~.Texture2D ファイルからテクスチャ実データがある位置までアドレス移動、バイナリエディタで検索から文字列 「IEND」 で検索、UDK で作成したフォントは先頭データに PNG データが格納されているため、PNG データ終端の目安である IEND まで移動、UDK で作成したビットマップフォントのテクスチャ実データとサイズとオフセット内容(FavBinEdit でウォッチデータ追加)
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、~.Texture2D ファイルバイナリデータ書き換え、PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、~.Texture2D ファイルバイナリデータ書き換え、UDK(Unreal Development Kit)(2011年12月版 Beta)で作成した日本語ビットマップフォントファイル upk ファイルをアンパックして ~.Texture2D ファイルからテクスチャ実データがある位置までアドレス移動、バイナリエディタで検索から文字列 「IEND」 で検索、UDK で作成したフォントは先頭データに PNG データが格納されているため、PNG データ終端の目安である IEND まで移動、UDK で作成したビットマップフォントのテクスチャ実データとサイズとオフセット内容(FavBinEdit でウォッチデータ追加)

PNG バイナリデータの終端 AE 42 60 82 まで移動後、以降のバイナリデータから テクスチャの実データ を特定できれば、これがコピー対象のバイナリデータとなります。

画像のウォッチデータの黄緑色の塊箇所が テクスチャの実データ になります。

ちなみに テクスチャの実データ の前後には、先のウォッチデータに相当する Texture Page Width × HeightOffset2(.upk)Texture Page WidthTexture Page Max Height があります。

バイナリデータが連続しているのでまとめてバイナリデータをコピーすれば、上記ウォッチデータの個所を個別に書き換えずに済みますが、場合によってはどこを書き換えたのかわからなくなって余計に混乱する可能性がありますので、自信がなければ テクスチャの実データ のみをコピーして書き換える程度にとどめておいたほうがよいかもしれません。

~.Texture2D のバイナリデータを書き換えたら、デコンプレスした UI_Loading_SF_LOC_INT.upk ファイル~.Font と~.Texture2D バイナリデータを追加してファイルサイズ・オフセットを修正 します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、~.Texture2D ファイルバイナリデータ書き換え、UDK フォント作成時に Texture Page Width と Texture Page Max Height を 4,096 に設定していた場合、16進数で 0x1000 になりリトルエンディアンで 00 10 00 00 となる

UDK で作成した upk フォントTexture Page Width および Texture Page Max Height の値が 4,096 の場合、~.Texture2D ファイルのバイナリデータは 16進数に変換で 0x1000 となり、リトルエンディアンで 00 10 00 00 となります。

Texture Page WidthTexture Page Max Height に入力する数値はほぼ決まっている ので、この数値を 16進数に変換してリトルエンディアンにしたものを以下リスト化しました。

16進数 - リトルエンディアンに変換するとデータ並びに規則性がみられるので、~.Texture2D ファイルのバイナリデータを確認するときにデータを探したり数値をチェックするのが多少楽になるかもしれません。

~.Texture2D ファイルバイナリデータ Texture Page WidthTexture Page Max Height 数値リスト(10進数 → 16進数 → リトルエンディアン)
  • 1280x8080 00 00 00
  • 2560x10000 01 00 00
  • 5120x20000 02 00 00
  • 1,0240x40000 04 00 00
  • 2,0480x80000 08 00 00
  • 4,0960x100000 10 00 00
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、~.Texture2D ファイルバイナリデータ書き換え、UDK フォント作成時に Texture Page Width と Texture Page Max Height を 4,096 に設定していた場合、Texture Page Width × Texture Page Max Height は 4,096x4,096 で計算、16進数で 0x1000000 となり、リトルエンディアンで 00 00 00 01 となる

UDK で作成した upk フォントTexture Page Width および Texture Page Max Height の値が 4,096 の場合、Texture Page Width × Height は 4,096×4,096=‭16,777,216‬ となり、16進数に変換で 0x‭1000000‬ となり、リトルエンディアンで 00 00 00 01 となります。

Texture Page Width × Height についても同様に、16進数・リトルエンディアンに変換したものを以下リスト化しました。

~.Texture2D ファイルバイナリデータ Texture Page Width × Height 数値リスト(10進数 → 16進数 → リトルエンディアン)
  • 128x128 = 16,3840x400000 40 00 00
  • 256x128 = 32,7680x800000 80 00 00
  • 256x256 = 65,5360x1000000 00 01 00
  • 512x256 = 131,0720x2000000 00 02 00
  • 512x512 = 262,144‬0x4000000 00 04 00
  • 1024x512 = 524,2880x8000000 00 08 00
  • 1024x1024 = 1,048,576‬0x10000000 00 10 00
  • 2048x1024 = 2,097,1520x20000000 00 20 00
  • 2048x2048 = 4,194,3040x40000000 00 40 00
  • 4096x2048 = 8,388,6080x80000000 00 80 00
  • 4096x4096 = 16,777,2160x100000000 00 00 01

UI_Loading_SF_LOC_INT.upk へ ~.Font、~.Texture2D バイナリデータ追加とサイズ・オフセット値修正

~.Font ファイルと ~.Texture2D ファイルのバイナリデータを書き換えたら、デコンプレスした UI_Loading_SF_LOC_INT.upk ファイル~.Font ファイルと ~.Texture2D ファイルのバイナリデータを追加して、各ファイルのファイルサイズ・オフセット値があるバイナリデータを修正します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、UI_Loading_SF_LOC_INT.upk へ ~.Font、~.Texture2D バイナリデータ追加とサイズ・オフセット値修正、英語版 UI_Loading_SF_LOC_INT.upk ファイルのデータ終端に日本語フォントデータを追加した ~.Font と ~.Texture2D ファイルのバイナリデータを追加、UI_Loading_SF_LOC_INT.upk ファイルにある ~.Font と ~.Texture2D ファイル情報のサイズとオフセット値を追加したものに修正

デコンプレスした UI_Loading_SF_LOC_INT.upk ファイルをバイナリエディタで開き、データ終端に ~.Font ファイルと ~.Texture2D ファイルのバイナリデータをそのまま追加します。

各ファイルのバイナリデータを追加するときは開始位置のアドレスをメモしておきます。これはこのあとの各ファイルのサイズ・オフセット情報を管理しているバイナリデータを書き換えるときに、オフセットをこの開始位置のアドレスに書き換えるのに使うためです。(ここでアドレスをメモしておかないと後で探すの大変なため)

また、データ終端に ~.Font ファイルと ~.Texture2D ファイルのバイナリデータを追加するときは、UI_Loading_SF_LOC_INT.upk ファイルをアンパック したときに出力される、ExportTable.Log にあるファイルリストの順番通りにバイナリデータを追加します。

今回の場合だと、ChaletComprime-CologneEighty.FontEmerge_BF.FontChaletComprime-CologneEighty_PageA.Texture2DEmerge_BF_PageA.Texture2D というような順番でバイナリデータを追加します。(追加するフォントが 1種類などで片方のファイルしかない場合は、そのファイル分は飛ばします)

これは確かなことは言えないのですが、バイナリデータを追加する順番を変えたところエラーでゲームがクラッシュして落ちたことがあったため、そのようにしています。手入力が多いためこちらで何らかのミスをしていた可能性がありますが、特に理由がなければ ExportTable.Log の順番通りにバイナリデータを追加したほうが確実でしょう。

次に デコンプレスした UI_Loading_SF_LOC_INT.upk ファイル のオリジナル ~.Font と ~.Texture2D ファイルのファイルサイズとオフセット情報があるバイナリデータに移動します。

FavBinEdit のウォッチデータを公開しますので、これを使えばファイルサイズ・オフセット情報のアドレス位置がわかります。ここ からダウンロードして ExportTable.Log とあわせて確認してください。

ウォッチデータは 8バイトで一つのデータ塊で、前方 4バイトが 16進数ファイルサイズのリトルエンディアン、残り 4バイトが 16進数オフセット(アドレス)のリトルエンディアンとなっており、これが UI_Loading_SF_LOC_INT.upk の場合このバイナリデータの塊が 4か所あります。上から順番に ChaletComprime-CologneEighty.FontEmerge_BF.FontChaletComprime-CologneEighty_PageA.Texture2DEmerge_BF_PageA.Texture2D となっています。

上記の各アドレスにあるバイナリデータを、新しく追加したバイナリデータのファイルサイズ・オフセット(アドレス)情報に書き換えます。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、UI_Loading_SF_LOC_INT.upk へ ~.Font、~.Texture2D バイナリデータ追加とサイズ・オフセット値修正、英語版 UI_Loading_SF_LOC_INT.upk ファイルのデータ終端に日本語フォントデータの ~.Texture2D ファイルのバイナリデータを追加後、各 ~.Texture2D ファイルのオフセット値を修正
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、UI_Loading_SF_LOC_INT.upk へ ~.Font、~.Texture2D バイナリデータ追加とサイズ・オフセット値修正、英語版 UI_Loading_SF_LOC_INT.upk ファイルのデータ終端に日本語フォントデータの ~.Texture2D ファイルのバイナリデータを追加後、各 ~.Texture2D ファイルのオフセット値を修正

さらに、デコンプレスした UI_Loading_SF_LOC_INT.upk に追加した ~.Texture2D バイナリデータ内にある オフセット情報(ウォッチデータ Offset1(.upk) と Offset2(.upk)) を書き換えます。

上の画像にある 4か所の 4バイトのウォッチデータが書き換え対象の ~.Texture2D バイナリデータのオフセット値で、次の 1バイト先のアドレス(ウォッチデータで 1か所だけマークしてあるところ)をリトルエンディアンにして書き換えます。

例えば最初のウォッチデータにある 92 D5 08 00 とありますが、これは次の 1バイトのウォッチデータのアドレス 0x8D592 をリトルエンディアンで 92 D5 08 00 となるので、これに書き換えていることになります。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、UI_Loading_SF_LOC_INT.upk へ ~.Font、~.Texture2D バイナリデータ追加とサイズ・オフセット値修正、英語版 UI_Loading_SF_LOC_INT.upk ファイルのデータ終端に日本語フォントデータを追加した ~.Font と ~.Texture2D ファイルのバイナリデータを追加、UI_Loading_SF_LOC_INT.upk ファイルにある ~.Font と ~.Texture2D ファイル情報のサイズとオフセット値を追加したものに修正、~.Font と ~.Texture2D バイナリデータの追加とファイル情報のサイズ・オフセット値を修正した UI_Loading_SF_LOC_INT.upk ファイルを Dishonored\DishonoredGame\CookedPCConsole フォルダにある同名ファイルと差し替え

~.Font ファイルと ~.Texture2D ファイルのバイナリデータを追加して、ファイルサイズ・オフセット値を修正した UI_Loading_SF_LOC_INT.upk ファイルを、Dishonored\DishonoredGame\CookedPCConsole フォルダにある同名ファイルと差し替えます。

日本語化ファイル DishonoredGame.int 修正

Dishonored\DishonoredGame\Localization\INT フォルダにある DishonoredGame.int をテキストエディタで開き、[DisBinkOverlayManager] セクションを以下のように修正します。

UI_Loading_SF_LOC_INT.upk ビットマップ日本語フォント追加後、日本語化ファイル DishonoredGame.int 修正内容
[DisBinkOverlayManager]
m_ContentPackageName=UI_Loading
;m_NormalFontName=Dishonored_Normal
;m_TitleFontName=Dishonored_Normal
m_NormalFontName=ChaletComprime-CologneEighty
m_TitleFontName=Emerge_BF
m_LoadingText=Loading
m_PressToContinueText_PC=press key
m_PressToContinueText_Console=続行

日本語化ファイルの DishonoredGame.int であれば上記のように [DisBinkOverlayManager] セクション 3~4行目の内容をコメントアウトにして 5~6行目を追加します。

[DisBinkOverlayManager] セクションに追加した m_NormalFontName=ChaletComprime-CologneEightym_TitleFontName=Emerge_BF は英語版で指定していたものと同じです。

もし日本語フォントを追加したビットマップフォントが 1つのみであれば、m_NormalFontNamem_TitleFontName のフォント名は両方とも同じ名前(ChaletComprime-CologneEighty か Emerge_BF のどちらか)にします。

ビットマップフォント - UD デジタル教科書体 NK-B フォント - スクリーンショット

以下クリックすると UD デジタル教科書体 NK-B フォントを追加・変更したビットマップフォントのスクリーンショットが開きます。

確認できた範囲ではロード画面中とゲーム内動画での字幕が、変更したビットマップフォントに置き換わります。フォントサイズが大きいのは UDK でフォントサイズを 36 に設定してフォントを作成したためです。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、ビットマップフォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、ビットマップフォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、ビットマップフォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、ビットマップフォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、ビットマップフォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、ビットマップフォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、ビットマップフォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、ビットマップフォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、ビットマップフォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、ビットマップフォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、ビットマップフォント - UD デジタル教科書体 NK-B フォント - スクリーンショット
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、Dishonored - ビットマップ日本語フォント追加方法(UI_Loading_SF_LOC_INT.upk へバイナリデータ追加・書き換え)、ビットマップフォント - UD デジタル教科書体 NK-B フォント - スクリーンショット

UDK コンテンツクッキング方法(ビットマップフォント PNG データ削除方法)

UDK で作成した upk ビットマップフォント は PNG 画像データが含まれており、その分ファイルサイズが大きくなります。

この PNG データは UDK でコンテンツをクッキングすることで upk ファイルから PNG データのみ削除 することができます。

自作した upk ビットマップフォントのファイル容量を少しでも小さくしたい場合などは、UDK でコンテンツをクッキングすることになります。

UDK でのコンテンツクッキング方法の大まかな流れは YouTube から確認できます。以下の具体的な設定方法については Steam コミュニティガイド を参考にしています。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UDK コンテンツクッキング方法(ビットマップフォント PNG データ削除方法)、UDK\UDK-2011-12\UDKGame\Content フォルダに UDK で作成した upk フォントファイルを配置

UDKGame\Content フォルダに UDK で作成した upk ビットマップフォント を配置します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UDK コンテンツクッキング方法(ビットマップフォント PNG データ削除方法)、UDK\UDK-2011-12\UDKGame\Content フォルダに UDK で作成した upk フォントファイルを配置後、UDK\UDK-2011-12\UDKGame\Config フォルダにある DefaultEngine.ini ファイルを開く

UDKGame\Config フォルダにある DefaultEngine.ini ファイルをテキストエディタで開きます。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UDK コンテンツクッキング方法(ビットマップフォント PNG データ削除方法)、UDK\UDK-2011-12\UDKGame\Content フォルダに UDK で作成した upk フォントファイルを配置後、UDK\UDK-2011-12\UDKGame\Config フォルダにある DefaultEngine.ini ファイルを開く、[Engine.PackagesToAlwaysCook] セクションに +SeekFreePackage=MyPackage を追加(MyPackage は upk のファイル名)

DefaultEngine.ini ファイルを開いたら、[Engine.PackagesToAlwaysCook] セクションに +SeekFreePackage=MyPackage を追加します。(MyPackage は UDK のファクトリ Font 作成時のパッケージ名= upk ファイル名)

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UDK コンテンツクッキング方法(ビットマップフォント PNG データ削除方法)、UDK\UDK-2011-12\Binaries\UnrealFrontend.exe 起動、Maps to Cook にある DM-Deck.udk を選択して Remove ボタンをクリックして削除

Binaries フォルダにある UnrealFrontend.exe を起動 します。

Unreal Frontend 画面が開くので Maps to Cook にある DM-Deck.udk を選択して、Remove ボタンをクリックして削除しておきます。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UDK コンテンツクッキング方法(ビットマップフォント PNG データ削除方法)、UDK\UDK-2011-12\Binaries\UnrealFrontend.exe 起動、Cook Packages をクリック

Unreal Frontend 画面上部にある Cook Packages をクリックすると、コンテンツのクッキングを開始します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UDK コンテンツクッキング方法(ビットマップフォント PNG データ削除方法)、UDK\UDK-2011-12\Binaries\UnrealFrontend.exe 起動、Cook Packages をクリック、Unreal Frontend 画面下部にあるログ画面でグリーンの SUCCEEDED の文字が見えたらコンテンツクッキング完了

しばらくして Unreal Frontend 画面下部にあるログ画面でグリーンの SUCCEEDED の文字が見えたらクッキング完了です。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UDK コンテンツクッキング方法(ビットマップフォント PNG データ削除方法)、UDK\UDK-2011-12\Binaries\UnrealFrontend.exe 起動、Cook Packages をクリック、コンテンツクッキング完了、UDK\UDK-2011-12\UDKGame\CookedPC フォルダに生成された PNG データが削除された状態の MyPackage_SF_LOC_INT.upk フォントファイル

UDKGame\CookedPC フォルダに PNG データが削除された状態の MyPackage_SF_LOC_INT.upk フォントファイルが生成されます。

UE Viewer を使った upk ファイルアンパック方法

UE Viewer を使うことで デコンプレスやアンパックツール を使わなくても、アンリアルエンジンシリーズの upk ファイルから目的のファイルを取り出せることができます。(ゲームによってはできない場合があります)

ただ、今回のようにデコンプレスした upk ファイルにバイナリデータを追加する方法だと、UE Viewer だけでは対応できない点に注意してください。

ここでは Dishonored 日本語化ファイル の upk フォントファイルをアンパックしてみます。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UE Viewer を使った upk ファイルアンパック方法、UE Viewer をダウンロードして展開・解凍、umodel.exe を起動

UE Viewer をダウンロードしたら umodel.exe を起動します。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UE Viewer を使った upk ファイルアンパック方法、UE Viewer をダウンロードして展開・解凍、umodel.exe を起動、UE Viewer Startup Options 画面

UE Viewer の UE Viewer Startup Options 画面です。

一番上の Path to game files に開きたい upk ファイルがあるパス名を入力します。

注意点としてすでにパス名以下に階層が深いフォルダが展開されているとエラーが起きることがあるので、エラーが発生するようであれば作業用フォルダにアンパックしたい upk ファイルをコピーして、そのパス名を指定したほうがいいでしょう。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UE Viewer を使った upk ファイルアンパック方法、UE Viewer をダウンロードして展開・解凍、umodel.exe を起動、UE Viewer Startup Options 画面、upk ファイルによっては UE Viewer Startup Options 画面で適切に設定しないと正しくエクスポートできない場合あり

UE Viewer Startup Options では基本的にあまり細かく設定をしなくてもデフォルト状態のまま問題ない場合もありますが、Dishonored 日本語化ファイル の upk フォントファイルについては次のような設定をしないとファイルを正しくアンパックできないことがあります。(詳しくチェックしていないので、不要な設定があるかもしれません)

UE Viewer Startup Options 設定(Dishonored 日本語化ファイル upk フォントファイルの場合)
  • Override game detection
    • Unreal engine 3 と Dishonored(ゲームエンジンのバージョンとゲームタイトルを指定)
  • Common classes
    • Textures(ビットマップフォント)
  • Export-only classes
    • ScaleForm(ScaleForm フォント)
  • Platform
    • PS3
PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UE Viewer を使った upk ファイルアンパック方法、Choose a package to open 画面、UE Viewer Startup Options 画面で指定したフォルダ以下に upk ファイルがあれば upk ファイルが表示

UE Viewer Startup Options 画面で OK ボタンをクリック後、エラー表示がなければ画像のように Choose a package to open 画面が開きます。

目的の upk ファイルを選択して Export ボタンをクリックします。

ちなみに、Open ボタンをクリックするとプレビュー画面が開き、一部のファイルをプレビューできます。(プレビューで正しく表示されないこともあります)

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UE Viewer を使った upk ファイルアンパック方法、Choose a package to open 画面で upk ファイルを選択した状態で Export ボタンをクリックすると Export options 画面が開く、Texture Export 画面では 3種類の Texture format が選択可能

Export ボタンをクリックすると Export options 画面が開きます。

Export to this folder に保存先パス名を入力します。未入力の場合は umodel.exe と同じフォルダ内に UmodelExport フォルダが生成されてそこに保存されます。

Texture Export では 3種類の Texture format(TGA、TGA (uncompressed)、PNG)が選択できます。

OK ボタンをクリックすると upk ファイルから指定した形式のファイルをエクスポートします。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UE Viewer を使った upk ファイルアンパック方法、Choose a package to open 画面で upk ファイルを選択した状態で Export ボタンをクリックすると Export options 画面が開く、Export options 画面 で OK ボタンをクリックすると指定したフォルダに UmodelExport フォルダを生成して upk ファイルに格納されているファイルをエクスポート

Export options 画面 で OK ボタンをクリックすると、指定したフォルダに UmodelExport フォルダを生成して upk ファイルに格納されているファイルをエクスポートします。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UE Viewer を使った upk ファイルアンパック方法、UE Viewer で DISFONTS_SF.upk からエクスポートした日本語 Scaleform フォント fonts_jpn.gfx ファイル

UE ViewerDISFONTS_SF.upk ファイルからエクスポートできた日本語 Scaleform フォント fonts_jpn.gfx ファイルです。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UE Viewer を使った upk ファイルアンパック方法、UE Viewer で DISFONTS_SF.upk からエクスポートした日本語 Scaleform フォント fonts_jpn.gfx ファイルを FFDec で開いたところ

FFDecUE Viewer でエクスポートされた fonts_jpn.gfx ファイルを開くことで、使用されているフォント内容が確認できます。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UE Viewer を使った upk ファイルアンパック方法、UE Viewer でビットマップ日本語フォント UI_LOADING_SF_LOC_INT.upk からエクスポートした Dishonored_Normal_PageA.tga ファイルを Paint.NET で開き、新規レイヤーを追加して黒で塗りつぶし、レイヤーの並び替えて文字を見やすくしたもの、ゲーム中に表示されるビットマップフォント

UE ViewerUI_LOADING_SF_LOC_INT.upk からエクスポートした Dishonored_Normal_PageA.tga ファイルを Paint.NET で開いたところです。

上の画像では新規レイヤーを追加して黒で塗りつぶし、レイヤーを並び替えて文字を見やすくしています。

ファイル名が Dishonored_Normal であること、日本語化ファイル DishonoredGame.int で Dishonored_Normal が指定されていたことから、日本語化ファイルで使用されるビットマップフォントであると断定できます。

PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法、UE Viewer を使った upk ファイルアンパック方法、UE Viewer でビットマップ日本語フォント UI_LOADING_SF_LOC_INT.upk からエクスポートした Dishonored_Title_PageA.tga ファイルを Paint.NET で開き、新規レイヤーを追加して黒で塗りつぶし、レイヤーの並び替えて文字を見やすくしたもの、英数字のほかひらがな・カタカナしかなく、日本語化ファイルではこのフォントを指定していないため未使用フォント

こちらの画像も同様の方法で、UI_LOADING_SF_LOC_INT.upk からエクスポートした Dishonored_Title_PageA.tga ファイルを Paint.NET で開き、レイヤーの追加と黒塗りで文字を見やすくしたものです。

英数字のほかひらがな・カタカナしかなく、日本語化ファイル DishonoredGame.int ではこのフォントを指定していないため、ゲームでは使われていない未使用のフォントだと思われます。

関連記事
awgs
Posted by awgs

Comments 1

There are no comments yet.

プレデター

有難う!!!

2022/05/08 (Sun) 05:55

英数字フィルタ、URL フィルタ、おまかせ禁止ワードを有効 および 禁止ワード を厳しく設定しています。コメント内容は承認後に公開されます。コメントの内容によっては削除する ことがあります。質問がある場合は こちらの記事内容 をお読みの上、質問内容をなるべく詳細に正確に整理したうえで投稿してください。