Sublime Text 3: 高解像度液晶における文字化け

高解像度ディスプレイをWindowsマシンで使用していて,かつ「すべての項目のサイズを変更する」("Change the size of all items")でDPIを変更している場合,Sublime Text 3 beta (Build 3083) においてはタブ上に表示されるツールチップ(tool tip)やクイックパネル(quick panel)で文字化けが発生する.

 

特に困るのは,各種のソースを記述したりマルチバイトを含むファイル名をもつファイルを参照したいときに Goto symbol (Ctrl+R) やGo anaything (Ctrl+P)あたりで文字化けすること.ファイル自体をUTF-8で記述していても文字化けしてしまうのは困りもの.英語だけ使っている分には困らないのだけれど,日本語の方が効率がいい場合だってある.そもそも,英語だけ使っていれば困らない,なんていうのは現状に対する対症療法でしかないわけだから文字化けなんてものはないほうがいいに決まっている.

 

この不具合に見舞われている人が少ないのか,はたまた気にしない人が多いのか,あるいはマルチバイト言語を使わない人ばかりなのかは知らないが,散々インターネット上の情報をあさってもなかなか解決策が見つからなかった.

 

公式フォーラムで質問する一歩手前までいったのだが,検索語句を工夫することでどうにかこうにか解決策にたどり着いたので,自分の備忘録として記載しておこうと思う.

 

どうやら,項目のサイズを変更することを専門用語では「dpi scaling」というらしい.

そして,「dpi scaling」を行なうと文字化けが生じるというのは一部のユーザーには既知の問題のようで,これを回避するには

 

Preferences.sublime-settings に

"dpi_scale": 1.0,

を書き加えるとよい.

 

当たり前だが,スケーリングが効かなくなるので各種の文字が小さくなってしまうという副作用がある.しかも,本文やサイドバーはフォントサイズを変更すればよいが,クイックパネルのフォントサイズやフォントフェイス,ミニマップのサイズはカスタマイズできないという困った仕様らしく,たとえ文字化けが直っても"Goto symbol"や"Package control"等々クイックパネルを使用する場面では極小フォントと仲良くしなければならなくなることを書き加えておこう.人によっては,マルチバイト文字が使えない方がマシということになるかも...