気になるフォント
M+ Fonts (M+フォント)
M+ FONTS は日本人が開発しているフォントで、 つい最近もプログラミングにベストなフォントとして紹介されたりしてます。
特にRetinaの様な高解像度の時に良いとのこと。 低解像度ならTerminus というフォントの方が良い、とも。
M+は日本人が開発者ということもあって日本語にも対応しています。 ただし、対応している日本語が少なかったりすることとかもあって、 M+に漢字を加えたりして再配布されてるものとかも結構あります。
Webフォントとして使えるようにもなっています。
また、 M+Web FONTS Subsetter と言った、M+フォントの一部のみを取り出してフォントファイルを作れるWebサービスも ある様です。
Migu 1M
M+フォントにIPAゴシックを合成し、 さらに改変したもの。
通常のM+フォント(もしくはそれベースのMigMix)に比べ、 行間が狭いのとカ、力みたいなカタカナ漢字 の区別なんかが入ってるのがいい感じ。
Terminus-ja フォント
Terminusに日本語フォントを追加したもの。
今回見てませんが一応メモとして。
Windowsでのフォント
これまで使っていたフォント
MinttyやPuTTYではConsolasというフォント(Bold
で)を使っていました。
ConsolasはWindowsで標準で入ってる等幅英字フォントですが、 何故か最初から表示になっています。
日本語も表示されますが、この場合は他のフォントを借りてる?
Macで使ってるCourier Newもインストールされてますが、 こちらは非表示になっています。 上の方法で表示させて使ってみると、こちらも日本語も一応表示されました。
インストールされてるフォントを有効化
Windows 7以降だとWindows標準のフォント設定(?)を使ってるソフトだと、インストールされてるフォントのうち、 言語設定によって表示されるフォントと表示されないフォントがあります。
選択した言語に対応しないフォントの場合は表示されない様になっています 1。
Windows 7にもCourier Newとかのフォントが入ってるんですが、 日本語が含まれてないのでMinttyやPuTTYのフォント選択では表示されません。
これら非表示のフォントを使いたい場合には フォントを表示する様にしないといけません。
コントロールパネル デスクトップのカスタマイズ フォント へ行くと
こんな感じで色々とフォントがありますが、 現在の言語設定で表示になっているものは濃く表示され、 非表示になってるものは薄く表示されています。
Courier Newなんかはデフォルトでは非表示になっています。
これをPuTTYとかで表示させるには、フォントを選んで上のバーにある
表示
ボタンを押すか、または右クリックして出てくる表示
の項目をクリックします。
もしくは、左のリストにあるフォント設定に行くと、 入力言語の設定に基づいて一部のフォントを非表示にする という項目があるので、これのチェックを外すと全てのフォントが表示される様になります。
フォントのインストール
インストールはフォントファイル(*.ttf
、*.otf
、*.fon
等)を取ってきて
ダブルクリックしてウィンドウを表示させて出てくるインストール
ボタンを押すか、
フォントファイルを右クリックして表示されるインストール
をクリックします
(こちらなら複数まとめて可)。
もしくはフォントファイルを直接上で表示させたフォントフォルダに コピーしてもOK。
アンインストールはフォントフォルダで該当するフォントファイルを選んで 削除すればアンインストールされます。
Chocolatey なんかでもフォントのパッケージファイルが幾つかは用意されている模様。
Mac
これまでのフォント
これまでiTerm2では英字フォントにCourier New(Bold
)、
日本語フォントにOsakaを使っていました。
今見たらMacでもConsolasが入ってました。 (Officeインストール時とかにインストールされた?)
フォントの管理
Macでもフォントファイルを取ってきてフォントファイルをダブルクリックすれば フォントのウィンドウが出てきてそこからインストール出来ます。
フォントの管理はFont Book.app
というアプリが用意されてるので
これでアンインストールしたりすることも簡単に出来ます。
また、HomebrewでもCask経由でフォントをインストール出来る様になっています。
この中に、M+のフォントも用意されています(6月に追加された模様)。
font-m-plus.rb: https://github.com/caskroom/homebrew-fonts/blob/master/Casks/font-m-plus.rb
インストールは簡単で
$ brew tap caskroom/homebrew-fonts
$ brew cask install font-m-plus
だけ。
追記: 2022/08/06
現在は
- https://github.com/Homebrew/homebrew-cask-fonts/blob/master/Casks/font-m-plus-1.rb
などに入っていて、
$ brew install homebrew/cask-fonts/font-m-plus-1
などで入れられます。
追記ここまで
Homebrew-FontsにはMiguは用意されてなかったので、自分で用意しました。
Migu 1Mをインストールしたい場合には
$ brew tap rcmdnk/homebrew-rcmdnkcask
$ brew cask install font-migu1m
でOK。
比較
Consolas/Coueier New/Migu 1M (Normal)の比較。
WindosのPuTTYで表示した時の様子です。
Vimの中で、 Insertモードではカーソル行を
au InsertEnter * hi CursorLine cterm=bold
の様にBold
にする設定にしてあります。
Migu 1Mが一番幅狭なことが分かります。
それから、PuTTYでみると、Courier NewとConsolasの場合は 日本語フォントの部分がカーソル行の部分では幅が少し大きくなっています。
下にありますが、これはBold
にした場合だけではなくて
下線を引いた場合でも同じ様に大きくなっています。
ずっと気になっていた部分なんですが、 Migu 1Mの方では日本語フォントがもともと入っているからか、 その様な事はありません。
ちなみにCygwinだと同じフォントでも大きさが変わったりはしません。
以下ではWindows(PuTTY)/Mac(iTerm2)でのそれぞれの場合の様子。
Windows(PuTTY)
Consolas/Coueier New/Migu 1M (Normal/Bold)比較
- Consolas
- Consolas, Bold
- Courier New
- Courier New, Bold
- Migu 1M
- Migu 1M, Bold
Mac(iTerm2)
Consolas/Coueier New/Migu 1M (Normal/Bold)比較
- Consolas
- Consolas, Bold
- Courier New
- Courier New, Bold
- Migu 1M
- Migu 1M, Bold
まとめ
全体的にはMigu 1Mが一番幅狭で良い感じ。
WindowsのPuTTYでは
英数字の部分は、
VimでBold
にした場合ともともとフォントで
Bold
に設定している状態と同じ様に見えます。
Bold
で設定した状態でインサートモードでカーソル行にしても
そうでない場合と同じに見えます。
日本語の部分は何らか下線なりBold
なりにしようとすると
Migu 1M以外では少し大きくなります。
MacのiTerm2では元がRegular
(Normal)でもBold
でも
VimでBold
に設定するとさらに濃くなります。
取り敢えずせっかく入れてみたのでMigu 1M(Normal)を使ってみようかなと思います。
追記
ちょっと使ってたら、PuTTY+Migu 1Mで不具合が有りました。
こんな感じでls
した時に表示される文字の濁点部分がおかしくなります。
ls
でcolor表示を辞めたりfind
で表示してみても
同じ様にバグります。
最初、GNU screenのせいかな?とかも疑ったのですがscrenを起動してない時でも同様におかしくなりました。
ただ、Vimを起動して同じ文字列を打ってもおかしくなりません。
表示されたものをコピペしたりls > test.txt
として書き込んでみるとやはり
おかしな表示になります。
下の絵は上の方がコピペしたもの、最後のはVimで直接書き込んだもの。
これらの文字で検索してみたりすると区別されてるので どうも文字コード自体?がおかしくなってるみたい?です。
同じWindowsでもCygwinで表示してみるとバグりません。
どうにも出来ない様なのでPuTTYではConsolasを使おうと思います。
追記ここまで
。 ただし、Microsoft Office等、そうでないものもあります。 Officeの場合なんかだと文字ごとにフォントが選べるし、 日本語設定でも日本語用フォントと英数字用フォントが別に選べる様になってたりもするので。 ↩