C++ ときどき ごはん、わりとてぃーぶれいく☆

Wonder Rabbit Projectのなかのひとのブログ。主にC++。

フォント描画が豆腐になったsteam @ wine-1.5.6 @ openSUSE-12.2 にて

とてもとても久しぶりにsteamを動かした。まだLinux版は正式にリリースされていないので相変わらずwineにて。

しかし、日本語フォントの導入も`HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes`での置換定義もあらかた出来ているはずなのに、ごく一部の文字だけが豆腐になる。はてさてと思い、いっそのこと一旦フォントの置換定義をさらっと消し去ると見事に全部豆腐になった^^;

f:id:USAGI-WRP:20121123213714p:plain

見事な豆腐っぷりである…。

改めて、先のFontSubstitutesに、

  • MS Gothic
  • MS Mincho
  • MS PGothic
  • MS PMincho
  • MS Sans Serif
  • MS Serif
  • MS Shell Dlg
  • MS Shell Dlg 2
  • MS UI Gothic
  • Tahoma

に導入済みの日本語フォントを設定してみたが豆腐は見事に型崩れせず立派なまま。

はてさて、と思いSTEAMで使っているフォントはなんであろうかと調べると、

なんて記事がhitした。この記事はSTEAMの見てくれを見易く綺麗に改善しようという趣旨の様だけど、これこそ正にフォントをSTEAMが独自に指定している機構の一端。と、言う訳で、

  • ~/.wine/drive_c/Program Files (x86)/Steam/resource/styles
    • gameoverlay.styles
    • steam.styles

これらで定義されたフォントを日本語対応のフォントに置き換えてあげれば美味しく豆腐を食べられる事になる。インストール時点のデフォルトで定義されていたフォントは次の通り。

  • Arial

…。基本的にbasefontとしてArialが指定され、全体にこのbasefontを使う設定になっていた。つまるところ、wineのFontLinkでArialに日本語の代替フォントも指定するか、或いはArialをFontSubstitutesで日本語対応フォントにしてしまえば解決するに違いない。

  • Arial
  • Arial Baltic,186
  • Arial CE,238
  • Arial CYR,204
  • Arial Greek,161
  • Arial TUR,162

以上をFontSubstitutesにて`VL Pゴシック`へ置換。

f:id:USAGI-WRP:20121123215804p:plain

問題ない。美しい日本語だ( ・`ω・´)