2011年02月12日

メイリオ・行間の調整

やってみました
前回の記事でちょっと触れた、
「縦の空隙、横の幅、共に幅をMS UIゴシックに揃えたフォント」
を、作ってみました。
結論から申しますと、常用するにはちょっとなあ、な出来だったのですが、一応手順を記録しておきます。

※当初はいまひとつと思っていた方法だったのですが、MeiryoKe_UIGothicのみの行間を整えることで、十分使える方法になりました。
以下でご説明するのは、修正した手順です。


作り方
こちらの記事を参考に、ttfname3.exeをダウンロードしてきます。
・フォントフォルダからコピーしてきた
meiryoKeGothic.ttcを
ttfname3.exe
にドラッグ&ドロップ。
生成された
meiryoKeGothic.xml
の"Header"1カ所の値を、以下の通り書き換えます。

※meiryoKeGothic.xmlには、
「meiryoKeGothic」、「MeiryoKe_PGothic」、「MeiryoKe_UIGothic」
の、3種類のフォントのデータが入っています。
ここで書き換えるのは、一番最後の「MeiryoKe_UIGothic」の値のみです。
「Font(2)」というくくりを探すと、わかりやすいです。

初期値
  Ascender="1962"
  Descender="-446"
  TypoAscender="1798"
  TypoDescender="-250"
  WinAscender="1962"
  WinDescender="446"
  AverageCharWidth="1024"
  Codepage1="000a000f"
  Codepage2="00000000"

書き換え後
☆ Ascender="1731"
☆ Descender="-317"
  TypoAscender="1798"
  TypoDescender="-250"
☆ WinAscender="1731"
☆ WinDescender="317"
  AverageCharWidth="1024"
  Codepage1="000a000f"
  Codepage2="00000000"

(☆が書き換えた行です)

要は
1962→1731
446→317
の置き換えです。
数値は、meiryoKeConsole.ttfの値に合わせました。

書き換え後、書き換えたxmlファイルとmeiryoKeGothic.ttcファイルを、一緒にttfname3.exeにドラッグ&ドロップすると
meiryoKeGothic_mod.ttc
が生成されます。
これを
meiryoKeGothic.ttc
にリネームして、Fontsフォルダの元ファイルを退避させた上で新しいファイルを上書き、再起動すれば、行間が詰まったMeiryoKe_UIGothicを使うことができます。


使用感
で、これをMS UI ゴシックと置き換えて使用してみたところ、前回ボタンが消えていたアプリは正常に、かつメイリオ表示で使用することができました。
ブラウザなど、長い文章を読むアプリではMeiryoKe_PGothicを指定してやることで、行間の詰まりを感じずに閲覧ができます。

ちなみに、MeiryoKe_PGothicの行間を詰めてしまうと、ブラウザの表示は

ブログの画面キャプチャ
↑こんな感じになります。
好みの問題かとは思うのですが、私はどうも、元のMeiryoKe_PGothicのほうが好きかな、と。
でもシステムの表示を正確に、かつきれいに、というのも捨てがたいので、
MeiryoKe_UIGothic→行間を詰める=文章は読みづらいが、システムフォントとしてだいたい正しく表示される→システム用のみに使用
MeiryoKe_PGothic→行間そのままで、閲覧用に使用
という風に使い分けてみようという趣旨です。


ボールドフォントも入れ替え(蛇足?)
ついでですので、meiryoKeGothicB.ttcも同様にUIGothicの部分だけを書き換えて入れ替えました。
が、こちらは、Fontsフォルダの元ファイルを退避させようとすると、「使用中です」のエラーが出ました。
unlockerというソフトを使って、meiryoKeGothicB.ttcのロックを無理矢理解除、移動させて上書きさせましたが、外したプロセスが何かやっていたらしく、再起動するまでアプリケーションのタイトル部分が文字化けしていました。
この文字化けは、再起動すれば直りました。
同じことをする場合は、入れ替えたら即再起動できる状態でのトライをおすすめします。
なお、このボールドフォントがどこに使われているか/行間の違いで文字が崩れる問題が発生するのかどうか、については、実は未確認です。特にトラブルが起きないようなら、入れ替えなくてもいいのかもしれません;


フォント入れ替え後の設定
というわけで、現在のレジストリ設定は以下のようになっています。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"MS UI Gothic,128"="MeiryoKe_UIGothic,128"
"MS ゴシック,128"="メイリオ,128"
"MS Pゴシック,128"="MeiryoKe_PGothic,128"
"MS Gothic,128"="メイリオ,128"
"MS PGothic,128"="MeiryoKe_PGothic,128"

↑ituneでMS Pゴシックが使われているため、あわせて置き換えを行いました。MS ゴシックはおまけです。
 今後、MS ゴシック、MS Pゴシックを使ったアプリで表示崩れが起きたら、これらのキー削除で対応するつもりです。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"Lucida Sans Unicode"
"Tahoma"
"Microsoft Sans Serif"
の一番はじめに、それぞれ
="meiryoKeGothic.ttc,MeiryoKe_UIGothic"
を追加

↑行間の調整により、日本語文字が小さく表示される問題が解消し、欧文フォントはこの指定のみ(FontSubstitutesのキー追加なし)で表示可能になりました。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont]
"932."="MeiryoKe_Console"

前回の記事で追加した、コマンドプロンプト用のキーです。

[HKEY_USERS\.Default\Control Panel\Desktop]
"FontSmoothingType"=dword:00000002

↑起動時の「ようこそ」の文字にCleartypeを適用します。初期値は00000001

とりあえずこの設定でいこうと思います。
元に戻すには、あらかじめバックアップしてある初期値のレジストリを実行+上で追加したキー全削除+バックアップしてあるmeiryoKeGothic.ttcとmeiryoKeGothicB.ttcをFontsフォルダに上書き、という手順になります。


おまけ・itune
ituneのフォントを変える方法として、こんなのも見つけました。

未だにフォントが汚いiTunesのiTunes Storeのフォントを綺麗にする方法
(以下引用です)
方法は、まず、iTunesを閉じた後に「C:\Program Files\iTunes\iTunes.Resources」の「iTunes.css」をテキストエディタで開きます。開いたテキストの最後に以下のテキストをコピペ。上書きします。
*{ font-family:'メイリオ',Meiryo !important; }
↑メイリオフォントの場合。
*{ font-family:'meiryoKe_PGothic'!important; }
↑meiryoKe_PGothicフォントの場合。
ただし、*が大文字なってますので、コピペした後*を小文字に変更するのをお忘れなく。
(引用ここまで)

この方法だと、ituneのアップデートごとにCSS編集を行う必要はありますが、フォント置き換えができない場合は、便利なテクニックだと思います。ということで覚え書き。


それにしても
私はメイリオが好きすぎます。

(2011/02/13 0:26 記事を大幅に修正)
(2011/02/13 22:51 meiryoKeGothicB.ttc書き換えについて追記)
posted by にくす at 22:44| Comment(0) | TrackBack(0) | PCあれこれ | このブログの読者になる | 更新情報をチェックする

メイリオ設定の変更

お久しぶりです
3年前の記事で書いたように、XPのPCにメイリオを入れて使用しています。
3年ほどこの設定で使っていて、特に問題もなく過ごしていたのですが、今回、その設定を一部見直しました。


なぜかというと
Logitecの無線LANアダプタ、LAN-W150Nに付属の「クライアントユーティリティ」(APユーティリティ)というソフトを入れたところ、一部のボタンが正常に表示されないという問題が起きたのです。

APユーティリティ
↑正常な起動画面。通常は右下に表示されている、「初期値」「キャンセル」「適用」などのボタンが、

APユーティリティ(MeiryoKe_UIGothic適用)
↑消えてしまっています。

これでは、無線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"

すると、こうなりました。

APユーティリティ(MeiryoKe_Console適用)
↑MeiryoKe_Consoleでの表示。ボタンは表示されました

いい感じ…と思いきや、上の「チャンネル」の文字がなんだか変?
別のタブを開くと、こんな感じになっていました。

APユーティリティ(MeiryoKe_Console適用)
↑横方向に文字が大きすぎ?字間が広すぎ?て、文字がすべて表示されていません

ちなみに、MeiryoKe_UIGothicの場合は、この画面はきちんと表示されます。

APユーティリティ(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"

を追加。再起動後、コマンドプロンプトを立ち上げて左上をクリック→「プロパティ」で設定→「同じタイトルのウインドウに適用する」で、次回起動からも有効になります。


まとめ
メイリオの設定をしたのはずいぶん前のことでしたので、忘れていることも多く、他サイトさんの記述に助けられながらの作業となりました。ありがとうございました。
もう語り尽くされているテーマのような気もしますが、備忘録的に置いておきます。
posted by にくす at 16:32| Comment(0) | TrackBack(0) | PCあれこれ | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。