Windows Vista から日本語のシステム・フォントは 「メイリオ」 になり、これは Windows 7 にも引き継がれている。僕がメイン・マシンで使っている Windows 7 英語版のデフォルトのシステム・フォントは Segoe UI (シーゴ UI) だが、Segoe UI は英字フォントのため、ファイル名やフォルダー名の日本語部分には、メイリオが使われる。このメイリオ自体はけっこう気に入っているのだが、エクスプローラーで表示するには文字幅が広過ぎ、あまり美しくない。特に Segoe UI と並んで表示された場合の不恰好さは下図の通りで、完全に許容範囲を超えている (と言いつつ、約半年も放置していたが)。
これはキツい (Segoe UI + メイリオの混在状態)
一方、サブ・マシンの Windows 7 日本語版では、システム・フォントをデフォルトのメイリオから Meiryo UI に変更している。この Meiryo UI は 「リボン UI に最適化」 を謳って Windows 7 で追加されたメイリオのバリエーションで (単体配布もされている)、ひらがなやカタカナの文字幅が狭くなったことで、エクスプローラー等で表示される情報量を増やすのに適したフォントだ。Windows 7 英語版でもシステム・フォントを全て Meiryo UI にすればほぼ同じ状態にできるが、メイリオ・シリーズのように純然たる日本語フォントだとバックスラッシュが円マークになってしまうのがイヤなので、Segoe UI は残したい。そこで英数字は Segoe UI のまま、日本語だけ Meiryo UI に変更してみた。
調べてみると、この 「英字フォントにない文字をどのフォントで表示するか」 と言う仕組みは、レジストリの HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink キー下の、任意のフォント名の "Multi-String Value (複数文字列値)" で実現されていることがわかった。今回カスタマイズしたい Segoe UI の設定は既に存在し、デフォルトでは
TAHOMA.TTF MEIRYO.TTC,Meiryo,128,85 MEIRYO.TTC,Meiryo MSGOTHIC.TTC,MS UI Gothic MSJH.TTF,128,96 MSJH.TTF MSYH.TTF,128,96 MSYH.TTF MALGUN.TTF,128,96 MALGUN.TTF MINGLIU.TTC,PMingLiU SIMSUN.TTC,SimSun GULIM.TTC,Gulim
となっている。恐らく列挙されたリストの上から優先され、Segoe UI に存在しない日本語文字列の表示には、2行目の指定でメイリオが使われる、と言うカラクリだろう。このページによると、各行のエントリーは、左からフォント・ファイル名 (パス)、フォント名で、3つ目と 4つ目は "scaling factor" と呼ばれる、フォントのレンダリング・サイズに影響を与える整数値とされている。2つ目以降が存在しない行もあるので、必須なのはフォント・ファイル名だけか。
とりあえず管理者権限でレジストリ エディターを起動し、"Segoe UI" 値でメイリオを指定している 2行を Meiryo UI に変更してみた。メイリオと Meiryo UI は同じフォント・ファイルなので、"MEIRYO.TTC" の部分はそのまま。前述のページで 「メイリオを指定する場合の scaling factor は "128,85" にすべし」 とあるので、ここもそのまま流用。
・変更前 MEIRYO.TTC,Meiryo,128,85 MEIRYO.TTC,Meiryo ・変更後 MEIRYO.TTC,Meiryo UI,128,85 MEIRYO.TTC,Meiryo UI
Windows を再起動してログオンすると、エクスプローラーで日本語ファイル名やフォルダー名を表示する際のフォントが Meiryo UI に変わったが、デカい。やはり "128,85" はメイリオの話で、Meiryo UI では値を変更する必要がありそうだ。
次に scaling factor 指定なしの行のみにして再起動してみると、今度は日本語表示がかなり小さくなってしまった。相変わらず Segoe UI とのバランスが悪いし、何より読みづらい。
Web で調べつつ数値を変えながら試行錯誤してみたが、この scaling factor の仕組みは、結局よくわからない。ただフォントのレンダリング・サイズを決定するのが 4つ目の値であることは確実で、数値を大きくすると、サイズは小さくなる。3つ目の "128" は適当な値にしてみても違いがわからなかったが、どうも言語ごとに決まっているようで、日本語は 128 とする (ことが多い) らしい。
そこで 4つ目の値を何度か修正してバランスを見た結果、以下の値で落ち着いた。
・変更後 MEIRYO.TTC,Meiryo UI,128,105 MEIRYO.TTC,Meiryo UI ・最終的な Segoe UI の全設定 TAHOMA.TTF MEIRYO.TTC,Meiryo UI,128,105 MEIRYO.TTC,Meiryo UI MSGOTHIC.TTC,MS UI Gothic MSJH.TTF,128,96 MSJH.TTF MSYH.TTF,128,96 MSYH.TTF MALGUN.TTF,128,96 MALGUN.TTF MINGLIU.TTC,PMingLiU SIMSUN.TTC,SimSun GULIM.TTC,Gulim
エクスプローラーの表示は以下のように変化した。
変更前: Meiryo,128,85
変更後: Meiryo UI,128,105
まァこのくらいであれば、アルファベット部分と日本語部分のバランスは問題ないだろう。あまり細かく調整してもきりがなさそうなので、この辺でやめておく。既に 14年以上愛用するメールソフトの Becky! Internet Mail は、メール本文の表示フォントは自由にカスタマイズできるものの、フォルダー・ツリーやメールの件名表示等には Windows のシステム・フォントがそのまま利用されるので、連動して視認性が向上した。
念のため、最後に警告を一つ。今回フォント絡みの試行錯誤を重ねる中で、Windows 7 では初めてブルー・スクリーンに遭遇した。再起動してもログオン直後に Windows がブルー・スクリーンと共に落ちるので、恐らくレジストリにマズいことを書いてしまったのだろう。セーフ・モードで起動しても、スタート・メニューの表示を始め、「ファイル名を指定して実行」 やエクスプローラー等、explorer.exe が絡む操作は全て落ちてしまい、どうにもならない。
とりあえず起動時の [F8] キー押下で表示されるメニューから 「前回正常起動時の構成 (詳細)」 を選択して起動後、レジストリの該当箇所をデフォルトに修正して事なきを得たが、レジストリの編集は、一歩間違えば OS 再インストールのリスクと背中合わせであることを再認識させられた。
本エントリーを参考に遊んでみる方は、事前にバックアップ (=ファイルへの書き出し) を作成して (OS が起動しなくなってしまえばあまり意味がないが)、自己責任でどうぞ。
助かりました。標準のメイリオを円記号→バックスラッシュ変更済みのメイリオに置き換えたら Segoe UI からメイリオへのフォントリンクがきかなくなったみたいで、これで Meiryo UI にリンクさせて強行解決しました。
> edvakf さん
コメントありがとうございます。お役に立てたようで、何よりです。
この辺のフォントの変更が、もっと簡単にできるといいんですけどね。