「Windows 10ミニTips」は各回の作成時点で最新のWindows 10環境を使用しています。

Microsoftがオープンソースベースで開発したフォント「Cascadia Code」。コンソールアプリと開発者向けに可読性を高めたフォントだが、コマンドプロンプトでCascadia Codeが使えるかどうか試してみた。

  • Windows 10 ミニTips

    GitHubから「Cascadia.ttf」をクリック/タップしてダウンロードする

  • Windows 10 ミニTips

    「Cascadia.ttf」のプロパティダイアログを開き、「許可する」→「OK」ボタンと順にクリック/タップ

  • Windows 10 ミニTips

    「Cascadia.ttf」を任意のフォルダーに移動させてから、右クリック/長押しし、「すべてのユーザーに対してインストール」をクリック/タップ。通常の「インストール」や「~ショートカットとしてインストール」でもかまわない

  • Windows 10 ミニTips

    フォントフォルダーを開き、Cascadia Codeをダブルクリック/タップすると、文字サンプルを確認できる。なお、本ウィンドウの「インストール」ボタンからもフォントのインストールは可能だ

Windows 10のWindowsコンソール(コマンドプロンプトやWindows PowerShell)は、起動時に4つの設定読み込みが発生する。

1.「conhostv2.dll」のハードコード設定
2.「HKEY_CURRENT_USER\Console」に格納した値
3.「HKEY_CURRENT_USER\Console」のサブキーとして格納した個別の値
4. Windowsショートカットファイル(拡張子「.lnk」)

Windowsコンソールのアプリコマンドには「既定値」「プロパティ」の2項目が並んでいるが(以下の画像)、前者はステップ2、後者はステップ3の情報を参照する。そこで、HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exeキーを削除し、HKEY_CURRENT_USER\Consoleでフォント設定をCascadia Codeを指定してみたが、使えなかった。

  • Windows 10 ミニTips

    コマンドプロント

  • Windows 10 ミニTips

    Windows PowerShell

  • Windows 10 ミニTips

    コマンドプロンプトのプロパティダイアログ。Cascadia Codeがフォントセクションに並んでいない

  • Windows 10 ミニTips

    「既定値」のダイアログには、Cascadia Codeを選択できるがフォントに変更されなかった

Windows Terminalなら簡単

もともとCascadia Codeは、Visual Studio Codeに代表されるテキストエディターでの使用を想定しており、フォント名もWindows Terminalの開発コードネームである。そのため、Windows Terminalとの親和性は高く、フォント変更は容易だ。

  • Windows 10 ミニTips

    設定前後のWindows Terminal。左(MSゴシック)と右(Cascadia Code)の違いを見て取れるだろう

文字コードをUTF-8にすれば、コマンドプロンプトでも指定可能に

ふと「日本語」の問題かと思い立ち、Windowsコンソール(コマンドプロンプト)の文字コードをUTF-8(65001)に切り替えてからプロパティダイアログを開くと、Cascadia Codeが選択可能になった。あとは選ぶだけだ。

  • Windows 10 ミニTips

    「chcp 65001」を実行してからプロパティダイアログを開き、「Cascadia Code」→「OK」ボタンと順にクリック/タップ

  • Windows 10 ミニTips

    コマンドプロンプトでもCascadia Codeが使用可能になった

残念ながら、Windowsコンソールの文字コードは固定されない。また、Cascadia Codeフォントでは標準出力が英語に切り替わり、日本語テキストファイルも正しく表示されなくなる。現時点では、Windowsコンソール系アプリでCascadia Codeを使うのは見送ったほうがよさそうだ。

阿久津良和(Cactus)