Windowsのコマンドプロンプトの代替品として使っているMintty(Git for Windowsに含まれている)で、ふと思い立ってフォントを変えてみた。英数字をConsolasやInconsolata、日本語をIPAゴシックで表示するよう設定してみたので備忘録。
前提環境
- Windows 10 Home (v1703, build 15063.483)
- Mintty 2.7.3 (Git for Windows 2.13.0 に同梱されているもの)
- IPAゴシック 003.03 (TTF配布版)
- Consolas 6.96 (Windows 10同梱のもの)
- Inconsolata 2.000 (Google Fontsで入手)
手順概要
- 使いたいフォントをダウンロード
- IPAゴシック
- Inconsolata (Google Fonts)
- WindowsのFontLink機能で、ConsolasやInconsolataに無い文字をIPAゴシックで代替するよう設定
- Windowsから一度サインアウトし、サインインしなおす(再サインインしないと設定が反映されないため)
- MinttyでConsolasやInconsolataを選択
手順2だけ、もう少し詳細に。まずレジストリエディターで次のキーを開く:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
続いて、ConsolasにIPAゴシックを組み合わせたい場合、「複数行文字列値」を新しく作成して、値の名前を「Consolas」、値のデータとして以下を設定する(IPAゴシックをTTF版でインストールしている場合):
IPAG.TTF,IPAGothic
SEGUISYM.TTF,Segoe UI Symbol
InconsolataにIPAゴシックを組み合わせたい場合も、Consolasの場合と同じように設定する。ただ、自分の環境では「Inconsolata」という名前の値を作っただけではフォントリンクが有効化されなかったので「Inconsolata」、「Inconsolata Regular」、「Inconsolata Bold」の合計3つの値を作成したところ、うまくいった。理由はよく分からないけれど、そもそもフォントリンク自体がMicrosoftのサポート外の機能なので、深追いはしないことにする。設定後のレジストリエディターは次のような感じ:
結果
雑感
Consolasと組み合わせた場合、IPAゴシックの字形が横長に引き延ばされている。Consolasの文字幅に合わせるために、あえて引き延ばしているのだろうか。まあこの程度の違和感であれば個人的には許容範囲だけれど。Inconsolataの場合は文字幅が引き延ばされることも無く、違和感は小さい。いずれのフォントを組み合わせた場合でも、IPAゴシックとウェイト(太さ)に若干の違いがあるので違和感が少し残る。どちらかといえばInconsolataの方が太さが近いだろうか。文字幅の問題も考えると、Inconsolata + IPAゴシックの方が好みかな。
それと、意図せずマニアックなUnicode文字「♡」なども表示できるようになったもよう。この文字、IPAゴシックに入っているのかな?まあどうでも良いけれど :)
補足1
ちなみに値のデータを次のようにすれば日本語文字にメイリオを使うこともできる:
MEIRYO.TTC,Meiryo,128,96
SEGUISYM.TTF,Segoe UI Symbol
その場合の表示は、次のような感じになる:
個人的な感覚としては、かな文字の右にある隙間が半角空白と見間違えやすく、好みではない。スケーリングパラメータ "128,96" をもっと突き詰めてやれば改善できるのかもしれないけれど、そこまでメイリオが好きなわけでもないので早々に諦めた次第。
補足2
Windows標準のコマンドプロンプト画面でもフォントリンク済みのConsolasやInconsolataを使うことができる。コマンドプロンプトを起動してシステムメニュー(Alt+Spaceで開くか、タイトルバーを右クリック)の「規定値」を選び、「フォント」タブでConsolasやInconsolataを選択すると、次回以降に起動したコマンドプロンプト画面のフォントが変わっているはず。ただ、この設定が有効になる画面と有効にならない画面があって、どうも規則性が分からなかった。また少し暇な時間があれば調べてみようかな。
補足3
なお自分がインストールしたGit for Windowsに付属の環境 (MinGW-W64) ではLANG
環境変数がja_JP.UTF-8
に設定されていたため、そのまま使うとVIMで文字化けが起こる(WindowsだしCP932でコンソール表示をしているのだと思う)。なので~/.vimrc
を作成して次を追加してやらないと、フォントの設定が正しかろうと非ASCII文字が正常表示されないので注意。
set termencoding=utf-8