LinuxMintにPortal2をインストールして文字が表示されない問題

photo credit: Aperture Science Handheld Portal Device via photopin (license)


概要

SSDを購入し、メインで使っていたLinuxMintを17から17.2に変更。
容量にも余裕ができたので4年あまり積んでたPortal2をやろうと思ったが、いざ起動するとメニュー画面に一切テキストが表示されなかった。(図1)


[!]この記事のトラブルは未解決です。参考程度にご覧ください。



図1.テキストが表示されないPortal2のメニュー画面

環境

自作PC(2009年)
OS:LinuxMint17.2(32bit)
CPU:Core2Duo E8500
MEM:4GB
VGA:Radeon HD 5750(2010年)
SSD:Crucial BX100(256GB)


グラフィックドライバはLinuxMintで提供されているものを使った。(図2)
ゲームを開始することはできたが、メニュー全般のテキストが表示されないために処理を軽くする設定を行うことができず、すぐに終了させた。
時代遅れのPCにはつらいところ。
図2.LinuxMintで使用しているグラフィックドライバ


前提

Play on Linux(Wine)は使わない。
頑固かもしれないが、Linuxを使うのであればWindows専用のソフトは使わないと決めている。

ググる

この問題について明確な解決方法を提示している記事は見つけられなかった。
Steam内の記事で豆腐文字の直し方ならあるが、こちらはWindows環境。
(また、Linux上のSteam UIで文字化けが発生したという声もあったが、私の環境では何も問題なかった。(図3))



図3.日本語が正常に表示されたSteam


L4DやTeamFotress2など、Valve社以外のゲームでは設定をしなくても日本語表示できるらしい。
持ってるゲームがValve社のものしかないので未検証。
(全世界でゲーム販売プラットフォームを運営しているのだからマルチバイト文字の対応はしてほしいところ)

というわけで解決できそうな情報は2chの過去ログから。

できそうなこと

1.特定のフォントをインストールする(未確認)

ゲーム自体は起動することができたので、怪しいのはフォントだということはわかった。
過去ログでは「wqy-zenhei」をインストールすればいいとのこと。

アジア言語の導入で漢字の表示がおかしくなると面倒だと思ったので確かめてない。


2.fonts.confを編集する(失敗)

UbuntuベースのLinuxMintを使っているが、フォントを設定するファイルが置いてあるディレクトリの場所は異なる。
いじってPortal2を起動したものの症状は変わらず。
結論から言うとローカルに ~/fontconfig/.fonts.conf を作ることでできました。大体以下のような感じ書けばいいっぽいです。※ 私の環境はLinuxMinit15でこのファイルパスでしたが、Ubuntuだと ~/.conf/fontconfig/fonts.conf のケースが多いようです。fc-cache -vfを叩いて読み込んでる設定ファイルを確認してみてもいいかもです。

3.portal2.confを作成する(失敗)

「portal2.confの作成が有効」という指摘はないが、同社のゲームで「l4d2.conf」や「tf2.conf」「hl2.conf」を作成している例があったので試してみたが失敗。

失敗とその後

解決できなかったので以前のHDDからWindows7を呼び出し、結局そっちでPortal2をクリア。
2011年のゲームなので推奨スペックは満たしていた。

その後、この経験を記事にするために再調査したところ、Arch wikiに有益な記述がいくつかあった。
(これらを見逃していなかったら結果は変わっていたかもしれない)



1.Steamが提供するWindows向けトラブルシューティングを適用する

ノート: Steam が Arial フォントを見つけられないとき、fontconfig は Helvetica ビットマップフォントにフォールバックしようとします。Steam は Helvetica などのビットマップフォントを正しく表示できないため、Arial や Arial Bold フォントをインストールしなくても、問題のフォントを削除したりビットマップフォントを無効化することで問題が解決することがあります。Arial の代わりに使われているフォントは次のコマンドで確認できます: $ fc-match -v Arial

Steamのトラブルシューティングはこちら。



2.90-replace-sanserif.confを編集する

ゲーム内の日本語が上手く表示されない場合、フォントを置き換えることで表示できます。この方法は Valve の他のゲームでも使える可能性があります。
引用:Team Fortress 2

おわりに

Windowsのシェアから、「やっぱりゲームをするにはWindows」という結果に行き着いたのは仕方がないのかもしれない。
日本ではエロゲーが遊べるかどうかもWindowsが選ばれる要因だろう。

GoogleとAdobeが手がけたNotoフォントが発表され、これで中国語漢字と区別がつくと思ったものだ。
一方でこんな記事を見つけた。



欧米からするとマルチバイトというか、日本語・中国語(・韓国語)の扱いは日本人が思っている以上に「面倒くさいもの」なのかもしれない。