115.4 Block

block 出力形式は、Unicode ブロック要素 (Block element; U+2580-259F) 文字、または点字文字 (Braille Patterns; U+2800-28FF) を使って解像度を向 上させた疑似グラフィック出力を作成します。これは端末 (ターミナル) グラ フィックの代用品です。それには、UTF-8 が表示できる端末、またはビューワ が必要です。描画には、古い内部ビットマップコードを用います。テキストは dumb 出力形式ルーチンを用いて、グラフィックスの一番上に表示します。

書式:

       set term block
               {dot | half | quadrants | sextants | braille}
               {{no}enhanced}
               {size <x>, <y>}
               {mono | ansi | ansi256 | ansirgb}
               {{no}optimize}
               {charpoints | gppoints}

size は、ターミナルサイズを文字セル単位で設定します。

dot, half, quadrants, sextants, braille は、疑似グラフィック の生成に用いる文字セットの選択です。dot は単純なドットを、half は半 ブロック文字群を使用します。quadrants は、縦横両方向に 2 倍の解像度を 生む四分ブロック文字群を使います。sextants は、2x3 の六分ブロック文字 群 (Block Sextant; U+1FB00-1FB3B) を使用します。braille は点字記号を 使い、これは 2x4 の疑似解像度を提供します。

2x3 の六分ブロック文字は、Unicode 13 にのみ含まれていることに注意してく ださい。よって、それをサポートするフォントは未だ限定的です。それは点字 記号についても同様です。利用可能なフォントには、例えば unscii, IBM 3270, GNU Unifont, DejaVu Sans などがあります。

オプション ansi, ansi256, ansirgb は、出力に色を表示させるための エスケープシーケンスを含ませます。これらは、あなたの端末が処理できない かもしれないことに注意してください。デフォルトは mono (白黒) です。 エスケープシーケンスの一覧については、以下参照: terminal dumb (115.12)

ブロック文字群を使うことで、ビットマップの疑似解像度は上がりますが、こ れはカラーに対してはそうではありません。複数の pixel が同じ色を共有す る必要があります。これは、ひとつの文字セルで、すべてのピクセルの色の平 均を取ることで処理しています。optimize をつけると、この出力形式は背景 色と前景色の両方の設定によってそれを改善しようとします。この手法は、 half モードでは完全に機能しますが、quadrants, sextantsでは難しさ が増していきます。また、braille では使用できません。

gppoints は、グラフィックコマンドを使って点記号を描こうとします。端末 の低解像度性のため、braille モードではこれは大抵実用的です。 charpoints は、代わりに Unicode 記号文字を使用します。これらも常にグ ラフィックの一番上に描かれることに注意してください。

竹野茂治@新潟工科大学
2021-03-26