3年前の記事で書いたように、XPのPCにメイリオを入れて使用しています。
3年ほどこの設定で使っていて、特に問題もなく過ごしていたのですが、今回、その設定を一部見直しました。
なぜかというと
Logitecの無線LANアダプタ、LAN-W150Nに付属の「クライアントユーティリティ」(APユーティリティ)というソフトを入れたところ、一部のボタンが正常に表示されないという問題が起きたのです。
↑正常な起動画面。通常は右下に表示されている、「初期値」「キャンセル」「適用」などのボタンが、
↑消えてしまっています。
これでは、無線LANの暗号化ができません。
どうしてこうなるの?
こちらの記事の例示に詳しいのですが、純正メイリオ及びMeiryoKe_シリーズ(Console除く)は、上部、下部の隙間(アセンダ・ディセンダ)がMSゴシックシリーズよりも大きいのです。
そのため、標準フォントの使用を想定して作られたアプリでは、表示が崩れることもあります。
(とはいえ、ボタンが消えてしまうほど大きく崩れたのははじめてで、びっくりしました)
対策
2つの対策が考えられます。
1【レジストリでシステム系のフォントを変更しない】
画面のプロパティの設定+各アプリのデフォルトフォントをメイリオにするだけで留めておけば、こういった問題は発生しません。
2【上下の隙間を調整したフォントを使う】
上部、下部の隙間がMSゴシックシリーズと等しい、MeiryoKe_Consoleで置き換えてみました。
レジストリに、以下のキーを追加。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"MS UI Gothic,128"="MeiryoKe_Console,128"
すると、こうなりました。
↑MeiryoKe_Consoleでの表示。ボタンは表示されました
いい感じ…と思いきや、上の「チャンネル」の文字がなんだか変?
別のタブを開くと、こんな感じになっていました。
↑横方向に文字が大きすぎ?字間が広すぎ?て、文字がすべて表示されていません
ちなみに、MeiryoKe_UIGothicの場合は、この画面はきちんと表示されます。
↑きれいに表示
このアプリで使用を想定されているのはMS UIゴシックなので、
・MS UIゴシックと縦幅が同じで横に広いMeiryoKe_Console=横に文字がはみだす
・MS UIゴシックより縦幅が広く横は同じのMeiryoKe_UIGothic=縦に文字(ボタン)がはみだす
わけですね。
(さきほどの記事を再確認すると、一目瞭然でした)
でしたら、縦の空隙、横の幅、共に幅をMS UIゴシックに揃えたフォントを作ってやればよいわけです。
こちらの記事によれば、フォントごとのアセンダ、ディセンダを変更することもできるようなので、それを使ってMeiryoKe_UIGothicの上下幅をMS UIゴシックに揃えて設定すれば、きれいな表示ができる、はずです。
はずですが、なんとなくフォント作りは見送りました。
ちょっと手間かなあ、とか、その調整でMeiryoKe_UIGothicの可読性が低くなったりしないかなあ、とか、そんな理由です。
(その後、やってみました。結果はこちら)
※ちなみに、こちらで紹介されている&前記事コメントで教えていただいた「メイリオ改」は、上下幅はMeiryoKe_シリーズと同じで、横幅は純正メイリオと同じ(=MS ゴシックシリーズより広い)ものとのことですので、今回の用途には不向きと思われます。
最終的に取った方法
以上を踏まえて、今回は
・FontSubstitutesでMS UIゴシックを置き換えるのはやめておく
・その上で、問題なさそうなところだけ置き換えてみる
という方法を取ることにしました。
一旦、前回の記事で置き換えたところを初期状態に戻した上で、以下のキーを追加します。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"Lucida Sans Unicode"
"Tahoma"
"Microsoft Sans Serif"
の一番はじめに、それぞれ
="meiryoKeGothic.ttc,MeiryoKe_UIGothic"
を追加
※Tahomaを設定するだけでも、結構な場所のフォントが変わる気がします。
このキーを追加すると、タスクバー、フォルダを開いた際の左側メニューなど、あちこちの文字がメイリオに変わります。
これだけだと、一部の文字が小さく表示され、見づらい状態です。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"Tahoma,0"="MeiryoKe_UIGothic,128"
"Microsoft Sans Serif,0"="MeiryoKe_UIGothic,128"
"Lucida Sans Unicode,0"="MeiryoKe_UIGothic,128"
を追加
これで、Windows内で見えるところのフォントはだいたいMeiryoKe_UIGothicに変わります。
アプリ内は、特に設定しない限り、アプリが指定しているフォント(MS UIゴシックなど)で表示されます。
「FontSubstitutesの設定より、FontLink\SystemLinkの設定が優先される(らしいです、未実験)」
「FontLink\SystemLinkのみで設定すると、フォント変更は効くものの表示がいまいち」
ということで、こういう追加にしてみました。
※別解
こちらの記事によれば、FontSubstitutesのキーを追加+FontLink\SystemLinkの既存のキーを削除、でも同じ効果が得られるようです。
私はなんとなくの好みで、キーの削除なしで、追加のみにしてあります。
おまけ
こちらの記事を参考に、コマンドプロンプトにもMeiryo_KeConsoleを設定できるようにしてみました。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont]
"932."="MeiryoKe_Console"
を追加。再起動後、コマンドプロンプトを立ち上げて左上をクリック→「プロパティ」で設定→「同じタイトルのウインドウに適用する」で、次回起動からも有効になります。
まとめ
メイリオの設定をしたのはずいぶん前のことでしたので、忘れていることも多く、他サイトさんの記述に助けられながらの作業となりました。ありがとうございました。
もう語り尽くされているテーマのような気もしますが、備忘録的に置いておきます。