Windows Terminal Preview版でSixelグラフィックスを扱う
ASCII.jp / 2024年12月29日 10時0分
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を見ていくことにする。
この記事に関連するニュース
-
Windows Terminal Preview版でSixelグラフィックスを実際に表示させてみる
ASCII.jp / 2025年1月5日 10時0分
-
窓辺の小石 第196回 キーパッドの日々、再び
マイナビニュース / 2024年12月27日 14時22分
-
ISO 11783-6 農機の操作GUI端末 Virtual Terminal用操作画面表示ライブラリを発売
@Press / 2024年12月16日 9時30分
-
窓辺の小石 第194回 Rainbow Sixel
マイナビニュース / 2024年12月13日 23時41分
-
13.3型AI PC「HP EliteBook 635 Aero G11」で2カ月過ごして分かったこと 1kg切りの軽さでも納得のテストスコア
ITmedia PC USER / 2024年12月12日 18時0分
ランキング
-
1Intel×AMD×Qualcomm! 3プラットフォームの14型AI PC(Copilot+ PC)を検証 バッテリーの持ちが良くて静かなモデルはこれだ
ITmedia PC USER / 2025年1月5日 12時0分
-
2iPhone基本の「き」 第634回 残高はあるのに改札でエラーが出た時の対処法 - iPhoneこんな時どうする?
マイナビニュース / 2025年1月5日 11時15分
-
32025年の格安SIMは、「30GBで3000円」にどう対抗するか&楽天モバイルの動きに注目
ASCII.jp / 2025年1月5日 15時0分
-
4目からウロコな“ビニール袋のたたみ方”が100万再生 超便利な“裏技”に「こっちの方が絶対いい」
ねとらぼ / 2025年1月5日 7時30分
-
5「PS5のソフト(ステルス)」おすすめ3選&ランキング あの名作が3000円台で買える!? 1位の「Black Ops」シリーズ最新作など注目タイトルをピックアップ【2025年1月版】
Fav-Log by ITmedia / 2025年1月4日 18時19分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください