minttyでConsolas+IPAゴシックで日本語を表示する

Windowsのコマンドプロンプトの代替品として使っているMintty(Git for Windowsに含まれている)で、ふと思い立ってフォントを変えてみた。英数字をConsolasやInconsolata、日本語をIPAゴシックで表示するよう設定してみたので備忘録。

前提環境

手順概要

  1. 使いたいフォントをダウンロード
  2. WindowsのFontLink機能で、ConsolasやInconsolataに無い文字をIPAゴシックで代替するよう設定
  3. Windowsから一度サインアウトし、サインインしなおす(再サインインしないと設定が反映されないため)
  4. 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のサポート外の機能なので、深追いはしないことにする。設定後のレジストリエディターは次のような感じ:

f:id:sgryjp:20191226210621p:plain

結果

f:id:sgryjp:20191226210651p:plain
Consolas
f:id:sgryjp:20191226210708p:plain
Consolas + IPAゴシック
f:id:sgryjp:20191226210752p:plain
Inconsolata
f:id:sgryjp:20191226210804p:plain
Inconsolata + IPAゴシック

雑感

Consolasと組み合わせた場合、IPAゴシックの字形が横長に引き延ばされている。Consolasの文字幅に合わせるために、あえて引き延ばしているのだろうか。まあこの程度の違和感であれば個人的には許容範囲だけれど。Inconsolataの場合は文字幅が引き延ばされることも無く、違和感は小さい。いずれのフォントを組み合わせた場合でも、IPAゴシックとウェイト(太さ)に若干の違いがあるので違和感が少し残る。どちらかといえばInconsolataの方が太さが近いだろうか。文字幅の問題も考えると、Inconsolata + IPAゴシックの方が好みかな。

それと、意図せずマニアックなUnicode文字「♡」なども表示できるようになったもよう。この文字、IPAゴシックに入っているのかな?まあどうでも良いけれど :)

補足1

ちなみに値のデータを次のようにすれば日本語文字にメイリオを使うこともできる:

MEIRYO.TTC,Meiryo,128,96
SEGUISYM.TTF,Segoe UI Symbol

その場合の表示は、次のような感じになる:

f:id:sgryjp:20191226210841p:plain
Consolas + メイリオ
f:id:sgryjp:20191226210900p:plain
Inconsolata + メイリオ

個人的な感覚としては、かな文字の右にある隙間が半角空白と見間違えやすく、好みではない。スケーリングパラメータ "128,96" をもっと突き詰めてやれば改善できるのかもしれないけれど、そこまでメイリオが好きなわけでもないので早々に諦めた次第。

補足2

Windows標準のコマンドプロンプト画面でもフォントリンク済みのConsolasやInconsolataを使うことができる。コマンドプロンプトを起動してシステムメニュー(Alt+Spaceで開くか、タイトルバーを右クリック)の「規定値」を選び、「フォント」タブでConsolasやInconsolataを選択すると、次回以降に起動したコマンドプロンプト画面のフォントが変わっているはず。ただ、この設定が有効になる画面と有効にならない画面があって、どうも規則性が分からなかった。また少し暇な時間があれば調べてみようかな。

f:id:sgryjp:20191226210938p:plain
コマンドプロンプトでConsolas + IPAゴシックを使用

補足3

なお自分がインストールしたGit for Windowsに付属の環境 (MinGW-W64) ではLANG環境変数がja_JP.UTF-8に設定されていたため、そのまま使うとVIMで文字化けが起こる(WindowsだしCP932でコンソール表示をしているのだと思う)。なので~/.vimrcを作成して次を追加してやらないと、フォントの設定が正しかろうと非ASCII文字が正常表示されないので注意。

set termencoding=utf-8