等幅フォント「Cascadia Code」

MicrosoftがWindowsのLinux化を進める本気度の高さが伺える動きが最近あった。Microsoftが新しい等幅フォント「Cascadia Code」をオープンソースソフトウエアとして公開したのだ。このフォントはWindows Terminalでの採用が計画されている。ターミナルアプリケーションにとっては見やすい等幅フォントの存在が欠かせない。Cascadia Codeの公開は、Microsoftがこうした環境の改善に本気で取り組んでいることを示すものと言える。

等幅フォント Cascadia Code

Cascadia Codeフォントを直接インストールすることもできるが、Windows Terminalのプレビュー版をインストールすると、Cascadia Codeフォントも同時にインストールされるようになっている。MicrosoftはCascadia CodeをWindows Terminalのデフォルトフォントにするつもりなのではないかと見られる。ターミナルで扱いやすいフォントをデフォルト採用することで、Windows Terminalの利便性を引き上げるつもりなのだろう。

Windows 10にインストールされたCascadia Code

このフォントの特徴はいくつかあるのだが、ターミナルやプログラミングでの利用を前提とした「合字(リガチャ)」が含まれているのが最大の特徴となっている。プログラミングを前提とした合字というのは、たとえば「!=」と入力すると「≠」と表示するといった使い方だ。好みの分かれる挙動だとは思うのだが、最近はこういった表示が流行っており、Cascadia Codeはその流行に対応したものとなっている。

Windows TerminalでCascadia Codeを使う

Windows Terminalにデフォルトで同梱されているとはいえ、現段階のWindows TerminalではCascadia Codeは利用できるようになっていない。たぶん2020年5月または6月ごろに公開が予定されているWindows Terminal 1.0.0ではCascadia Codeがデフォルトで使われるようになるのだろうが、それまでは自力で設定する必要があるようだ。

デフォルト設定のWindows Terminal

Windows Terminalの設定ファイルを編集を開き、次のスクリーンショットのようにfontFaceの項目を「Cascadia Code」に設定する。

Windows Terminalのフォント設定をCascadia Codeへ変更

Windows Terminalの設定は即座に反映される。上記のように編集して保存すると、すぐにフォントの設定が反映され、次のようにCascadia Codeが使われるようになる。

リアルタイムにフォントがCascadia Codeに変更される

フォントは好みが強く出る部分なので個人的な感想ではあるが、これまでのデフォルトのフォントよりも読みやすくなったように思う。

Visual Studio CodeでCascadia Codeを使う

プログラミングでの使用を前提とした合字を含むということからもわかるとおり、Cascadia CodeはVisual Studio CodeやVisual Studioでの使用が想定されている。どちらもすでにこの機能に対応しており、フォントの設定を変更するだけで使用することができる。

Visual Studio CodeでCascadia Codeを使うには、設定を開き、次のように「monospace」が設定されている「Font Family」の設定の先頭に「’Cascadia Code’,」を追加する。

Visual Studio CodeのフォントをCascadia Codeへ変更

Font Familyとは別の場所に「Font Ligatures」という合字機能を有効にするかどうかの設定があるので、最近の流行に乗ってみるなら、とりあえずこの機能も有効にしてみよう。

合字(Ligathures)を有効に設定

まず、次のスクリーンショットは表示されるフォントがCascadia Codeに切り替わったものだ。

Cascadia Codeが使われているVisual Studio Code

次の合字表示機能を試してみよう。次のように「!=」と入力しようとしてみる。「!」を入力したところまではこれまでと同じだ。

たとえば、「!=」といった入力を行おうとする

この状態でさらに「=」と入力すると、即座に「!=」が「≠」の表示に替わる。これが合字表示機能だ。日本語だと「=」と「≠」は別のフォントなので、「!=」が「≠」に替わると入力したデータが「≠」に変わったかのような印象を受ける。しかし、データとしては「!=」のままであり、「≠」を削除しようとしてバックスペースを1回押すと表示が「!」に戻る。

「!=」と入力された瞬間に表示が合字の「≠」に置き換わる

合字は「≠」だけではなく、「≧(大なりイコール)」「≦(小なりイコール)」など、いろいろ用意されている。

合字の表示サンプル

Cascadia Codeでは合字の「≠」や「≧」「≦」は2文字分の幅になっている。このため、どうやら英字の入力を主とする文化圏の方がこの表示機能を利用すると、この部分が「大きな等号表示」に綺麗に切り替わったように見えるのだろう。このように強調されることで入力のミスをなくし、等号として何を入力したのかがわかりやすくなるといった利点があるようだ。

日本語入力に慣れている方の多くは眉をひそめる動作かもしれないが、こういったものは結局のところ慣れの問題であり、慣れると悪くはない。ほかのエディタもこうした機能がデフォルトで有効になっていくのか、それもと不評で忘れられていく機能なのか、それはこれからのユーザーの反応次第といったところだろう。

“本気”のターミナルとなるか?

macOSやLinuxには代表的なターミナルアプリケーションがいくつもある。特に歴史的にUNIX系OSにはターミナルアプリケーションが多い。英字限定とはなるが、等幅フォントも多数存在しており、好みのターミナル環境をセットアップする上でも選択肢は豊富だ。

こうした部分については、Windowsはこれまでどうもイマイチな感が否めなかった。しかし、Windows Terminalの公開に、Cascadia Codeの投入。Microsoftがこれまであまり力を入れてこなかった部分に積極的にリソースを投入しているように見える。WindowsでLinuxを利用するということが一過性の流行ではなく、今後長く根付く流れになっていきそうな雰囲気である。