前回、Windows Terminal向けに開発されたフォント「Cascadia Code」を取り上げた。Cascadia CodeはWindows Terminalに標準で付属しており、別途ダウンロードしなくてもフォント設定さえすれば、すぐに利用できるようになっている。

しかしいくらWindows Terminal用に設計されているからといって、そのフォントが万人に受け入れられるかどうかは別問題だ。Cascadia Codeには「合字(リガチャ[Ligature])」と呼ばれる仕組みが採用されている。Cascadia Codeを利用するのであればこの合字を理解し、かつ受け入れる必要がある。

そもそも合字とは、2つ以上の文字(または記号)を結合させて1つの文字にする言語表記法のことを言う。代表的な例で言えば、ラテン文字の「e」と「t」を組み合わせた「&」や、「a」と「e」を組み合わせた「æ(大文字であれば「A」と「E」を結合させた「Æ」)などが比較的身近だろう。

この合字をプログラミングにも利用できるよう開発されたフォントが近年登場しつつある。プログラミングにおける合字は、先ほど紹介したような文字の結合ではなく、記号の結合によってコードの可読性を向上させることを目的としている。

例えば、プログラミングでは「!」と「=」を続けて入力した「!=」は等号否定(ノットイコール)の演算子を意味する。等号否定は「≠」という記号で表わすことができるため、この記号を合字と捉え「!」と「=」と続けて入力することで自動で「≠」に変換されて表示されるようになる。

Windows Terminal同梱のCascadia Codeには、このような合字機能が備わっている。合字機能は、これまでになかった概念なのでなかなかピンとこないかもしれない。これを機に、Windows Terminal + Cascadia Codeで合字を体験してみてほしい。実際に試してみてから継続して利用するかどうかを判断すればよいだろう。

合字を体験してみよう

合字はCascadia Codeがインストールされていれば、すぐに利用可能だ。

Windows Terminalで合字を体験したければ、使用フォントにCascadia Codeを設定すればよい。前回説明したとおり、利用したいシェルのフォント設定部分にCascadia Codeを指定するだけだ。

            "fontFace": "Cascadia Code",

設定したら、実際に記号を入力して合字に変換されることを確認してみよう。以下では、例としてUbuntuのシェルにCascadia Codeを設定している。またわかりやすくするため、「fontSize」の指定でフォントサイズを大きくしている。

合字のないConsolas(上)/合字になるCascadia Code(下)

プロンプト上で「!」の後に「=」を入力すれば、自動で「≠」に変わるはずだ。ほかにも「~」と「=」で「≃」となったり、「<」と「=」で「≤」となったりと、多くの合字が収録されていることがわかる。

現在、Cascadia Codeで合字となる記号の組み合わせはGithubの公式ページにリスト化されている。これは今後、Cascadia Codeのバージョンが上がればさらに増えていくと思われる。

Cascadia Codeで合字となる記号の組み合わせ

合字が駄目なら「Cascadia Code Mono」

Windows Terminalに付属しているCascadia Codeは合字対応フォントであるため、上記で紹介した記号を入力するとどうしても自動で変換されてしまう。しかし、「合字を体験してみたが違和感しかない、でもCascadia Codeはもうちょっと使い続けてみたい」と思う方もいるだろう。そんなユーザーには「Cascadia Code Mono」を使ってみてほしい。

Cascadia Code Monoは、Windows Terminal同梱のCascadia Codeと同じく等幅フォントではあるが、合字が含まれていないところが大きな違いだ。Cascadia Codeプロジェクトとしても、合字に対してはユーザーによって意見が分かれることを認識し、このフォントを提供していると思われる。

Cascadia Code Monoはプロジェクトのリリースページよりダウンロードできる。本校執筆時点のCascadia Codeの最新バージョンは1911.21で、次のようなフォントファイルが公開されている。

Cascadia Codeの配布ページ

「Cascadia.ttf」が合字が含まれているフォント、「CascadiaMono.ttf」が合字を取り除いたフォントとなっている。また、どのフォントもレギュラースタイルだ。ほかにも「PL」という名前を含むフォントもリリースされている。それらのフォントもWindows Terminalで利用可能なので、次回取り上げたい。

「CascadiaMono.ttf」のインストールは、ダブルクリックでフォントビューワを表示させて実行するだけだ。

フォントビューワでCascadia Code Monoのインストール

インストールが完了したら、次のように設定を行えばWindows TerminalでCascadia Code Monoが利用できるようになる。

Cascadia Code Monoを設定

記号が合字とならないCascadia Code Monoを利用(フォントサイズ16で表示)

その他の合字対応フォント

最後にCascadia Code以外の合字に対応したフォントをいくつか紹介しておこう。どれもオープンソースライセンスの下に公開されており、自由に利用できるようになっている。インストールや設定手順については割愛するが、Windows TerminalでCascadia Code以外の合字対応フォントを使ってみたいのであればぜひ試してみてほしい。

フォント名 公式ページ
Fira Code https://github.com/tonsky/FiraCode
losevka https://typeof.net/Iosevka/
Hasklig https://github.com/i-tu/Hasklig

参考資料