Windows Terminalが安定版v1.20とプレビュー版v1.21に
5月に、Windows Terminalの安定版v1.20とプレビュー版v1.21がリリースされた。今回は、この2つのバージョンを解説する。
前回の記事(「内部的な改良で便利になったWindows Terminal v1.19での新機能を確認」)を掲載したのは昨年10月。このときは、安定版v1.18とプレビュー版v1.19を紹介した。その後に登場したv1.20はバク修正が重点で、その半分ほどが安定版v1.19にバックポートされた。このため、プレビュー版v1.20は本連載で扱っていない。
Windows Terminalは、GitHub上では、2024年5月8日に安定版、プレビュー版が公開されたことになっている。安定版は、v1.20.11271.0(https://github.com/microsoft/terminal/releases/tag/v1.20.11271.0)、プレビュー版がv1.21.1272.0(https://github.com/microsoft/terminal/releases/tag/v1.21.1272.0)となっている。
しかし原稿執筆時点で、安定版v1.20.11381.0とプレビュー版v1.21.1382.0がMicrosoftストア経由で配布されている。バージョンが上がった直後にすぐアップデートが出るのはそれほど珍しくない。おそらく急遽配布したアップデート(HotFix)なのだろうが、リリースノートがない。なんらかの手違いがあってバイナリの配布が先行してしまったのだと思われる。
とはいえ、現在配布されているのはこれなので、当然評価もこのバージョンで実施している。結論から言えば、安定版・プレビュー版ともに、リリースノートと異なる挙動やGUI設定ページから「フォーカスされていない外観」項目が消えるなどの現象が見られた。
安定版v1.20での追加機能は少ない
安定版のv1.20だが、前述のように新機能は少ない。大きな新要素としては、検索結果のハイライト表示、非アクティブ時の背景透明化、レンダリングエンジンAtlasの有効化、Alternate Scrollモードでのマウスによるスクロールなどでが挙げられる。また、4月に公開されたCascadia Codeフォント 2403.23が搭載されている。
「非アクティブ時の背景透明化」だが、「フォーカスされていない外観」(Unfocused apperance)で背景を透明化できる。ただし、現状でsettings.jsonでのみ設定できるようだ。
Windows Terminalのプロファイル設定では、「外観」背景の透明化を指定できるが、これと独立して、ウィンドウが選択されていないとき(非アクティブ時)の外観を設定できる。以下にその記述を示す。
"unfocusedAppearance": { "opacity": 50 }
JSONのオブジェクト“unfocusedAppearance”は、GUI設定の「フォーカスされていない外観」を有効にしたときにも挿入されるものだ。ただしGUI設定では、背景の透過率(opacity)を指定できない。このため、settings.jsonを直接編集して挿入する必要がある。
もう1つの大きな変更点として、Cascadia Codeフォント 2403.23がある。このバージョンでは、1文字を4分割、6分割、8分割したブロックパターンや罫線、拡大文字用パターンなどのキャラクタグラフィックス系の文字が追加された。
こうしたパターンのコードは、もともとUnicodeで定義されている。そのフォントパターンがCascadia Codeフォントに追加された。
なお、安定版v1.20でも、スクロールマーカーやシェル統合は無効になっている。次の安定版v1.21で有効化される予定らしい。
プレビュー版の新機能はたくさん
安定版v1.20に比べプレビュー版v1.21の新機能は多い。大きなものとしては、
・「前のセッションからウィンドウを開く」で、前回終了時のタブとその表示内容を復元
・フォント指定でカンマ区切りで複数のフォントを指定可能になった
・フォント関連の設定が追加された
・JSONフラグメントでカスタムアクションを指定可能になった
・Allasレンダリングエンジンの設定
・実行ファイルからタブアイコンを自動抽出
などがある。前バージョンから、Atlasレイアウトエンジンが標準となり、本バージョンでは、旧レンダリングエンジンが廃止され戻すことができなくなった。Atlasエンジン自体も強化されており、フォント関連の機能が入ったほか、レンダリングエンジン自体の設定項目が追加された。
「前のセッションからウィンドウを開く」は、「GUI設定」→「スタートアップ」→「ターミナルの起動時」の選択肢である。
この設定が有効だと、ターミナルウィンドウを閉じた場合などに、次回起動で終了時のタブが復元され、その表示内容(バッファ)まで復元される。バッファは、settings.jsonが保存されているディレクトリにVTエスケープシーケンスを含むUTF-16LEエンコードテキストがタブごとに保存される。
ただし、シェルをexitコマンドなどで通常終了させたり、タブを直接閉じた場合には、バッファは保存されず、バッファを保存しているファイルを削除する。なお、ポータブル版の場合、インストール先ディレクトリにバッファが保存されるので、セキュリティに注意が必要だ。
筆者の環境では、前述のMicrosoftストアで配布されていたプレビュー版では、タブは復元されたが、バッファは復元されなかった。ただし、バッファの保存ファイルは作られていた。
フォント関連の設定追加としては、フォントフォールバックの制御やOpenType Variable FontのAxisやフォント固有の設定の追加などがある。GUI設定にある「プロファイルの外観」→「テキスト」で、フォントに対する設定が増えている。
カンマ区切りによる複数のフォント指定は、フォントフォールバック時に選択されるフォントを指定するためのものだ。フォントフォールバックとは、指定されたフォントに字形が存在しない場合、他のフォントを使って字形を表示するもの。
Windows Terminal標準のフォントには、日本語の字形が含まれていないため、他のフォントを使って日本語文字を表示している。同様に、絵文字などもほとんどのフォントには含まれておらず、Windows標準の絵文字フォント(Segoe UI Emoji。SEGUIEMJ.TTF)を使う。
このとき、Windowsは、指定されたフォントと同じ系統のフォントを選択するが、バランスなどを見ると必ずしも見栄えがいいとは限らなかった。このため、Cascadiaフォントを指定して日本語を表示したとき日本語文字の間が開きすぎて見た目があまり良くないことがあった(フォントのインストール状態に依存)。
Axis(軸)とは、OpenTypeのVariable Font形式が持つ、字形を変形するためのパラメーター。Variable Fontは、1つのアウトラインデータをベースに、パラメーターを変えたときの差分などを組み込むことで、表示時に字形を補完で生成できるようにしたもの。作り方によっては太字や斜体などを個別のフォントファイルとして持つよりもファイルサイズを小さくできる。ただし、現状でVariable Font形式はそれほど多いわけではなく、大半の日本語フォントは非Variable Font形式を使う。
Axisには、幅や斜体、太さといったパラメーターがあり、それぞれを個別に指定できる。このため、1つのフォントに対して、さまざまなバリエーションを作ることが可能になる。ただし、どのAxisを採用するかは、フォント制作者の判断になる。
また、フォントが持つ固有の機能(OpenType機能タグ)も指定可能になった。これは、ゼロを斜線付きで表示するか、日本語フォントでJIS78字形を使うかなどのフォント機能の設定である。個々のフォントで何か実装されているのかは異なるが、機能タグに関しては、Microsoftのサイトにある「Registerd Feature(英語)」(https://learn.microsoft.com/ja-jp/typography/opentype/spec/featurelist)に記述がある。
また実験的な機能として「ペインにターミナル以外のものを表示可能にした」というものがある。
これまでWindows Terminalのタブやペインは、必ずなんらかのシェルを起動する必要があった。この実験的な機能では、テキストの入力、表示のみが可能な「Scratchpad」をタブやペインとして開くことができる。ただし、現状Scratchpadは、単にテキストを入力して表示するだけしか機能のない実験用のエリアである。
リリースノートがないビルドが配布され、ちょっと落ち着かない感じがある。このため、少なくともプレビュー版については日常的な利用は避けたほうが無難だろう。
この連載の記事
-
第460回
PC
Windowsでsftpを使う -
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第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
ユニコードで文字数を数える方法 - この連載の一覧へ