Vim Deviconsで使えるフォントにするためにnerd-fontsのパッチを当てる。

## まえがき
[こういうの](https://tmnm.tech/2017-10-11-vim-setting-with-cica/)とか[こういうの](https://qiita.com/reireias/items/beaa3bb0e299ae934217#vim-airline)を見て「僕もオシャンティー？なneovimにしたい」と思い調べると、Vim deviconsというものを使うみたい。
Vim deviconsをVimで使うにはnerd-fontsのパッチを当てたフォントじゃなきゃだめみたいで、そのことを知るのに一時間もかかった。**Nerd Fontsを含むフォントを設定して、**インストールするだけで対応するプラグインに Deviconsが表示されるようになります。と書いてあるのに…どうやら一部のフォントだけPatched Fontsと言ってすでにパッチが当てられたフォントがダウンロードできるそう。しかしパッチを当てたMenlo Fontはなかったから、自分でパッチを当てることにした。
※`>`はコマンドです。

##FontForgeeeee
パッチを当てるにはFontForgeというフォントエディタ?が必要みたいだからインストールする。

### インストール
[ここ](https://github.com/fontforge/fontforge/blob/master/INSTALL-git.md#installing-fontforge-from-git-source-code)にインストールの方法が書いてあるので試してみる。

```
mkdir -p ~/src/github.com/fontforge;
cd ~/src/github.com/fontforge;
git clone https://github.com/fontforge/fontforge.git;
```

ok

```
sudo apt-get install packaging-dev pkg-config python-dev libpango1.0-dev libglib2.0-dev libxml2-dev giflib-dbg libjpeg-dev libtiff-dev libspiro-dev build-essential automake flex bison;
```

okじゃない、

```
E: Unable to locate package giflib-dbg
```

giflib-dbgが見つからないみたい。

### 対処その一
~/etc/apt/sources.listに

```
deb http://archive.ubuntu.com/ubuntu bionic main universe
deb http://archive.ubuntu.com/ubuntu bionic-security main universe
deb http://archive.ubuntu.com/ubuntu bionic-updates main universe
deb [arch=ppc64el,amd64,arm64] http://ftp.utexas.edu/mariadb/repo/10.3/ubuntu bionic main
```

を追加する。それで、

```
 > sudo apt update

 > sudo apt install giflib-dbg
E: Unable to locate package giflib-dbg
```

うまくできませんでした。

### 対処その二
ubuntu packagesでどのリポジトリか調べる、そして見つかったらamd64をクリック、リポジトリが書いてあった。

```
deb http://cz.archive.ubuntu.com/ubuntu xenial main
```

sources.listに追加する、それから

```
 > sudo apt update

 > sudo apt install giflib-dbg
E: Unable to locate package giflib-dbgsudo
E: Unable to locate package install

 > sudo apt-get install giflib-dbg
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 giflib-dbg : Depends: giflib-tools (= 5.1.2-0.2) but 5.1.4-2 is to be installed
              Depends: libgif7 (= 5.1.2-0.2) but 5.1.4-2 is to be installed
              Depends: libgif-dev (= 5.1.2-0.2) but 5.1.4-2 is to be installed
E: Unable to correct problems, you have held broken packages.
```

うむ、上手くいかんaptとapt-getで何が違うのかは調べないとわからないが、上手く行かない。
一回、autoremoveしてみてはどうだろうか？

```
 > sudo apt autoremove giflib-dbg
 > sudo apt install giflib-dbg
```

上手く行かない、ここでSoftware Managerでインストールできることを知る。
検索:fontforge
fontforge:インストール、クリック。
パスワード:***********
依存〜〜〜:インストール
完了。

## nerd-fonts
Fonts Patcherをダウンロードする。

####ダウンロードして使えるようにする
[ここ](https://github.com/ryanoasis/nerd-fonts)にアクセス。
緑色になっているclone or downloadをクリック、Download ZIPをクリックでダウンロード。
ダウンロードできたら、解凍してnerd-fonts-master(フォルダ)をhomeディレクトリに配置、それで

```
 > fontforge -scrpt  <font-patcher_PATH> <font_PATH>
```

でおそらくok、僕の場合は、

```
 > fontforge -script ~/nerd-fonts-master/font-patcher ~/.fonts/Menlo-Regular.ttf

Nerd Fonts: configparser module is probably not installed. Try `pip install configparser` or equivalent
```

しかしここで問題発生、言うとおりにしてみると、

```
 > pip install configparser
zsh: correct 'pip' to 'pip3' [nyae]?

 > pip3 install configparser
```

pip3の方は上手く行ったが、Nerd Fonts: configparser module is~~~の問題は、解決しない。ここで[こんなもの](https://github.com/ryanoasis/nerd-fonts/issues/321)を発見、ドンピシャでごわす。ここに書いてあるとおりにしてからもう一度やってみると、

```
 > sudo apt install python-configparser

 > fontforge -script ~/nerd-fonts-master/font-patcher ~/.fonts/Menlo-Regular.ttf
Copyright (c) 2000-2014 by George Williams. See AUTHORS for Contributors.
~~ ~~ ~~ ~~ ~~ ~~ 
Adding 53 Glyphs from Seti-UI + Custom Set 
╢████████████████████████████████████████╟ 100%
Adding 198 Glyphs from Devicons Set 
╢████████████████████████████████████████╟ 100%

Done with Path Sets, generating font...
```

<kbd>上の２つめのコマンドは実行しないでください。追記見てください<kbd\>

おおおおおおおおーー、やったぜ!!上手く行きました!!、それで`~/nerd-fonts-master`を見ると`Menlo Regular Nerd Font.ttf`というファイルが生成されています。このファイルを`~/.fonts`にコピー、で僕はTilixを使ってるからProfiles→Edit Profile→フォントウィンドウをクリックしてさっき生成したフォントを選択、それで完了。
### 確認 and 振り返り
neovimを開く。上手くアイコンが表示されました。
![vim001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/448552/02d168f6-b042-6349-981c-f9b1cb59c215.png)

やること自体はすごく簡単でしたが僕の情報収集能力が低いせいか、二、三時間かかりました。

#追記(重要)

```
 > fontforge -script ~/nerd-fonts-master/font-patcher ~/.fonts/Menlo-Regular.ttf
```
ですが、

```
> fontforge -script ~/nerd-fonts-master/font-patcher ~/.fonts/Menlo-Regular.ttf -c
```
のほうがいいです。
<kbd>-cは--completeのことで、ないとpowerline用のとかが入りません。とにかく-cもしくは--completeをつけることをおすすめします。<kbd/>


##参考サイト
http://yukimemi.github.io/post/2017-10-07_use-vim-devicons/
https://tmnm.tech/2017-10-11-vim-setting-with-cica/
https://crowrabbit.hatenablog.com/entry/2019/05/19/ubuntu%E3%81%ABNerd-Fonts%E3%82%92%E5%B0%8E%E5%85%A5
https://qiita.com/nechinechi/items/27f541849db04123ea15

**間違っているところなどあれば指摘してもらえると感謝します。**
編集(2019.07.01) タグ修正しましたよっと。@shiracamusさんありがとうございます。