WindowsTerminalは年内に正式版に
適した等幅フォントも開発しているようだ
マイクロソフトは、WindowsTerminalを年内に正式版とする予定だ。現時点の目標としては、CMD.EXEやPowerShell.exe、WSLのコンソールとしての利用が想定されている。一番の狙いは、文字コードの扱いや表示方法を変更することにある。
Windowsのコンソールは、文字コードを「コードページ」という形で扱っていた。また、表示にはWindows初期からあるGDI(Graphics Device Interface)を利用していた。
これに対して、WindowsTerminalでは、文字の描画にはDirectWriteを使い、高速で高品質の文字描画を可能にする。このため、UTF-8エンコード方式によるUnicodeの利用が可能になり、いわゆるフォントフォールバック機能も利用可能となるため、絵文字のように、指定フォントファイルにない文字でも、他のフォントファイルを使って表示できるようになる。
従来のコンソールでは、文字エンコードにコードページを使っており、一度に利用できる文字範囲に限界があった。このため、シフトJISのコードページ(932)が指定されているときには、他国語のフォントを表示することができなかった。
マイクロソフトでは、WindowsTerminalの開発に合わせてプログラミングなどに適した等幅フォントを開発している。これは、16進数を表記するのときの「0x」と通常文字の「x」を分けるなど俗に「Programing ligature」と呼ばれる表示が可能なものになるとされている。なお、従来のコンソールはそのまま、Windows付属のプログラムとして残ることになるという。
とりあえず、今年の夏には、プレビューが開始され、パッケージをMicrosoftストア経由で入手できるようになるとされる。また、最終配布は、今年の年末になるようだ。
コンソールホストとコンソールウィンドウが分離
過去を引きずらない、まともなコンソールがようやくWindowsに
もともと、Windowsでは、コンソールアプリケーションは、コンソールAPIを使ってコンソールを制御するものとされていた。
これに対して、Unix/Linuxでは、原則コンソールとは文字ベースでやりとりする。
WSLの導入により、標準入出力を使って文字のみをやり取りするLinuxの「シェル」が使われるようになった。このため、出力されるテキストからエスケープシーケンスを使って画面制御をおこなう必要が生じたわけだ。
こうした問題に対して、昨年8月には、コンソールAPIをつかさどるConHostと呼ばれるモジュールに仮想コンソール(ConPTY)が搭載され、コンソールウィンドウとは分離されることになった。これにより、従来型のコンソールAPIを使うアプリケーション(たとえば、CMD.EXEやPowerShell.exe)と、Unix/Linux型のシェルの両方に対応できるようになった。
なお、WindowsTermialでは、複数のConhostと接続可能で、それぞれを個別の「タブ」で表示する。
WindowsTerminalにより、WSLなど、CMDやPowerShell以外を利用する場合にようやく“まともな”コンソールが利用できるようになった。これなら、SSHなどを介して、Linuxマシンなどに接続して利用することも不可能ではないだろう。

この連載の記事
-
第470回
PC
Windows用のパッケージマネージャー「Winget」 プレビュー版で機能が充実してきた -
第469回
PC
Windows Updateの27年 悪役だった頃から改良が進んで、徐々に目立たない存在に -
第468回
PC
2025年のWindowsどうなる!? Windows Insider Programの状況をあらためて見る -
第467回
PC
Copilot+ PCのNPUでカメラを処理する「Windows Studio Effects」 その内容や効果は? -
第466回
PC
PowerToysの最近の新機能には、複数アプリを指定位置に起動する「ワークスペース」や新規作成のカスタマイズがある -
第465回
PC
WindowsのPowerShellからBluetoothデバイスを調べる -
第464回
PC
Windows 10のサポート切れまで1年を切った さてWindows 10マシンをどうする? -
第463回
PC
Windows Terminal Preview版でSixelグラフィックスを実際に表示させてみる -
第462回
PC
Windows Terminal Preview版でSixelグラフィックスを扱う -
第461回
PC
Copilot+ PCを買ってみたが、「今焦って買う必要はない」のかもしれない -
第460回
PC
Windowsでsftpを使う - この連載の一覧へ