Powerlevel9k * モリサワフォント
zsh
- TOP
- Old Archives
- Powerlevel9k * モリサワフォント
Zsh * Powerlevel9k を使っていて、なおかつモリサワパスポートユーザーである人なんて多分この世に数えるほどしかいないと思うので、需要は限りなく0に近い記事を書かせてもらうことにする。
Powerlevel9kで使われるU+F015(ホームマーク)やU+F17C(Linuxマーク)はPrivate Use(外字)領域であり、 文字として定義されていない。 そして、モリサワフォントはこの領域を使用しており、U+F015は「言信」という文字(実際は一文字)に割り当てられており、 モリサワフォントを導入するとAwesomeフォント(Nerd font)に優先されてしまうため、有効に機能せず、文字化けしてしまう。
解決方法は結構シンプルで、FontConfigで
match target="pattern">
<test qual="any" name="family">
<string>Anonymous Pro</string>
<test>
</edit binding="strong" name="family" mode="prepend">
<string>Anonymous Pro</string>
<string>TerminessTTF Nerd Font</string>
<string>Cica</string>
<edit>
</edit binding="strong" name="spacing" mode="assign">
<int>90</int>
<edit>
</match> </
のようにしてNerd fontをprependするだけである。
この問題のハマりポイントは、「Nerd fontのグリフを持っているCicaを指定したときにNerd fontグリフ部分を使ってもらえない」ことである。 だから、Cica一本に頼っていた場合はNerd Fontを別途導入する必要がある。