概要
みなさんこんにちはcandleです。
今回はemacsのpowerlineが文字化けしてしまうのを修正する方法を紹介します。
こちらのサイトを参考にさせていただいています。
https://griffio.github.io/utils/2016/01/26/Spacemacs-OSX-Term/
iterm2でもmac標準のターミナルのどちらも解説します。
私の場合Emacsをiterm2で立ち上げると、powerlineの矢印の部分が文字化けしてしまいます。
これを修正します。
前提
emacsがある
emacsにpowerlineがインストールされている
Mac標準ターミナルかiTerm2でemacsを使っている
powerlineに対応したフォントをインストールする
この文字化けの根本的な問題はpowerlineが使うunicodeの文字がターミナル上で使っているフォントに無いことから生じています。
そこで、必要なフォントをインストールしましょう。
powerlineに対応したフォントがgithubにあります。
https://github.com/powerline/fonts
このリポジトリをcloneします。場所はどこでも平気です。
僕は例によってDesktopに持ってきます。
cd ~/Desktop/ git clone https://github.com/powerline/fonts.git
フォントのインストール
フォントを全てインストールしても良いのですが、fontファイルはわりと大きいので、1つだけインストールしたいと思います。
フォントの種類はこちらのgithubのページで確認できます。
https://github.com/powerline/fonts/blob/master/samples/All.md
とりあえず1つインストールしましょう。
そうですね。「SourceCodePro」をインストールしてみます。
gitクローンしたfontsフォルダの中のinstall.shを実行します。
第一引数にフォントを指定すると任意のフォントのみをインストールできます。
cd ~/Desktop/fonts ./install.sh "Source Code Powerline Regular"
フォントのインストールが終わりました。
フォントの設定
使っているソフトウェアでフォントの設定が異なるので、それぞれ説明していきます。
iterm2のフォント設定
iterm2を開き、上のメニューの「 iTerm2 」から「 preferences… 」を選びます。
「 Profiles 」を選び、「Text」タブを選択します。
最初に、下の画像の赤枠の所「Non-ASCII Font」の「Change Font」を選び、先ほどインストールしたSource code proを選びます。
Non-ACII Fontは標準の文字以外のフォントの種類です。
powerlineで使う文字化けしていたフォントはここで指定したフォントを使います。
先ほどインストールした「Source Code Pro for Powerline」を選びます。
もしも、iTerm2全体でも Source Code Powerline Regularを使いたい場合は青枠の「Font」も変更してください。
Mac標準ターミナルのフォント設定
ターミナルを起動して、上のメニューから「ターミナル」、「環境設定」を選びます。
「プロファイル」の「テキスト」タブで「変更…」を選びます。
Mac標準ターミナルはiterm2みたいに特殊文字だけをpowerlineフォントにすることはできません。
ターミナル全体で同じフォントを使います。
先ほどインストールした「Source Code Pro for Powerline」を選びます。
フォントの設定は以上です。
確認してみる
iterm2上で、Emacsを起動します。
うまくいっています。
うまくいきました。
まとめ
これで美しいpoweline生活が可能ですね。