フォント
今までの情報で豆腐では無く日本語が表示されているはずですが(1)にも書いたようにCJK互換で中国のグリフが表示されたり文字の上部が若干欠ける不具合があります。
対処方法はフォント置換なんですがやり方は2通りあります。
2はUE4自体が必要ですが文字の上部も欠けずにちゃんと表示されます。
Slate 置換
対象ファイル Engine\Content\Slate\Fonts\DroidSansFallback.ttf
を日本語フォントに置き換えるだけファイル名はそのまま DroidSansFallback.ttf にする。
この情報はこちらのスレの130さんからの情報です。有難うございます。
uasset 置換
対象ファイル EthanCarter\Content\Gameplay\Assets\Fonts\MenuFonts.uasset
UE4でこのファイルを作成していきます。UE4のバージョンは4.8.3を使うとうまくいきます。
まず MenuFonts.uasset の中身をバイナリエディタで見ます。
/Game/Gameplay/Assets/Fonts/MenuFonts
こんな部分があると思います。これを元にUE4で作成していきます。
UE4起動して

このようなフォルダ構成にして ユーザインタフェース>フォント で MenuFonts を作成する。

フォントを追加でインポートする ttf ファイルを選択する。この状態で保存
後はパッケージングするだけなんですが、パッケージ設定で Packaging:Use Pak File のチェックを外して pak ファイルにまとめないようにするとアンパックの手間がいらないので良いです。
後は出来た MenuFonts.uasset ファイルを元の EthanCarter\Content\Gameplay\Assets\Fonts\MenuFonts.uasset と置き換える。
このゲームはヘッダにカスタマイズ等無いようなので、置き換えるだけでゲーム起動します。
今までの情報で豆腐では無く日本語が表示されているはずですが(1)にも書いたようにCJK互換で中国のグリフが表示されたり文字の上部が若干欠ける不具合があります。
対処方法はフォント置換なんですがやり方は2通りあります。
- Slate の ttf ファイルを置き換える。
- uasset のフォントデータを置き換える。
2はUE4自体が必要ですが文字の上部も欠けずにちゃんと表示されます。
Slate 置換
対象ファイル Engine\Content\Slate\Fonts\DroidSansFallback.ttf
を日本語フォントに置き換えるだけファイル名はそのまま DroidSansFallback.ttf にする。
この情報はこちらのスレの130さんからの情報です。有難うございます。
uasset 置換
対象ファイル EthanCarter\Content\Gameplay\Assets\Fonts\MenuFonts.uasset
UE4でこのファイルを作成していきます。UE4のバージョンは4.8.3を使うとうまくいきます。
まず MenuFonts.uasset の中身をバイナリエディタで見ます。
/Game/Gameplay/Assets/Fonts/MenuFonts
こんな部分があると思います。これを元にUE4で作成していきます。
UE4起動して

このようなフォルダ構成にして ユーザインタフェース>フォント で MenuFonts を作成する。

フォントを追加でインポートする ttf ファイルを選択する。この状態で保存
後はパッケージングするだけなんですが、パッケージ設定で Packaging:Use Pak File のチェックを外して pak ファイルにまとめないようにするとアンパックの手間がいらないので良いです。
後は出来た MenuFonts.uasset ファイルを元の EthanCarter\Content\Gameplay\Assets\Fonts\MenuFonts.uasset と置き換える。
このゲームはヘッダにカスタマイズ等無いようなので、置き換えるだけでゲーム起動します。
コメント
コメント一覧 (5)
他のフォントでも0x28を書き換えたら出来ました!!
こんなすぐに原因が分かってしまうなんて凄いですね。
その技術力に脱帽です!
これで好きなフォント使ってゲームが出来ます。有難うございました。
ちなみに原因究明が難しかった場合は最終手段としてフォント自体を編集して文字を下に寄せるつもりでいました。かなりの文字量があるのでその方法にならなくて少しホッとしています。
今後とも解析作業等頑張ってください。応援しています。
では
このあたりの詳しい話は週末にでも書きます。
確認までしていただけるとは思っていなかったので予想外でしたが、よろしくお願いします。
とりあえずふい字フォントで試してみました。
しかしどのフォントでも結果は同じようでした。
http://www1.axfc.net/u/3565365?key=TVECR
他に必要なファイルがあればまたupします。
>> PS:ついでにTVECR 解析 (1)の時の日本語表示に使われているフォントの名前を教えてください。
置換されたかどうかの確認がしやすいので、このブログの解析で使ってるのはすべて ふい字 です。
locres 編集とttfの置き換えで日本語化はほぼ出来たのですがやはり上が切れてしまうのが気になり、uassetの置換に手を出したのですがどうしても
Fatal error!
EthanCarter-Win64-Shipping.exe {0x000000013f9dd783} + 0 bytes
EthanCarter-Win64-Shipping.exe {0x000000013f9e02e3} + 0 bytes
EthanCarter-Win64-Shipping.exe {0x000000013f9e0d12} + 0 bytes
EthanCarter-Win64-Shipping.exe {0x000000013f1296a8} + 0 bytes
EthanCarter-Win64-Shipping.exe {0x000000013f1242ea} + 0 bytes
EthanCarter-Win64-Shipping.exe {0x000000013f12475a} + 0 bytes
EthanCarter-Win64-Shipping.exe {0x000000013f12b980} + 0 bytes
EthanCarter-Win64-Shipping.exe {0x0000000140760bdd} + 0 bytes
kernel32.dll {0x0000000077a25a4d} + 0 bytes
ntdll.dll {0x0000000077b5b831} + 0 bytes
ntdll.dll {0x0000000077b5b831} + 0 bytes
Fatal error!
EthanCarter-Win64-Shipping.exe {0x000000014054d783} + 0 bytes
EthanCarter-Win64-Shipping.exe {0x00000001405502e3} + 0 bytes
EthanCarter-Win64-Shipping.exe {0x0000000140550d12} + 0 bytes
EthanCarter-Win64-Shipping.exe {0x000000013fc996a8} + 0 bytes
EthanCarter-Win64-Shipping.exe {0x000000013fc942ea} + 0 bytes
EthanCarter-Win64-Shipping.exe {0x000000013fc9475a} + 0 bytes
EthanCarter-Win64-Shipping.exe {0x000000013fc9b980} + 0 bytes
EthanCarter-Win64-Shipping.exe {0x00000001412d0bdd} + 0 bytes
kernel32.dll {0x0000000077a25a4d} + 0 bytes
ntdll.dll {0x0000000077b5b831} + 0 bytes
ntdll.dll {0x0000000077b5b831} + 0 bytes
と出てしまい起動しません。(まったく同じファイル構成で2回起動してみたら2度ともエラーアドレス?の部分が違ったので2つとも載せました)
uassetを置き換えると発生するので原因はこれだと思うのですが詳しいことが分からない状況です。なので何か助言をいただけませんでしょうか?
PS:ついでにTVECR 解析 (1)の時の日本語表示に使われているフォントの名前を教えてください。