今日は、一日中、フォントの調査をしていた。(笑)
メイリオの高さ等を変更できるツールを発見。
"メイリオ UI"というフォントを作ってみた。
行間の空きの問題はクリアできそうだが、やはり、"MS UI Gothic"を前提とダイアログが設計されているので、フォントサイズがでかくなると問題が多い。
Visual Studioのファイルダイアログなんかは、1000pxを超えるような幅になって表示された。
そういうわけで、この"メイリオ UI"を標準として使うのは断念した。
フォントについて調べていくうちに、Consolasというフォントを知った。
MSが、Visual Studio 2005のユーザー向けにリリースしている言語用のフォントで、Vistaにも標準搭載されるようだ。ClearType対応(専用?)で、かなり絶賛されている。
言語用だけあって、ゼロ0に斜線が入っているなど、誤認識しないようなデザインになっている。
今後、このフォントがVisual Studioの標準フォントになっていくものと思われる。
Consolasは、インストーラで配布されており、Visual Studio 2005がインストールされていないとインストールできないようになっている。また、インストールすると、Visual Studio 2005の設定が変更され、Consolasがデフォルトフォントになる。Consolasフォント自体は普通のTrueTypeなので、インストール後、別のところに保存しておけば、インストーラを使う必要はない。
さらに調査をしていくと、FontLinkというWindows 2000からの機能について発見。
要は、英語フォントを指定しても日本語が表示されるのは、このFontLinkという機能のおかげで、ある特定のフォントで表示できない場合に、別のフォントを探すように指定できるわけだ。
これにより、英語フォントで表示できない場合に、FontLinkをたどって別のフォントを探し、それで表示しているらしい。
Consolasは、ClearType対応なので、当然、対応してほしい日本語フォントはメイリオなわけで、これが実現できれば、開発環境でClearTypeが使えるということになる。
そんなわけで、レジストリを設定してみたんですが、そんなに甘くはない。うまくいきませんでした。
まず、メモ帳などで試すと、日本語はメイリオで描画されるのですが、文字の幅が半角文字と同じサイズで表示されてしまいます。文字にカーソルを持っていくと、ちゃんと全角分だけ反転するのですが、文字が表示されいているのが半角分だけ。TeraTermでやっても同じ状況で、これらについては断念しました。
本命のVisual Studio 2005とEclipseで試してみましたが、こいつらは、FontLinkが働かず、ConsolasとMSゴシックで表示されてしまいます。(がっくり)
そのあと、Meiryoの半角部分をConsolasで置き換える方法がないかと探しましたが、2chでそんな内容は発見したのですが、お目当てのフォントは見つけられませんでした。
で、次に何を考えたかというと、プロポーショナルなメイリオを等幅に変換できないかなと。
2,3時間検索していたのですが、MeiryoKeというものを発見しました。
メイリオは、全角文字は固定幅で、半角文字はプロポーショナルになっているので、これを変更して、固定幅のメイリオに変換してしまうパッチでした。これにより生成されたフォントをMeiryoKeというそうです。公開されているのはパッチであり、フォント本体ではありません。
このパッチを当てると、MSゴシック、MSPゴシック、MSUIGothicに相当するようなフォントMeiryoKe_Gothic, MeiryoKe_PGothic, MeiryoKe_UIGothicを生成してくれます。
さっそく、MeiryoKe_Gothicをいろんなソフトに割り当ててみました。かなりいい。
Visual Studio 2005でも、Eclipseでも、秀丸でも期待通りに表示されます。
問題は、Consolas + MSゴシックとMeiryoKe_Gothicのどっちがいいかです。
これまでMSゴシックを使ってきたので、MeiryoKe_Gothicの方が違和感がありません。英数字もゴシックに近いですし、日本語もClearTypeが効きますし。
しかし、Consolasの方が慣れたら見やすそうなんです。ただ、MSゴシックなんです。
慣れればなれるほど、MSゴシックってClearTypeじゃないんです。(変な日本語だけど)
うーん、どうしようかな。
たぶん、WUXGAのノートを買うと、文字が大きいMeiryoKeの方が見やすいと思うんだが...。
だれか、MeiryoKe + Consolasを作ってくれないかな...。

コメントする