Windows Terminalのプレビュー版V.1.22には、Sixelと呼ばれるグラフィックス機能が搭載されている。Sixelは、縦6ドットを単位としたグラフィックス描画機能である。
描画はエスケープシーケンスを介するが、Sixel描画に対応したアプリケーションがあれば、Windows Terminalでも利用可能だ。
たとえば、Image Magickは、以前からSixelに対応しているため、WindowsやLinux(WSL)の両方で画像ファイルをSixel表示させることができる。
また、Linuxには、「LibSixel」と呼ばれるライブラリがあり、これに「im2sixel」コマンドがある。どちらも画像ファイルをSixelグラフィックスでターミナル内に表示できる。
そもそもSixelとは?
Sixelとは、「Six+Pixel」の意味で、縦6ドットを単位としたグラフィック機能を指す。いわゆるユーザー定義文字をエスケープシーケンスで実現するためのデータ表現形式として、1980年代に作られたDEC社のVT200シリーズに搭載された。これをDRCS(Dynamically Redefined Character Set)という。
VT240/241、後継機種のVT300などでは、DRCSのデータ形式をグラフィックス表現形式として利用した。これがグラフィックス描画機能としてのSixelの始まりである。
ユーザー定義文字を作るため、縦に並ぶドットを単位とした。6ドットに制限されたのは、エスケープシーケンス中でアルファベット文字としてビットを表現するためである。ターミナルの画面に表示されたアルファベット1文字は、Sixelでは、10×10ピクセルである。日本語など全角文字では20×10ドットになる。
多くの端末や端末ソフトウェアでは、カーソル位置は、次に文字が表示される位置を示す。つまり、最後に表示された文字の後ろにカーソルが置かれる。Sixelも現在のカーソル位置を起点にするが、Sixelの描画は、文字カーソル位置に影響を与えない。
この記事では便宜的に、Sixelの描画位置を「Sixelポインタ」、描画されるピクセル(縦6ドット単位)をSixelと呼ぶ。Sixelが描画されるたびにSixelポインタは右に1ピクセル移動する。次のSixelは、隣の列に移る。
Sixelでは、一度に背景色(0のビット)と描画色(1のビット)の2色しか描画できない。このため、1つのSixelに複数色を描画したい場合、描画色を変えて再度描画する(方法は後述)。このとき、0のビットは、既存の描画に影響を与えない。
Sixelの描画には、以下のエスケープシーケンスを使う。
CSI q [<カラーレジスタ定義>] <描画色指定> <Sixel文字> ST
CSI = Esc P
ST = \ Esc またはCtrl+G
カラーレジスタ定義 = #<カラーレジスタ番号> ; 2 ; <R値(%)> ; <G値(%)> ; <B値(%)>
描画色指定 = # <カラーレジスタ番号>
Sixel文字参照(以下の表参照)
同じSixelに再描画する場合には、Sixelポインタの初期値(カーソル位置)に、復帰する「$」(Sixelではこれをキャリッジリターンと呼ぶ)を使う。
エスケープシーケンスに「$」を入れると、その時点で、Sixelポインタが初期値(カーソル位置)に戻る。ここで描画色を切り替えて再度描画する。
現在のSixel位置の下を描画するときには、「-」(同ニューライン)を使う。ニューラインでは、Sixelポインタは初期位置の6ピクセル下に設定される。
ここまでが基本だが、Sixelを使うためには、カーソル位置の制御などもする必要がある。また、Sixel描画はカーソル位置を変えないため、カーソル位置を設定してやらないと、後続する文字表示がSixel描画を上書きしてしまう。このあたりを含め、次回もう少し詳しくSixelを見ていくことにする。
この連載の記事
-
第461回
PC
Copilot+ PCを買ってみたが、「今焦って買う必要はない」のかもしれない -
第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つに分かれる - この連載の一覧へ