シェル zsh の便利な設定をまとめて導入可能な prezto を Cygwin の mintty で使うときに,綺麗なフォントが使えるようにするための備忘録です.これ以外の prezto 関係の備忘録は,
からどうぞ.なお,以下の不具合は修正されたようです.詳しくは,
をご覧ください.
また,Windows 10 1809 の場合,Inconsolata フォントと mintty の組み合わせだと Unicode 記号の一部の表示に問題が出ます.この場合は,
にある DejaVu Sans Mono for Powerline.ttf だと問題ないようです.
なお,本記事は,以下のページを参考にしています.
Windows 10 Aniversary Update をしたら,mintty on Cygwin のフォントがうまく表示されなくなっていて,しばらく必要な設定を思い出せず,試行錯誤してしまったので,きちんとメモしておくことにします.なお,フォントは Inconsolata を前提とします.また,UTF-8 を標準の文字コードとして用います.
まず,見易いフォントとして,Inconsolata を導入します.
にありますのでダウンロードします.Inconsolata 以外にも多くのフォントがダウンロード可能ですが,今回必要なのは
- Inconsolata-Regular.ttf
- Inconsolata-Bold.ttf
です.上のページの ofl/inconsolata 以下にあります.
次に Inconsolata は欧文フォントなので,レジストリを変更し,日本語フォントをリンクします.レジストリエディタで,
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
を辿り,右側のウインドウで右クリックして「新規」「複数行文字列値(M)」を選択し,新たな Key として,Inconsolata を作成します.
次に同じウインドウから,Meiryo というキーを探し出し,ダブルクリックして,「値のデータ」に書かれている内容をコピーしておきます(以下の内容のはずです).
SEGUISYM.TTF,Segoe UI Symbol SEGOEUI.TTF,Segoe UI SEGOEUI.TTF,Segoe UI,133,83 YUGOTHM.TTC,Yu Gothic UI,128,96 YUGOTHM.TTC,Yu Gothic UI MSGOTHIC.TTC,MS UI Gothic MSJH.TTC,Microsoft Jhenghei,128,96 MSJH.TTC,Microsoft JhengHei MSYH.TTC,Microsoft YaHei,128,96 MSYH.TTC,Microsoft YaHei MALGUN.TTF,Malgun Gothic,128,96 MALGUN.TTF,Malgun Gothic
この内容を先ほど作成した Inconsolata キーをダブルクリックして現れる「値のデータ」にコピーして再起動します.
再起動後,mintty のフォントの設定を Inconsolata にすれば終わりです.なお,メニューからではなく,設定ファイルで Inconsolata にするには,
$ vi ~/.minttyrc .... BellFlash=no BellTaskbar=yes Font=Inconsolata Locale=ja_JP Charset=UTF-8 ....
の様に,Font=Inconsolata とすれば OK です.
なお,この設定で表示されるプロンプトは,prezto の sorin テーマのものなのですが,これ以外の,例えば powerline テーマを使おうとしても上手くいきません.フォントの合成等をきちんと行えば良いのかも知れませんが面倒なので試していません.powerline テーマの見た目は好きなので,少し残念なんですけどね.