蓼科日記(第4期)

これを遺書とする

【メモ】Unreal Engine 4のUIのCJKフォントをなんとかする

はじめに

 Unreal Engine 4を触る用事があったんですが、エディタの日本語表記がCJKフォントでちょっと辛かったので、低い技術力で頑張って調べました。

 CJKフォントというのは、大ざっぱに説明すると「字形が欧米人の雑な感覚からすると似ている中国語・日本語・韓国語圏の漢字を同じものとして扱っている」フォントです。日本語対応のハードルを下げたという面では良いんですが、個人的にはどうも気持ちよくないと思っています。

 

TL;DR

 お好きなTrueTypeフォントを"DroidSansFallback.ttf"にリネームして、UE4がインストールされているパス(例 C:\Program Files\Epic Games\UE_4.18)にあるEngine\Content\Slate\Fonts\DroidSansFallback.ttfと置き換えてください。

 

f:id:indigo_49:20171216232714p:plain

源真ゴシック(http://jikasei.me/font/genshin/)に置き換えてみた例。

 

 もしかしたらこれだけだと足りてないかもしれないんですが、とりあえず問題が解決したのでよしとします。足りてなければ同じフォルダの中のフォントを置き換えれば良いはず。

 

辿り着くまでの話

 たぶんUE4がインストールされているフォルダのどこかにフォントがあるんだろう、それをリネームした日本語フォントと置き換えればOKじゃん? というのは容易に想像できる結論だったのですが、意外と解決に時間がかかりました。

 というのも、本来のゴールの近くに"EngineFonts"なるいかにもな名前のフォルダ(Contentの下にある)があって、そこにいかにも日本語の字形がヤバそうなにおいのするフォントが入ってるんですよ。これがttfとかttcとかじゃなくてUEのファイル形式であるuassetで格納されてるので、わざわざ日本語フォントをUEにインポートしてから置き換えたりして時間を無駄にしました。

 ただこのフォルダにあった"DroidSans.tps"をテキストエディタで開いたら、

<Notification>
Redirect: ../Slate/Fonts/DroidSans.tps
Notes:

って書いてあって、そこから答えに辿りつけたので結果オーライというやつです。 

 ちなみに、この記事を書く前にちょっと調べて、"Slate"はUE4のUIフレームワークの名前だということを知りました。この知識さえあればあっさり解ける問題だったんですが、ゲームエンジン歴5分ぐらいの筆者にはわかるはずもありませんでした。