Git BashのフォントをRictyで表示する (Windows 7)


> **2016/7/4 追記**
> 現在のgitのバージョン(2.x以降)では、フォント変更の手順が変わります。
> また、現在のバージョンでは、MeiryoKeGothicをフォントリンクさせたInconsolataを使用するのが最も綺麗に表示できると思います。
> 手順はそのうち記事にします。

Windows 7 のGit Bashのフォントはコマンドプロンプトのフォントしか使用できない。
コマンドプロンプトのフォントは、デフォルトではMSゴシックか、ラスターフォントしか使用できない。
これらのフォントはとてもじゃないが見るに堪えないため、コマンドプロンプトのフォントを[Ricty](https://github.com/yascentur/Ricty)に変更する。
Windowsでの[Ricty](https://github.com/yascentur/Ricty)生成は、Cygwin/apt-cygが一番簡単に生成できたため、それを利用することにした。

# 前提条件

* OSはWindows 7
* [Git](https://git-scm.com/)がインストール済みであること
	※2015/07/11現在最新バージョンの1.9.5にて確認


# 目次

1. フォント準備
	* Inconsolata
	* Migu 1M

2. Cygwin作業
	* インストール(wgetと共に)
	* apt-cygインストール
	* apt-cygでgit/FontForgeインストール
	* Rictyをclone
	* フォント生成／文字間隔修正シェル実行

3. コマンドプロンプト設定
	* レジストリエディタでRictyを登録
	* Git Bashの表示フォント設定

# 手順

## フォント準備

### Inconsolata
[こちら](http://levien.com/type/myfonts/inconsolata.html)からダウンロードする。

### Migu 1M
[こちら](http://mix-mplus-ipa.osdn.jp/migu/)からダウンロードする。
zipファイルなので、解凍しておく。

## Cygwin作業

### インストール

[こちら](https://www.cygwin.com/)からCygwinインストーラーをダウンロードする。
「Current Cygwin DLL version」辺りの、"setup-x86.exe"か"setup-x86_64.exe"

ダウンロードしたインストーラを起動する。
基本、「次へ」を押しておけば良いが、「Choose A Download Site」が表示されたら
トップレベルドメインが日本のもの(\*.jp)を選択して「次へ」を選択。割と下の方にある。

「Select Packages」が表示されたら、検索テキストボックスに"wget"と入力して出現した
All - Web 配下にあるwgetのNewの部分をクリックしてバージョン番号を表示させる。
パッケージ名は右側に表示されている。

インストールが完了したらcyg-winを起動。

### apt-cygインストール

```bash
$ wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
$ chmod 755 apt-cyg
$ mv apt-cyg /usr/local/bin/
```

ついでにリポジトリも変更

```bash
$ apt-cyg -m ftp://ftp.iij.ad.jp/pub/cygwin/ update
```

### git ／ FontForge インストール

```bash
$ apt-cyg install git fontforge
```

### Rictyをclone

```bash
$ mkdir git
$ cd git
$ git clone https://github.com/yascentur/Ricty.git
```

### フォント生成／文字間隔修正シェル実行

ダウンロードしたフォントをcloneしたフォルダに配置する。
Cygwinをインストールしたフォルダが`D:\cygwin64`の場合、
`D:\cygwin64\home\{ユーザ名}\git\Ricty`に配置。
配置後、以下のスクリプトを実行。（ちょっと時間がかかる）

```bash
$ cd /Ricty
$ ./ricty_generator.sh Inconsolata.otf migu-1m-regular.ttf migu-1m-bold.ttf
```

やっとこさフォントが生成されたが、このまま使用してしまうと、文字間が広すぎて使い物にならない。
ので、文字間を調整するスクリプトを実行

```bash
$ misc/os2version_reviser.sh Ricty-*.ttf RictyDiscord-*.ttf
```

生成されたフォントをWindowsエクスプローラで開き、生成されたフォントをインストールする。

## コマンドプロンプト設定

### レジストリエディタでコマンドプロンプトのフォントを設定

レジストリエディタを起動して、以下のパスに移動
```
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
```
右ペインを右クリックし、新規 -> 文字列値
サブウィンドウが表示されたら、
値の名前を"932."、値のデータを"Ricty"と入力し、「OK」押下。

レジストリエディタを閉じる。

### Git Bashのフォント設定
スタートメニューのGit Bashのショートカットを右クリックして「プロパティ」を選択。
フォントタブを押下すると、フォントに「Ricty」が表示されているので、それを選択。
フォントサイズは大きめの方が綺麗に表示される。(20前後がおすすめ)

「OK」を押下すると、アクセス拒否画面が出るが、「続行」を押下。
次回以降、Git Bashを起動すると設定したフォントで表示される。

やったー！綺麗なフォントで表示されたよー！

・・・と思いきや、`ls`の日本語が文字化けして表示されるため、
aliasを設定する。

```bash
$ vi ~/.bash_profile
```

以下の値を設定

```
alias ls='ls --show-control-chars'
```

Git Bashを再起動すれば、完了。

![gitbash.png](https://qiita-image-store.s3.amazonaws.com/0/85952/f65b94ac-7501-017d-74ec-6392d3bda3d3.png)

綺麗になったね！

文字化けを完全に解消するためにはまだ色々設定が必要だけど、とりあえずはこれで良しとしよう。
詳細は、参考記事「[msysgit で日本語を使いたい](http://qiita.com/kumazo@github/items/2169e1ee7be278f82b94)」を参照のこと。

# 参考
* [msysgit で日本語を使いたい](http://qiita.com/kumazo@github/items/2169e1ee7be278f82b94) Qiita
* [Cygwinのインストールとapt-cygのインストール](http://qiita.com/FSMS/items/68b5956301d987d1be2b) Qiita
* [Windows7&CygwinでRictyフォント生成](http://qiita.com/ll_kuma_ll/items/97b4fa5af8cde9d74d03) Qiita
* [Windows8：コマンドプロンプトのフォント変更](http://sandbox.hatenadiary.com/entry/2013/06/01/165431) すなばあそび。