Powerlineとは

本連載では、Windows TerminalとCascadia Codeフォントの関係について紹介してきた。Windows Terminalを利用するのであれば、Cascadia Codeフォントを利用する価値はあると思う。

そのCascadia Codeプロジェクトから「Cascadia Code」「Cascadia Code Mono」「Cascadia Code PL」「Cascadia Code Mono PL」の4つのフォントがリリースされている。Cascadia CodeとCascadia Code Monoは合字が対応または非対応であるフォントであることを前回説明したが、プロジェクトではほかにも名前に「PL」がついたフォントを公開している。

PLとは「Powerline」の略で、つまりPowerline機能に対応していることを意味している。ではこのPowerlineとは何なのかと言うと、シェルのプロンプトやエディタのステータスラインをリッチに表示するソフトウエアのことを指している。通常、プロンプトやエディタのステータスラインはシンプルな表示となっている。それは見方を変えれば、古臭い感じがしてしまうとも言える。そんな地味な見た目を変えるのが”Powerline“だ。

Powerlineは、「必須のツール」とは言えないが見た目がよくなり、少しCUIらしくなくなるのが特徴だ。例えば、この機能を利用すると、次のようにプロンプトやステータスラインが表示されるようになる。

Powerline(Powerline公式ページのスクリーンショット抜粋)

この機能を利用するにはPowerlineのインストール/設定はもちろんのこと、フォントも対応している必要がある。対応していないと、綺麗に描画されないのだ。Cascadia Codeは対応するフォントを公開することでPowerlineの導入をしやすくしている。

Cascadia CodeがPowerline用に提供しているのが、「Cascadia Code PL」と「Cascadia Code Mono PL」だ。名前からわかると思うがCascadia Code PLがPowerlineと合字に対応したフォントで、Cascadia Code Mono PLがPowerlineに対応しており、合字が非対応のフォントとなっている。Powerlineも合字も使いたければCascadia Code PLを、Powerlineは使いたいが合字を使いたくなければCascadia Code Mono PLをインストールすればよい。

フォント名 ファイル名 説明 備考
Cascadia Code Mono CascadiaMono.ttf 合字、Powerlineともに非対応 公式ベージからダウンロード
Cascadia Code Cascadia.ttf 合字に対応、Powerlineは非対応 Windows Terminalに標準同梱
Cascadia Code Mono PL CascadiaMonoPL.ttf Powerlineに対応、合字は非対応 公式ページからダウンロード
Cascadia Code PL CascadiaPL.ttf 合字、Powerlineともに対応 公式ページからダウンロード

Powerlineも合字も近年登場したばかりのもので、どちらもプログラミングを意識した技術と言える。Cascadia Codeはこの2つの機能に対応しており、Windows TerminalでCascadia Codeを設定すれば、少しリッチでプログラミングしやすいターミナルアプリケーション環境を手に入れることができるというわけだ。

今回はこのPowerlineに対応したCascadia Codeを使って、Windows TerminalでPowerlineを利用する方法を紹介したいと思う。

Powerline対応のCascadia Codeをインストール

実際にWindows TerminalでPowerlineを体験できるよう、Powerlineに対応しているCascadia Codeフォントをインストールしてみよう。先ほど説明したように、合字/Powerlineともに対応したCascadia Code PLと、合字は非対応だがPowerlineに対応したCascadia Code Mono PLの2つのフォントがあるので、合字機能の利用の有無でインストールするフォントを決めていただければと思う。

どちらの場合もCascadia Codeの公式ページよりTTFファイルを取得してインストールするだけの簡単な作業だ。ここでは例としてCascadia Code PLをインストールする。「CascadiaPL.ttf」を取得したら、次のようにダブルクリックでフォントビューワを表示させてインストールするだけだ。

フォントビューワでCascadia Code PLをインストール

インストールが完了したら、次のように設定する。Powerlineは今のところサポートしているのがVimやUNIX環境向けのシェルであるため、ここではWSL環境のUbuntuのフォント設定にダウンロードしたCascadia Code PLを設定している。

UbuntuのプロファイルにCascadia Code PLを設定

Windows TerminalでPLを使ってみよう

Powerline向けのフォントをインストールしただけではPowerlineを体験することはできない。Powerlineを対象の環境にインストールする必要がある。ここではCascadia Code PLを設定したUbuntuにPowerlineをインストールし、標準シェルであるBash上でPowerlineを動作させてみる。

Windows TerminalのUbuntu環境で「sudo apt install Powerline」と実行すれば、Powerlineのインストール作業が自動で行われる。

WSL環境上のUbuntuでPowerlineをインストール

BashでPowerlineを利用する場合、Bashの設定ファイル編集してもかまわないし、インストールしたPowerlineに提供されている自動設定用のシェルスクリプトを利用してもかまわない。ここでは、単純に簡単に体験できるよう提供されているシェルスクリプトを利用してみる。

「/usr/share/Powerline/bindings/」以下にPowerlineを利用できるシェル名ごとのディレクトリが用意されており、Bashであれば/usr/share/Powerline/bindings/bash/以下にPowerline.shというシェルスクリプトファイルがある。このシェルスクリプトを次のようにsourceコマンドの引数に渡して実行すればPowerlineが使えるようになる。

Bash上でPowerlineが動作

Powerlineに対応したCascadia Code PLを設定しているためPowerlineが綺麗に見えるが、Powerlineに対応していないフォントを使っているとこうはならない。

例えば、Cascadia Code PLのフォント設定を無効に設定すると、標準のConsolasフォントに代わって次のようにPowerlineに表示されているフォント部分が文字化けしてしまう。

Poewrlineに対応していないフォントだと文字化けが発生する

Powerlineを使うために毎回シェルスクリプトを利用するのが面倒という場合は、先ほど実行した「source /usr/share/Powerline/bindings/bash/Powerline.sh」という一行をBashの設定ファイル~/.bashrcに追加すればいい。次回よりUbuntuを立ち上げると自動でPowerlineが設定されて利用できるようになる。

その他のPowerlineフォント

最後にCascadia Code以外のPowerlineに対応したフォントをいくつか簡単に紹介するが、実は前回紹介した合字に対応した「Fira Code」「Iosevka」「Hasklig」は全てPowerlineにも対応している。これらのフォントをWindows Terminalに設定してPowerlineを利用してみてもよいだろう。

Windows Terminal + Bash on Ubuntu + Powerline + Fira Code

Windows Terminal + Bash on Ubuntu + Powerline + Iosevka

Windows Terminal + Bash on Ubuntu + Powerline + Hasklig

参考資料