created: 2019-06-15 24:00, tags: emacs, all-the-icons.el,

all-the-icons.el を入れたけど icon が正しく表示出来ない

mode-line に icon を表示するために all-the-icons.el を導入して、モードラインの表示が崩れた事が前にあった。

その原因は調べていくと、どうも all-the-icons.el で表示しようとしている icon でエラーを吐いているという物だった。

下記コマンドで使用する font をインストール出来るのだけど、問題はインストールしたファイルにある場合がある。

M-x all-the-icons-install-fonts

僕が遭遇した問題は、mode-icons で管理している xpm ファイルの中に Windows の PATH が設定されていた事が問題だった。使っているのは Mac なので何をどう頑張っても存在しない。

Emacs で ivy を使っていて、ivy モードが上がるとこの xpm ファイルを開く流れになり、PATH が不正でエラーを吐くという状態だった。

mode-icons/icons/ivy.xpm

/* XPM */
static char * c:\EmacsPortable_App\Data\src\mode_icons\icons\ivy_xpm[] = {
"16 16 2 1",
" 	c None",
".	c #000000",
"       ..       ",
"       ..       ",
"      ....      ",
"      ....      ",
"     ......     ",
"     ......     ",
"    .......     ",
".... ...... ....",
"................",
"............... ",
" .............. ",
"  ............  ",
"   ..........   ",
"   ....  ....   ",
"   ..........   ",
"    ...  ...    "};

とりあえず自分の端末で解決させる手段として直接ファイルを下記のように修正した。

static char * ivy_xpm[] = {

こちらで問題なく動作しているため、PATH は必要ないと思うんだけど、今はこれで困っていないので、まぁいいかという感じ。