1. トップ
  2. 新着ニュース
  3. IT
  4. パソコン

Windows Terminal ベスト設定 第19回 Sixelグラフィックス「応用編」

マイナビニュース / 2025年1月28日 15時51分

画像提供:マイナビニュース

今回は、前回の続きで、Sixelグラフィックスの具体的な描画方法などを解説する。前回と同じく、Sixel関連用語を(表01)に示す。

Sixel文字

Sixelグラフィックスは、エスケープシーケンス内で、ASCIIコードの“?”(0x3F)から"~"(0x7E)までの文字を使い縦6ピクセルのパターンを表す。これを本記事ではSixel文字と呼ぶ。

Sixel文字の描画位置は、Sixelポインタで決まる。Sixelポインタは、Sixelディスプレイモード(SDM。Sixel Display Mode)に応じて、初期値が決まる。SDMが有効な場合、Sixel初期位置は、ターミナルの左上(0,0)に設定される。SDMが有効な場合のSixelポインタの初期値は、Sixelエスケープシーケンスを実行するごとにターミナル右上にリセットされる。

SDMが無効な場合、現在のカーソル位置がSixelポインタの初期位置となる。これは、CUP(Cursor Position。CSI <Y> ";" <X>H)のようなカーソル位置変更エスケープシーケンスを実行するごとに変化する。

Sixelポインタは、Sixel文字を出力するごとに右側に1ピクセル移動する。また、(表02)以下の文字により、Sixelポインタが再設定される。

“$”は、Sixelグラフィックスのキャリッジリターン(CR)に対応し、Sixelポインタを初期位置に戻す。Sixelグラフィックスでは、一度に1色しか描画できないため、Sixelに複数色で描画する場合、CRで位置を戻して、異なる色で描画を行う。たとえば、以下のPowerShellコマンドは、画面右上に、複数の色で描画を行う(写真01)。

cls;write-host "`e[?80l`eP2;1;0;q#1!20;~$#2!3;@#3!3;A#4!3;C#5!3;G#6!3;O#7!3;_$#8!3;C#9!3;G#10!3;O#11!3;_#12!3;@#13!3;A`e\`e[5;1H"

なお、1つのSixelエスケープシーケンス内でSixelに対して異なる色で描画を行う場合、ゼロになっているSixelピクセル描画は、Sixelエスケープシーケンスの背景モードにかかわらず、元の値を維持し、デフォルトの背景色での描画を行わない。このため、背景色モードを2(背景色で描画)に変更した下記のエスケープシーケンスでも、おなじ結果が得られる。

この記事に関連するニュース

トピックスRSS

ランキング

複数ページをまたぐ記事です

記事の最終ページでミッション達成してください