SteamのProtonで起こる中華フォント問題への対処法
力技を使いました
以前ただでさえお安いのにセールでさらにお安くなっていた時に買った「シロナガス島への帰還」を主に気力の問題からずっと積んでいましたが、最近続編が発表されたりコミカライズが決まったりと話題があったので重い腰を上げてやろうと決めました。

このゲームは吉里吉里製のWindows用ですが、SteamのProtonを使えば筆者のKubuntu環境でも動かすことが可能です。いい時代になったものです。
しかし、いざプレイし始めるといわゆる中華フォント問題が起きてしまっていました。
中華フォント問題とはゲーム等で言語が日本語に設定されているにも関わらず、一部の漢字が中文の簡体字で表示されてしまう現象です。文脈から判断して読めないレベルではありませんが、テキスト主体のゲームでは非常にストレスとなります。
本来は、すなわちWindowsでプレイすればこの問題は起きないはずです。おそらくですがこのゲームの日本語フォントにはWindowsにプリインストールされているフォントが指定されているのでしょう。それの代替としてProtonが中文フォントを含めた複数のフォントを用意しているためにこの問題が起こるようです。
対処法としては、Protontricksをインストールしてフォントを追加する方法がありましたが、Protontricksを入れようとすると依存関係で色々入れられてしまうのが嫌なので代わりにちょっとした力技を使いました。
まず、Protonで動かすWindows用ゲームのプレフィックスを探します。
ディレクトリは筆者の環境では
/[ホーム]/.steam/steam/steamapps/compatdata/[ゲームID]/pfx
です。シロナガス島への帰還のゲームIDは1156990でした(ストアページのURLに含まれている数列です)。
その中の /drive_c/windows/Fonts 内にProtonが代替として用意しているフォントへのシンボリックリンクがあります。
それらのリンクをすべて使いたい日本語フォントの実ファイルに置き換えます。
例えばその中にはsimsunというフォントがありましたが、そのディレクトリにNotoSansJPのフォントファイルを持ってきてファイル名をsimsun.ttfに変更するのです。同じ名前にすればリンクの方は上書きされて消えます。
つまり、日本語フォントを中文フォントに偽装するのです。
こうすることで中文フォントが適用されてしまう場面でも日本語フォントが使用されるわけですね。
おかげで無事快適にプレイできるようになりました。
ただ、自分でやっておいてこのやり方はあまり推奨できないです。本来Protonで想定されているフォントを別のものに差し替えているわけで、どこでどう不具合が起きるかわかりませんからね。おとなしくProtontricksを使った方がいいと思います。
ちなみに、こういう中華フォント問題はSteamDeckではあまり起きないようです。SteamOSはValveがフォントについても細かく調整しているようで、その点では通常のデスクトップLinuxでは敵いませんね。
SteamMachineが発売されてくれれば実際の性能次第で買い替えの検討対象にもなるのですが、いつ発売されるのでしょうかね?
以上です
ここまでお読みいただきありがとうございました。
よろしければ購読をお願いします。
以下若干のネタバレを含む「シロナガス島への帰還」の感想