メイリオのディセンダを変える

〔2007.02.28記〕〔2007.03.01追記(画像を追加)〕〔2007.03.04内容修正(手順を簡略化)〕

テンプレートとスタイルシートをいじってブログのデザインをすっきりした感じに変えたついでに本文に指定するフォントを MeiryoKe_Gothic(monospace) からメイリオ(sans-serif)に変更しました。ブラウザで使用するメインのフォントもメイリオにしました。

メイリオは、漢字・仮名に半角の英数字や各種記号が混じった日本語の文章を液晶ディスプレイで読むにはとても適している、とかなり以前から私は思っていました。ただ、「メイリオ系フォントについて(1)(2)」でも触れたように、メイリオはディセンダ(文字下部の空隙)が大きいため、このブログのように単語や文に背景色(インライン要素に対するバックグラウンドカラー指定)を使っている場合にその表示が不格好になるという理由でメイリオを使わずにいたのですが、ある程度まとまった長さの文章を表示するにはメイリオがやはり一番適していると、実際に変更してみて感じました。老眼のせいもあるでしょうが、半角文字のように文字と文字との間隔が詰まっているのはやはり読みにくいし、文章全体のバランスもあまりよくありません。ただし、サイドメニューの部分は幅が狭いのでその点を考慮して今まで通り MiryoKe_PGothic(sans-serif) のままにしました(それ以外は少数の例外を除きメイリオに変更)。

そんなわけで、本文の表示はメイリオに変更しましたが、自分で読むときくらいは適切なディセンダで表示したいと考えました。要は、メイリオのアセンダ(上部の空隙)とディセンダ(下部の空隙)を MeiryoKe と同じにすることですが、これは BREAKTTC.EXE と ttfname3.exe、および MAKETTC.EXE を使えばできます。つぎのように .batファイルを利用すればコマンドプロンプトに降りずに、エクスプローラや他のファイラー上で作業が可能です。


〔注記〕 meiryo.ttc と meiryob.ttc に対する作業を分けていましたが、まとめてやってしまった方が楽なので手順および batファイルの内容を変更しました。

(1) 「MSゴシックとMS明朝で、ClearTypeを有効にする」を参考にして BREAKTTC.EXE と MAKETTC.EXE を手に入れます。

(2) 「ttfname3」から ttfname3.exe を手に入れます。

(3) 作業用のフォルダを作成して(たとえば c:\work)、そこに BREAKTTC.EXE, ttfname3.exe, MAKETTC.EXE をコピーし、さらに Fontsフォルダから meiryo.ttc, meiryob.ttc をコピーしておきます。以後の作業はエクスプローラ等を使ってこの作業フォルダ上で行ないます。

(4) メモ帳を開きつぎの内容をコピー&ペーストし、"break.bat" という名前で作業用のフォルダに保存します。


rem --- meiryo.ttc, meiryob.ttc から .ttf ファイルを取り出し、ファイル名を短縮・変更する。

breakttc meiryo.ttc

ren FONT00.TTF mr.ttf

ren FONT01.TTF mri.ttf

breakttc meiryob.ttc

ren FONT00.TTF mrb.ttf

ren FONT01.TTF mrbi.ttf



rem --- .ttf からフォント情報を読み出して .xmlファイルに書き出す。

ttfname3 mr.ttf

ttfname3 mri.ttf

ttfname3 mrb.ttf

ttfname3 mrbi.ttf

(5) 作業用のフォルダで break.bat をダブルクリックして実行します。この結果、作業用のフォルダ内に mr.ttf, mri.ttf, mrb.ttf, mrbi.ttf ("メイリオ", "メイリオ イタリック", "メイリオ ボールド", "メイリオ イタリック ボールド" の ttf) が取り出され、それらからフォント情報を読み出した mr.xml, mri.xml, mrb.xml, mrbi.xml が作成されます。

(6) mr.xml をメモ帳にドラッグ&ドロップして開き、最初の "Header" 情報のうち Ascender, Descender, WinAscender, WinDescender の数値をつぎのように書き換えてから「上書き保存」します。mri.xml, mrb.xml, mrbi.xml についても同様に "Header" 情報を同じ数値で書き換えて「上書き保存」します。


Ascender="1962"  ← "2171" から "1962" に

Descender="-446"  ← "-901" から "-446" に

WinAscender="1962" ← "2171" から "1962" に

WinDescender="446" ←  "901" から  "446" に

(7) メモ帳を開きつぎの内容をコピー&ペーストし、"make.bat" という名前で作業用のフォルダに保存します。


rem --- 書き換えた情報を元にして新しい .ttf ファイルを作る。

ttfname3 mr.ttf mr.xml

ttfname3 mri.ttf mri.xml

ttfname3 mrb.ttf mrb.xml

ttfname3 mrbi.ttf mrbi.xml



rem --- 作成された新しい .ttf ファイルを組み込んだ meiryo_.ttc, meiryob_.ttc を作る。

makettc meiryo_.ttc mr_mod.ttf mri_mod.ttf

makettc meiryob_.ttc mrb_mod.ttf mrbi_mod.ttf

(8) 作業用のフォルダで "make.bat" をダブルクリックして実行します。この結果、作業用のフォルダ内に mr_mod.ttf, mri_mod.ttf, mrb_mod.ttf, mrib_mod.ttf が作成され、さらにこれらを二つずつ組み込んだ MEIRYO_.TTC, MEIRYOB_.TTC が作成されます(名前が大文字になっていますが、あとで名前を変えますので気にせずに…)。これがアセンダ、ディセンダを修正した新しい "メイリオ" と "メイリオ ボールド" です。

作業用に作成された mr.ttf, mri.ttf, mrb.ttf, mrbi.ttf や mr_mod.ttf, mri_mod.ttf, mrb_mod.ttf, mrib_mod.ttf や mr.xml, mri.xml, mrb.xml, mrbi.xml、あるいは break.bat, make.bat は用済みなので削除してしまってもよいですが、失敗したときのことを考えて MEIRYO_.TTC, MEIRYOB_.TTC と一緒にどこかのフォルダに保存しておくことをお勧めします。元ファイルの meiryo.ttc, meiryob.ttc はバックアップがあるなら削除してしまっても構いません。

こうしてできた MEIRYO_.TTC と MEIRYOB_.TTC をそれぞれ meiryo.ttc と meiryob.ttc という名前に変えて Fontsフォルダに上書きコピーします。その後でコンピュータを再起動すればこれらがディセンダを変更した新しいメイリオとして認識されます。

〔2007.03.01追記(画像を追加)〕

下はメイリオメイリオ_改(アセンダ/ディセンダを MeiryoKe と同じにしたメイリオ)、および MeiryoKe_Gothic の比較です。なお、IE6.0 と Firefox2.0.0.2 とではバックグラウンドカラーの表示が大分違いますので比較のために両者を示します。文字の大きさと line-height はこのブログの本文と同じ設定にしました。

IE6.0 での表示
メイリオ・メイリオ_改・MeiryoKe_Gothic IE6.0

Firefox2.0.0.2 での表示
メイリオ・メイリオ_改・MeiryoKe_Gothic Firefox2.0.0.02

(関連記事)