2012/03/02

Meadow フォントなどの設定

フォントを Inconsolata & MiryoKe_Gothic へ
デフォルトのままでは英字は小さく、日本語は大きく、アンバランスで読みにくいと感じたので、フォントの代替を含めて検討してみる。

Inconsolata
http://www.google.com/webfonts/specimen/Inconsolata
英数字は、プログラムに使うことを考えると、数字の「0」と英字の「O」の判別が明確であることが重要。同じように数字の「1」と英小文字の「l」など。そういう基準で探すと、Inconsolataがよかった。プログラム用としては人気のフォントのようだ。マイクロソフトのConsolasもよかったけど、フリーで優れたものがあるなら、そちらを応援したい。


メイリオ フォント
マイクロソフト Windows XP 向け ClearType 対応日本語フォント
問題は日本語なのだが、今までMSゴシックを使っていたが、小さい文字はビットマップでギザギザ。これが文字の並びによっては結構きつい。そこでマイクロソフトのClearTypeのメイリオ フォントの登場。よく調整されているフォントで小さい文字でも視認性がよいが、字間の幅が可変になってしまう。文字の固定幅(等幅)利用は、まだまだ健在なので、メイリオをいじった固定幅のMeiryoKe_Gothicを使うことにした。このフォントはメイリオ フォントにmeiryoKeジェネレータというパッチを当てて生成する。いろいろ微妙な気もするので、あえてリンクは貼りません。気になる人は検索して調べてください。MSゴシックの代替として使えるのでXPのシステムフォントとしてもスムーズな導入が可能。下のサンプルを見るとわかると思うが、オリジナル メイリオだと見た目のバランスは良いのだが、横に長くなってしまう。特に英数字がMSゴシックとは全く違う幅。


なお MeiryoKe_Gothic のフォントセットには以下の4種類が含まれている。

Meadowの設定
.emacsに書き込むことで適用する。英数字はInconsolata、日本文字はMeiryoKe_Gothicを表示するように設定した。
(w32-add-font
"fontset-meiryoke"'((strict-spec((:char-spec ascii :height any)
(w32-logfont "Inconsolata" 0 17 400 0 nil nil nil 0 1 3 49))
((:char-spec ascii :height any :weight bold)
(w32-logfont "Inconsolata" 0 17 700 0 nil nil nil 0 1 3 49))
((:char-spec ascii :height any :slant italic)
(w32-logfont "Inconsolata" 0 17 400 0 t nil nil 0 1 3 49))
((:char-spec ascii :height any :weight bold :slant italic)
(w32-logfont "Inconsolata" 0 17 700 0 t nil nil 0 1 3 49))
((:char-spec japanese-jisx0208 :height any)
(w32-logfont "MeiryoKe_Gothic" 0 17 400 0 nil nil nil 128 1 3 49))
((:char-spec japanese-jisx0208 :height any :weight bold)
(w32-logfont "MeiryoKe_Gothic" 0 17 700 0 nil nil nil 128 1 3 49)
((spacing . -1)))
((:char-spec japanese-jisx0208 :height any :slant italic)
(w32-logfont "MeiryoKe_Gothic" 0 17 400 0 t nil nil 128 1 3 49))
((:char-spec japanese-jisx0208 :height any :weight bold :slant italic)
(w32-logfont "MeiryoKe_Gothic" 0 17 700 0 t nil nil 128 1 3 49)
((spacing . -1)))
((:char-spec katakana-jisx0201 :height any)
(w32-logfont "MeiryoKe_Gothic" 0 17 400 0 nil nil nil 128 1 3 49))
((:char-spec katakana-jisx0201 :height any :weight bold)
(w32-logfont "MeiryoKe_Gothic" 0 17 700 0 nil nil nil 128 1 3 49)
((spacing . -1)))
((:char-spec katakana-jisx0201 :height any :slant italic)
(w32-logfont "MeiryoKe_Gothic" 0 17 400 0 t nil nil 128 1 3 49))
((:char-spec katakana-jisx0201 :height any :weight bold :slant italic)
(w32-logfont "MeiryoKe_Gothic" 0 17 700 0 t nil nil 128 1 3 49)
((spacing . -1)))
)))
(setq default-frame-alist
(append (list'(font . "fontset-meiryoke"))default-frame-alist))
結果は以下のような表示を実現。英数字も日本語もそこそこのバランスで表示されている。

ちなみに下がデフォルトの状態。日本語と英数字のバランスが悪く、混在すると読みにくくなる。


ClearType Tuning
http://www.microsoft.com/typography/ClearTypePowerToy.mspx
実は今までClearTypeの文字を積極的には使っていなかった。ビットマップのシャキっとした文字に比べボケた印象があったからだ。でも実は調整することでかなり印象が変わることを発見。マイクロソフトからClearType Tuningというコントロールパネルのソフトをダウンロードして調整する。

メインで使うフォントが一番きれいに見えるように調整する。結構微妙で、フォントによって最適値は違うように思えたし、フォントサイズでも違う。この調整をしないとClearTypeのよさは実感できない。下は同じフォントだが、設定が違うと大きく違って見える例。