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


まえがき

こういうのとかこういうのを見て「僕もオシャンティー?なneovimにしたい」と思い調べると、Vim deviconsというものを使うみたい。
Vim deviconsをVimで使うにはnerd-fontsのパッチを当てたフォントじゃなきゃだめみたいで、そのことを知るのに一時間もかかった。Nerd Fontsを含むフォントを設定して、インストールするだけで対応するプラグインに Deviconsが表示されるようになります。と書いてあるのに…どうやら一部のフォントだけPatched Fontsと言ってすでにパッチが当てられたフォントがダウンロードできるそう。しかしパッチを当てたMenlo Fontはなかったから、自分でパッチを当てることにした。
>はコマンドです。

FontForgeeeee

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

インストール

ここにインストールの方法が書いてあるので試してみる。

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をダウンロードする。

ダウンロードして使えるようにする

ここにアクセス。
緑色になっている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~~~の問題は、解決しない。ここでこんなものを発見、ドンピシャでごわす。ここに書いてあるとおりにしてからもう一度やってみると、

 > 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...

上の2つめのコマンドは実行しないでください。追記見てください

おおおおおおおおーー、やったぜ!!上手く行きました!!、それで~/nerd-fonts-masterを見るとMenlo Regular Nerd Font.ttfというファイルが生成されています。このファイルを~/.fontsにコピー、で僕はTilixを使ってるからProfiles→Edit Profile→フォントウィンドウをクリックしてさっき生成したフォントを選択、それで完了。

確認 and 振り返り

neovimを開く。上手くアイコンが表示されました。

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

追記(重要)

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

ですが、

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

のほうがいいです。
-cは--completeのことで、ないとpowerline用のとかが入りません。とにかく-cもしくは--completeをつけることをおすすめします。

参考サイト

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さんありがとうございます。