プレビュー版v1.14では
新しいテキストレンダリングエンジンが搭載
プレビュー版では、v1.13から新しいテキストレンダリングエンジン「Atlas」が搭載されている(安定版には含まれていない)。プレビュー版では、GUI設定のプロファイルの「詳細設定」(Advanced)に「試験的なテキストレンダリングエンジンを有効にする」(Enable experimental text redering engine)があり、ここで設定できる。
新規のレンダリングエンジンが搭載されたのは、これまで利用していたDirect2Dの制限によるものだ。簡単にいうとDirect2Dのカラールックアップテーブルは20色までしかなく、21色以上を使おうとすると、画面更新の速度が極端に遅くなっていた。ターミナルでは、vtエスケープシーケンスの仕様から、背景、文字色にそれぞれ16色が指定可能なため、異なる32色を利用する可能性がある。そしてDirect2Dのカラールックアップテーブルの最大値は固定であり、今のところMicrosoftには増やす計画もない。
というわけで、GPUを利用した新しいテキストレンダリングエンジン(Atlas)を開発することになった。これにより、従来はDirect2Dの制限から困難だった機能の実装にも可能性が出てきた。
もう1つの大きな変更は、Alternate Screen Bufferがきちんと動作するようになった点だ。Alternate Screen Bufferとは、VTエスケープシーケンスの「save screen」「restore screen」などで使われる、もう1つの画面バッファである。vimなどのエディタやLinuxのman、lessコマンドなどを使うと、ターミナルの全画面を専有して起動するが、終了すると起動前の状態に戻る。こうしたときにAlternate Screen Bufferが使われる。
v1.14でも動作はしていたが、たとえば、vimの起動中にマウスホィールなどでWindows Terminalのスクロールバーを操作してしまうと以前のテキストが見えてしまっていた。Alternate Screen Bufferが正しく動作していると、このような場合にも以前のテキストが見えてしまうことがない。v1.14ではvimなどの起動中にスクロールバーで範囲外を表示しないようになった。
また、新しいアクションとしてバッファ全体を選択状態とする「selectAll」が追加され、標準で「Ctrl+Shift+A」に割り当てられた。これにより、バッファ全体をコピーするといったことが簡単にできるようになった。以下の表にv1.14でのキー割り当てを示す。
そのほかの機能としては、IME側に要求するテキスト形式が「AlphanumericHalfWidth」となって、IMEの状態に関係なく、Windows Terminalでは、半角英数で入力されるようになった。もちろん、IMEオン/オフも可能である。タブ内でIEMをオンにしていなければ、他のアプリでIMEをオンにしたあと、Windows Terminalをアクティブにすれば、自動的に半角英数に切り替わる。そもそも、Windowsのコンソールなどにもこのような問題があり、筆者はコマンドラインを使うときには、入力を英語に切り替えていたくらいだ。
細かな点としては、Windows Terminal内で実行しているシェルからGUIプログラムを起動したとき、ウィンドウがWindows Terminalの上に表示されるようになった。これまでは、実行するGUIプログラムにより、適当な位置にウィンドウが表示されていた。特にマルチディスプレイのとき、開いたウィンドウを見失うというか、見つけられないことがあった。たとえばPowerShellには、「Out-GridView」というGUIウィンドウでデータを表示する機能があるが、このウィンドウが必ずしもターミナルのウィンドウと同じモニターになるとは限らなかった。
「experimental.useBackgroundImageForWindow」を使うことで、1つのタブを複数のペインに分割したときでも、背景画像を共有可能になる。
従来はペインごとに独立して背景画像を表示していた。現行のプレビューv1.14.145でこのプロパティをtureにすると、自動的に背景が完全に透明になってしまう。背景全体を覆う背景画像では問題ないが、背景画像の透明部分は背景が抜けてしまう。
最新のロードマップによれば、今後はしばらくv1.1x系の開発が続く。以前は長期的な目標としてv2.0があったが、現時点では、v2.0という目標は置かず、バージョンアップを続ける方向になったようである。1つにはAtlasのような開発に長期間かかる要素が入ってきたことがある。今回の1.14では、日本語IMEの挙動やAlternate Screen Buffer、管理者権限でのプロファイル起動など、便利な機能や使い勝手を上げる機能が追加された。当面こういう感じでの改良が続くと思われる。
この連載の記事
-
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 -
第449回
PC
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る -
第448回
PC
PowerShellで面倒なオブジェクトはPSCustomObjectに変換するのが早道 - この連載の一覧へ