2.7 対応している制御コード一覧


  1. 制御コード一覧
  2. ESC 一覧
  3. CSI 一覧
  1. OSC 一覧
  2. DCS 一覧
  3. オプション一覧
  1. 拡張オプション一覧
  2. 文字セット一覧
  3. UTF-8表示仕様
  1. vttestのスナップ

2.7.1 制御コード一覧


 01 SOH Kermitプロトコル開始
 05 ENQ BPlusプロトコルENQ
 07 BEL ビープを鳴らす
 08 BS カーソルを左に1文字移動(拡張オプション45の影響を受ける)
 09 HT カーソルを次の横タブ位置に移動
 0A LF カーソルを一行下に移動(LNMの影響を受ける。スクロールアップあり)
 0B VT カーソルを次の縦タブ位置に移動(LNMの影響を受ける)
 0C FF LFと同じ(LNMの影響を受ける。スクロールアップ)
 0D CR カーソルを左端に移動
 0E SO 文字バンクをGRに設定
 0F SI 文字バンクをGLに設定
 10 DC0 BPlusプロトコル開始
 18 CAN ZModemの開始/ESCシーケンスの中断
 1B ESC エスケープシーケンス開始
 1C FS *2 カーソルを右に1文字移動(ADM3)
 1D GS *2 カーソルを左に1文字移動(ADM3)
 1E RS *2 カーソルを上に1行字移動(ADM3)
 1F US *2 カーソルを下に1行字移動(ADM3)

2.7.2 ESC 一覧


ESC FF *5 Tek40xxモードに移行
ESC SP F S7C1T 7ビットコントロール文字を返す(CSI=ESC [ )
ESC SP G S8C1T 8ビットコントロール文字を返す(CSI=0x9B)
ESC SP L *1 Level1 G0=ASCII G1=Latan GL=G0 GR=G1
ESC SP M *1 Level2 G0=ASCII G1=Latan GL=G0 GR=G1
ESC SP N *1 Level3 G0=ASCII GL=G0
ESC # 3 DECDHL 縦・横2倍表示(上部)
ESC # 4 DECDHL 縦・横2倍表示(下部)
ESC # 5 DECSWL 通常表示
ESC # 6 DECDWL 横2倍表示
ESC # 8 DECALN 画面を「E」で埋める
ESC $ ( Dscs GZM4 文字バンクG0に文字セット94x94のDscs を設定
ESC $ ) Dscs G1M4 文字バンクG1に文字セット94x94のDscs を設定
ESC $ + Dscs G2M4 文字バンクG2に文字セット94x94のDscs を設定
ESC $ * Dscs G3M4 文字バンクG3に文字セット94x94のDscs を設定
ESC $ , Dscs GZM6 文字バンクG0に文字セット96x96のDscs を設定
ESC $ - Dscs G1M6 文字バンクG1に文字セット96x96のDscs を設定
ESC $ . Dscs G2M6 文字バンクG2に文字セット96x96のDscs を設定
ESC $ / Dscs G3M6 文字バンクG3に文字セット96x96のDscs を設定
ESC % ! 1 *5 Tek41xxモードに移行
ESC ( Dscs GZD4 文字バンクG0に文字セット94のDscs を設定
ESC ) Dscs G1D4 文字バンクG1に文字セット94のDscs を設定
ESC * Dscs G2D4 文字バンクG2に文字セット94のDscs を設定
ESC + Dscs G3D4 文字バンクG3に文字セット94のDscs を設定
ESC , Dscs GZD6 文字バンクG0に文字セット96のDscs を設定
ESC - Dscs G1D6 文字バンクG1に文字セット96のDscs を設定
ESC . Dscs G2D6 文字バンクG2に文字セット96のDscs を設定
ESC / Dscs G3D6 文字バンクG3に文字セット96のDscs を設定
ESC 1 DECHTS 現在のカーソル位置に横タブをセット
ESC 2 DECCAHT すべての横タブをクリア
ESC 3 DECVTS 現在のカーソル位置に縦タブをセット
ESC 4 DECAVT すべての縦タブをクリア
ESC 6 DECBI カーソルを左に1文字移動(ライトスクロールあり)
ESC 7 DECSC カーソル位置、文字属性、文字バンク、タブ位置、オプションを保存
ESC 8 DECRC DECSCで保存されたカーソル位置などを復元
ESC 9 DECFI カーソルを右に1文字移動(レフトスクロールあり)
ESC < V5EX *1 VT52モードを終了
ESC = DECPAM [App]モードが有効なキーコードを送信(アプリケーションキーモード)
※2.25.4より拡張オプション1060が有効の時のみアプリケーションキーモードが有効になります
ESC > DECPNM [App]モードが無効なキーコードを送信(ノーマルキーモード)
ESC A 81 CUP *1 カーソルを上に1行字移動
ESC B 82 BPH *1 カーソルを下に1行字移動
ESC C 83 NBH *1 カーソルを右に1文字移動
ESC D 84 IND 1行下に移動(スクロールアップあり)
*1 カーソルを左に1文字移動
ESC E 85 NEL 1行下の行頭に移動(スクロールアップあり)
ESC F 86 SSA *1 グラフィックモード設定 ESC(0 ESC)0を実行
ESC G 87 ESA *1 グラフィックモード解除 ESC(B ESC)0を実行
ESC H 88 HTS 現在のカーソル位置に横タブを設定
*1 カーソルをホームポジションに移動
ESC I 89 HTJ カーソルを次の横タブ位置に移動
*1 1行上に移動(バックスクロールあり)
ESC J 8A VTS 現在のカーソル位置に縦タブを設定
*1 現在のカーソル位置の右側と下を消去
ESC K 8B PLD 1行下に移動
*1 現在のカーソル位置の右側を消去
ESC L 8C PLU 1行上に移動
ESC M 8D RI 1行上に移動(バックスクロールあり)
ESC N 8E SS2 文字バンクのGRをG2に設定
ESC O 8F SS3 文字バンクのGRをG3に設定
ESC P 90 DCS DCS開始
ESC V 96 SPA 文字消去ガード開始
ESC W 97 EPA 文字消去ガード終了
ESC X 98 SOS SOS開始
ESC Y y x 99 MCP *1 カーソルをx, yに移動(x,y=SP+n)
ESC Z 9A SCI *1 ESC/Zを返す(ANMによりDA1)
ESC [ 9B CSI CSI開始
ESC \ 9C ST DCS/SOS/OSC/PM/APC終了
ESC ] 9D OSC OSC開始
ESC ^ 9E PM PM開始
ESC _ 9F APC APC開始
ESC c RIS すべての設定を初期設定に戻す
ESC l LMA *1 画面分割の上辺を現在のカーソル位置に設定
ESC m USR *1 画面分割の上辺をトップに戻す
ESC n LS2 文字バンクのGLをG2に設定
ESC o LS3 文字バンクのGLをG3に設定
ESC | LS3R 文字バンクのGRをG3に設定
ESC } LS2R 文字バンクのGRをG2に設定
ESC ~ LS1R 文字バンクのGRをG1に設定

2.7.2 CSI 一覧


CSI Pn @ ICH 現在のカーソル位置にPn[1]個の空白文字を挿入(現在行のみライトスクロール)
CSI Pn SP @ SL Pn[1]回左に全画面横スクロール(レフトスクロール)
CSI Pn A CUU Pn[1]行カーソルを上に移動(DECSTBMの影響を受ける)
CSI Pn SP A SR Pn[1]回右に全画面横スクロール(ライトスクロール)
CSI Pn B CUD Pn[1]行カーソルを下に移動(DECSTBMの影響を受ける)
CSI Pn C CUF Pn[1]桁カーソルを右に移動(DECLRMM設定時、DECSLRMの影響を受ける)
CSI Pn D CUB Pn[1]桁カーソルを左に移動(DECLRMM設定時、DECSLRMの影響を受ける)
CSI Pn SP D FNT フォントセット(0~10)をPn[0]に変更
CSI Pn E CNL Pn[1]行カーソルを下の左端に移動(DECSTBMの影響を受ける)
CSI Pn F CPL Pn[1]行カーソルを上の左端に移動(DECSTBMの影響を受ける)
CSI Pn G CHA x = Pn[1]にカーソルを移動(DECOMの影響を受ける)
CSI Pl ; Pc H CUP x = Pc[1], y = Pl [1]にカーソルを移動(DECOMの影響を受ける)
CSI Pn I CHT Pn[1]個カーソルをタブ位置に移動
CSI Pn J ED
SPAERMの影響を受ける
Pn = [0] 現在のカーソル位置の右側と下を消去
Pn = 1 現在のカーソル位置の左側と上を消去
Pn = 2 全画面消去
CSI ? Pn J DECSED DECSCAの影響を受ける
Pn = [0] 現在のカーソル位置の右側と下を消去
Pn = 1 現在のカーソル位置の左側と上を消去
Pn = 2 全画面消去
CSI Pn K EL
SPAERMの影響を受ける
Pn = [0] 現在のカーソル位置の右側を消去
Pn = 1 現在のカーソル位置の左側を消去
Pn = 2 現在のカーソル位置の行を消去
CSI ? Pn K DECSEL DECSCAの影響を受ける
Pn = [0] 現在のカーソル位置の右側を消去
Pn = 1 現在のカーソル位置の左側を消去
Pn = 2 現在のカーソル位置の行を消去
CSI Pn L IL 現在のカーソル位置にPn[1]行挿入(バックスクロールあり)(DECSTBMの影響を受ける)
CSI Pn M DL 現在のカーソル位置にPn[1]行削除(スクロールアップあり)(DECSTBMの影響を受ける)
CSI Pn N EF EDに同じ
CSI Pn O EA EDに同じ
CSI Pn P DCH 現在のカーソル位置からPn[1]文字削除(現在行のみレフトスクロールあり)
CSI Pn SP P PPA Pn[1]ページに移動
CSI # P
CSI Pm # P
XTPUSHCOLORS
*4
カラーパレットを保存します
Pmで1から10までの数値を指定するとその番号のカラーパレット
を保存します。Pmが0もしくは、指定無しの場合はスタック動作でプッシュします
CSI Pn SP Q PPR +Pn[1]ページにオフセット移動
CSI # Q
CSI Pm # Q
XTPOPCOLORS
*4
XTPUSHCOLORSで保存されたカラーパレットを復元します
Pmで1から10までの数値を指定するとその番号のカラーパレット
を復元します。Pmが0もしくは、指定無しの場合はスタック動作でポップします
CSI Pn SP R PPB -Pn[1]ページにオフセット移動
CSI # R XTREPORTCOLORS
*4
XTPUSHCOLORSで保存されたカラーパレットのスタックの状態をCSI ? Pn ; Ps # Qで返します
Pn 現在のスタック位置(XTPUSHCOLORSで数値指定した場合は、その番号)
Ps 過去にスタックされた数
CSI Pn S SU Pn[1]行スクロールアップ(DECSTBMの影響を受ける)
CSI = Pn S C25LCT *3
Pn = [0] カーソルを表示
Pn = 1 カーソルを非表示
CSI ? Pi; Pa; Pv S XTSMGRAPHICS
*4
Pi = 1 ReGIS/Sixelのカラーパレット
Pa = 1 read カラーパレットの数を返す
Pa = 2 reset デフォルトにもどす
Pa = 3 set カラーパレットを設定する(現時点では無視)
CSI ? Pi; Ps; Pv Sの形式で応答する
Ps = 0 Pvに現在のカラーパレットの数
CSI Pn T SD
Pn = [1] バックスクロール(DECSTBMの影響を受ける)
Pn1 ; Pn2 ; Pn3 ; Pn4 ; Pn5 ハイライト・マウス・トラックの範囲指定
Pn4 = [1] スタート行 Pn5 = [1] エンド行
CSI > T XTRMTITLE *4 ウィンドウタイトル形式の設定を解除する
CSI > Pn t
Pn = 0 OSCのタイトル設定を16進数デコードしない
Pn = 1 XTWOPでタイトルを16進数エンコードしない
Pn = 2 OSCのタイトル設定を現在の漢字コードで扱う
Pn = 3 XTWOPでタイトルを現在の漢字コードで返す
CSI Pn U NP Pn[1]ページヒストリーアップ(スクロールバーのページ操作を行う)
CSI Pn V PP Pn[1]ページヒストリーバック(スクロールバーのページ操作を行う)
CSI Pn W CTC
Pn = [0] 横タブをセット
Pn = 1 縦タブをセット
Pn = 2 横タブをクリア
Pn = 3 縦タブをクリア
Pn = 4 現在行の横タブをすべてクリア
Pn = 5 全行の横タブをすべてクリア
Pn = 6 すべての縦タブをクリア
CSI ? W DECST8C 横タブ位置を8文字に初期化
CSI Pn X ECH 現在のカーソル位置からPn[1]文字消去
CSI Pn Y CVT Pn[1]個カーソルを次の縦タブ位置に移動
CSI Pn Z CBT Pn[1]回バック横タブ
CSI Pn ` HPA x = Pn[1]にカーソルを移動(DECOMの影響を受ける)
CSI Pn a HPR x + Pn[1]にカーソルをオフセット移動(DECOMの影響を受ける)
CSI Pn b REP 直前の文字をPn[1]回繰り返す
CSI Pn c DA1
TermID DECTIDTermID設定によりレスポンスが異なる
[10] CSI ? 65;1;2;3;4;6;8;9;18;21;22;29;39;42;44 c
9 CSI ? 64;1;2;8;9;15;18;21 c
7, 8 CSI ? 63;1;2;8;9 c
5, 6 CSI ? 62;1;2;8;9 c
2, 3 CSI ? 6 c
1 CSI ? 1;0 c
0 CSI ? 1;2 c
CSI = c  DA3  DCS ! | 000000 ST を返す(ESC/CSI/DCSの設定で変更可能)
CSI > c DA2  CSI > 65 ; 277 ; 0 c を返す(ESC/CSI/DCSの設定で変更可能)
CSI Pn d VPA y = Pn[1]にカーソルを移動(DECOMの影響を受ける)
CSI Pn e VPR y + Pn[1]にカーソルをオフセット移動(DECOMの影響を受ける)
CSI Pl ; Pc f HVP x = Pc[1], y = Pl[1] にカーソルを移動(DECOMの影響を受ける)
CSI Pn g TBC
Pn = [0] 横タブをクリア
Pn = 1 縦タブをクリア
Pn = 2 現在行の縦タブが有効なら横タブをすべてクリア
Pn = 3 現在行の横タブをすべてクリア
Pn = 4 すべての縦タブをクリア
Pn = 5 すべての縦・横タブをクリア
CSI Pn h SM オプションを設定
CSI ? Pn h DECSET 拡張オプションの設定
CSI Pn i MC
Pn = [0],2 全画面をMCウィンドウに転送(DECPEXの影響を受ける)
Pn = 1,3 現在行のみMCウィンドウに転送
Pn = 4,6 以降、通常操作に戻す
Pn = 5,7 以降の文字出力をMCウィンドウに転送
CSI ? Pn i DECMC
Pn = [0],2 全画面をMCウィンドウに転送(DECPEXの影響を受ける)
Pn = 1,3 現在行のみMCウィンドウに転送
Pn = 4 以降、通常操作に戻す
Pn = 5 以降の文字出力をMCウィンドウに転送
Pn = 10 全画面をMCウィンドウに転送
Pn = 11 ヒストリーを含めててすべてをMCウィンドウに転送
CSI < Pn ! i RLIMGCP
Pn = [0] 表示されている画面をImageウィンドウにグラフィックイメージに変換して表示します
Pn = 1 GIFファイルにグラフィックイメージに変換して保存
Pn = 2 JPGファイルにグラフィックイメージに変換して保存
Pn = 3 PNGファイルにグラフィックイメージに変換して保存
Pn = 4 BMPファイルにグラフィックイメージに変換して保存
※w2kバイナリでは、ファイルに保存することが出来ません
CSI Pn j HPB Pn[1]個左にカーソル位置を移動
CSI Pn k VPB Pn[1]行上にカーソル位置を移動
CSI Pn l RM オプションを解除
CSI ? Pn l DECRST 拡張オプションの解除
CSI Pn m SGR
Pn = [0] すべての文字属性を解除
Pn = 1 太文字/高輝度に設定
Pn = 2 低輝度に設定
Pn = 3 イタリックに設定
Pn = 4 下線に設定
Pn = 5 文字を低速点滅
Pn = 6 文字を高速点滅
Pn = 7 文字色と背景色を反転
Pn = 8 文字色を背景色と同じにする
Pn = 9 文字の打ち消し線を設定
Pn = 10~20 フォントセットの設定
Pn = 21 2重下線を設定
Pn = 22 太文字と低輝度を解除
Pn = 23 イタリックを解除
Pn = 24 下線を解除
Pn = 25 点滅を解除
Pn = 27 反転を解除
Pn = 28 シークレットを解除
Pn = 29 打ち消し線を解除
Pn = 30~37 文字色の設定
Pn = 38:2:r:g:b RGBで近似色を設定
Pn = 38;5;0~255 拡張文字色を設定
Pn = 39 文字色をデフォルト色に戻す
Pn = 40~47 背景色の設定
Pn = 48:2:r:g:b RGBで近似色を設定
Pn = 48;5;0~255 拡張背景色の設定
Pn = 49 背景色をデフォルト色に戻す
Pn = 51 □を重ねる
Pn = 52 ○を重ねる
Pn = 53 上線を設定
Pn = 54 □○を取り消し
Pn = 55 上線を取り消し
Pn = 60 右側に縦線
Pn = 61 右側に2本線
Pn = 62 左側に縦線
Pn = 63 左側に2本線
Pn = 64 2重打ち消し線
Pn = 65 60~64を取り消し
Pn = 90~97 高輝度の文字色設定
Pn = 100~107 高輝度の背景色設定
CSI > Pn ; Ps m XTMODKEYS
*4
Pn キーセットの選択
Pn = 1 modifyCursorKeys UP,DOWN,RIGHT,LEFT,PRIOR,NEXT,HOME,END,INSERT,DELETE
Pn = 2 modifyFunctionKeys F1-F12
Pn = 3 modifyKeypadKeys NumLockオン時のキーパッド
Pn = 4 modifyOtherKeys ESCAPE,RETURN,BACK,TAB,SPACE
Pn = 5 modifyStringKeys 0-9,A-Z
Ps キーコードの選択 例 (Shift + ↑)
Ps = 0 CSI/SS3で返す CSI 2 A / SS3 2 A
Ps = 1 CSIで返す CSI 2 A
Ps = 2 CSIで返す(1) CSI 1 ; 2 A
Ps = 3 CSI >で返す CSI > 1 ; 2 A
追加パラメータ
2 Shift
3 Alt
4 Shift + Alt
5 Ctrl
6 Ctrl + Shift
7 Ctrl + Alt
8 Ctrl + Shift + Alt
発生するキーコードは、各種DECPAM/DECPNM/DECCKM/DECANMの設定により異なる
また、キー別に設定したキーコードがCSI/SS3の場合にのみ追加されメニューのショートカット
が設定されている場合は、拡張オプション8450により優先が変わる
CSI Pn n DSR
Pn = 5 CSI 0 n を返す
Pn = 6 CSI y ; x R にてカーソル位置を報告する
CSI > Pn n XTDISMODKEYS
*4
Pn 選択したキーセットの拡張を解除する
Pn = 1 modifyCursorKeys UP,DOWN,RIGHT,LEFT,PRIOR,NEXT,HOME,END,INSERT,DELETE
Pn = 2 modifyFunctionKeys F1-F12
Pn = 3 modifyKeypadKeys NumLocオン時のキーパッド
Pn = 4 modifyOtherKeys ESCAPE,RETURN,BACK,TAB,SPACE
Pn = 5 modifyStringKeys 0-9,A-Z
CSI ? Pn n DECDSR
1/2/3 malfunction detected CSI ? 20 n
6 カーソル位置 CSI Pl ; Pc ; Pp R
15 プリンタ無し CSI ? 13 n
25 UDK固定 CSI ? 21 n
26 ASCIIキーボード CSI ? 27 ; 1 n
53/55 locatorの状態 CSI ? 50 n
56 locatorあり CSI ? 57 ; 1 n
62 Macro Space=0 CSI 0 * {
63 チェックサム0を返す DCS Pn ! ~ 0 ST
75 Ready CSI ? 70 n
85 not multiple-session CSI ? 83 n
CSI Pn o DAQ
Pn = [0] 文字消去ガード終了(EPAと同じ)
Pn = 1,8 文字消去ガード開始(SPAと同じ)
CSI Pn p RLBFAT *3
Pn[0]の各ビットに応じた文字属性変更
Bit 0 (1) 太文字/高輝度に設定
Bit 1 (2) 文字を高速点滅
Bit 2 (4) 文字色を背景色と同じにする
Bit 3 (8) 下線に設定
Bit 4 (16) 文字色と背景色を反転
DECSSL *6 メニュー言語設定(未実装)
CSI ! p  DECSTR  リセット、設定を初期化して全画面消去、カーソルをホームに移動
CSI Pn ; Ps " p DECSCL
Pn = 61~65 VTターミナル設定
Pnが62以上の場合、以下のPsが有効
Ps = [0] S8C1Tと同じ
Ps = 1 S7C1Tと同じ
CSI Pn $ p DECRQM CSI Pn h / l のオプション設定の状態を CSI Pn ; Pv $ y で返す
Pv = 0 非対応
Pv = 1 オプション設定状態(CSI Pn h)
Pv = 2 オプション解除状態(CSI Pn l)
CSI Pn + p DECSR 画面と設定を初期化して(DECSRC) CSI Pn * q を返す
CSI ? Pn $ p DECRQMH  拡張オプション設定の状態を CSI ?Pn ; Pv $ y で返す
Pv = 0 非対応
Pv = 1 オプション設定状態(CSI ?Pn h)
Pv = 2 オプション解除状態(CSI ?Pn l)
Pv = 3 オプション設定状態 ターミナルのオプション設定
で変更できないオプション
Pv = 4 オプション解除状態
CSI > Pn p XTSMPOINTER
*4
Pn = [0] マウスカーソルを表示する
Pn = 1 マウスイベント時のみ表示する
Pn = 2,3 マウスカーソルを表示しない
CSI # p XTPUSHSGR
*4
現在の文字色や文字属性をスタックに保存します
CSI # { のエイリアスです
CSI Pn q DECLL ステータスバーに (1234) の文字を表示する
Pn = [0] すべてクリア ----
Pn = 1 1を表示 1---
Pn = 2 2を表示 -2--
Pn = 3 3を表示 --3-
Pn = 4 4を表示 ---4
CSI Pn SP q DECSCUSR
Pn = [0],1 ブロックカーソル 点滅
Pn = 2 ブロックカーソル
Pn = 3 _ アンダーラインカーソル 点滅
Pn = 4 _ アンダーラインカーソル
Pn = 5 | 縦ラインカーソル 点滅
Pn = 6 | 縦ラインカーソル
CSI > Ps q XTVERSION *4 Ps = 0 で以下のバージョン情報を応答する
DCS > | RLogin(x.x.x) ST
CSI <Pn ! q RLCURCOL *3
Pn = デフォルト文字カーソルカラー
Pn = 0-255 文字カーソルをカラーパレット色に変更
Pr,Pg,Pb 文字カーソルをRGBで変更
CSI Pn " q DECSCA
Pn = [0] プロテクト無効
Pn = 1 プロテクト有効
CSI Pn , q DECTID ターミナルIDをPn[10]に設定
CSI # q XTPOPSGR
*4
現在の文字色や文字属性をスタックから復元します
CSI # } のエイリアスです
CSI Pt ; Pb r DECSTBM
スクロール範囲を設定
Pt = [1] スクロール開始行
Pb = [lines] スクロール終了行
CSI P... $ r DECCARA 指定範囲の文字属性を変更
CSI Pt ; Pl ; Pb ; Pr ; Pn... $ r
Pt = [1] 上行位置
Pl = [1] 左桁位置(DECSACEの影響を受ける)
Pb = [lines] 下行位置
Pr = [cols] 右桁位置(DECSACEの影響を受ける)
Pn... = [0] 文字属性(SGRと同じ形式)
CSI < r TTIMERS *7 CSI < s で保存したIMEの状態を復帰
CSI ? Pn r XTRESTORE
*4
拡張オプションの復元
CSI s SCOSC カーソル位置を保存
DECSLRM *6 左右マージン設定(DECLRMM設定時)
Pn1 = [1] 左マージン位置
Pn2 = [cols] 右マージン位置
CSI < s TTIMESV *7 現在のIME状態を保存
CSI ? Pn s XTSAVE *4 拡張オプションの保存
CSI Pn ; P1 ; P2 t XTWINOPS *4 ターミナルのオプション設定の461の設定で動作が許可されます。
デフォルトでは、メインウィンドウの操作が出来ないようにしています。
Pn = 1 メインウィンドウをノーマル表示
Pn = 2 メインウィンドウをアイコン表示
Pn = 3 メインウィンドウの表示位置を設定
P1 = x 横の位置 pixel
P2 = y 縦の位置 pixel
Pn = 4 メインウィンドウのサイズを設定
P1 = h 縦のサイズ pixel
P2 = w 横のサイズ pixel
Pn = 5 メインウィンドウを前面に移動
Pn = 6 メインウィンドウを背面に移動
Pn = 7 メインウィンドウを再表示
Pn = 8 スクリーンサイズを変更
P1 = h 行数 文字単位
P2 = w 文字数 文字単位
Pn = 9 メインウィンドウを最大化(P1=1)
Pn = 11 CSI Pn t でメインウィンドウの状態を返す
Pn = 1 ノーマル表示
Pn = 2 アイコン表示
Pn = 13 CSI 3 ; P1 ; P2 t でメインウィンドウの位置を返す
P1 = x 横の位置 pixel
P2 = y 縦の位置 pixel
Pn = 14 CSI 4 ; P1l ; P2 t でメインウィンドウのサイズを返す
P1 = h 縦のサイズ pixel
P2 = w 横のサイズ pixel
Pn = 18 CSI 8 ; P1 ; P2 t でスクリーンサイズを返す
P1 = h 行数 文字単位
P2 = w 文字数 文字単位
Pn = 19 CSI 9 ; P1 ; P2 t でルートウィンドウのサイズを返す
P1 = h 行数 文字単位
P2 = w 文字数 文字単位
Pn = 20 OSC L Title ST でウィンドウタイトルを返す
Pn = 21 OSC l Title ST でウィンドウタイトルを返す
Pn = 22 ウィンドウタイトルをスタックに保存
Pn = 23 ウィンドウタイトルをスタックから復帰
Pn = 24以上 DECSLPPを実行
DECSLPP *6 Pn = [lines] 表示行数の変更
CSI P... $ t DECRARA 指定範囲の文字属性を反転
CSI Pt ; Pl ; Pb ; Pr ; Psn... $ t
Pt = [1] 上行位置
Pl = [1] 左桁位置(DECSACEの影響を受ける)
Pb = [lines] 下行位置
Pr = [cols] 右桁位置(DECSACEの影響を受ける)
Pn... = [0] 0 すべての属性を反転
1 太文字/高輝度を反転
2 低輝度を反転
3 イタリックを反転
4 下線を反転
5 低速点滅を反転
6 高速点滅を反転
7 反転表示を反転
8 シークレットを反転
9 打ち消し線を反転
CSI < Pn t TTIMEST *7
Pn = [0] IMEクロース
Pn = 1 IMEオープン
CSI > Pn t XTSMTITLE *4 ウィンドウタイトル形式の設定する
Pn = 0 OSCのタイトル設定を16進数デコードする
Pn = 1 XTWOPでタイトルを16進数エンコードする
Pn = 2 OSCのタイトル設定をUTF-8文字列で扱う
Pn = 3 XTWOPでタイトルをUTF-8文字列で返す
CSI Pn u SCORC SCOSCで保存されたカーソル位置に復帰
DECSHTS *6 Pn[1]で設定した位置に横タブを設定
CSI Pn $ u DECRQTSR
Pn = 1 DECTSR(DCS 0 $ s ST)を返す
Pn = 2 すべてのフォントカラー情報を
DECCTR(DCS 2 $ s Ps... ST)で返す
CSI & u DECRQUPSS DCS 1 ! u A ST を返す
CSI Pn v RLSCD *3
Pn = [0] カーソルを表示
Pn = 1 カーソルを非表示
DECSVTS *6 Pn[1]で設定した位置に縦タブを設定
CSI Pn " v DECRQDE CSI Ph ; Pw ; Pml ; Pmt ; Pmp " w を返す
Ph 画面行数
Pw 画面桁数
Pml 左マージン
Pmt 上マージン
Pmp 現在ページ番号
CSI P... $ v DECCRA 指定範囲の文字をコピー
CSI Pts ; Pls ; Pbs ; Prs ; Pps ; Ptd ; Pld ; Ppd $ v
Pts = [1] ソース上行位置
Pls = [1] ソース左桁位置
Pbs = [lines] ソース下行位置
Prs = [cols] ソース右桁位置
Pps = [page] ソースページ番号
Ptd = [1] コピー先上行位置
Pld = [1] コピー先左桁位置
Ppd = [page] コピー先ページ番号
CSI Pn $ w DECRQPSR
Pn = 1 カーソル位置情報や文字バンク情報を
DECCIR (DCS 1 $ u ... ST)で返す
Pn = 2 すべての横タブ位置情報を
DECTABSR (DCS 2 $ u ... ST)で返す
CSI P... ' w DECEFR マウス・ロケーターの選択矩形域を指定
CSI Pt ; Pl ; Pb ; Pr ' w
Pt = [1] 上行位置
Pl = [1] 左桁位置
Pb = [lines] 下行位置
Pr = [cols] 右桁位置
CSI Pn x DECREQTPARM CSI 2;1;1;112;112;1;0 x を返す
CSI P... $ x DECFRA 指定範囲を指定の文字で埋める
CSI Pc ; Pt ; Pl ; Pb ; Pr $ x
Pc = [0] 文字コード番号
Pt = [1] 上行位置
Pl = [1] 左桁位置
Pb = [lines] 下行位置
Pr = [cols] 右桁位置
CSI Pn * x DECSACE DECCARA,DECRARAの横範囲方法を設定
Pn = [1] 連続した範囲を選択(デフォルト)
Pn = 2 Pl, Prパラメータで矩形範囲を指定
CSI + x DECPQPLFM プログラムキーフリーエリアとして(DECPKFMR) CSI 768 ; 768 + y を返す
CSI Pn y DECTST テスト(全画面消去してカーソルを左上原点に移動)
CSI P... * y DECRQCRA 指定範囲のチェックサムを返す(DECCKSR) DCS Pn ! ~ Ps ST
CSI Pn ; Pp ; Pt ; Pl ; Pb ; Pr * y
Pn = [0] リクエスト番号
Pp = [page] ページ番号
Pt = [1] 上行位置
Pl = [1] 左桁位置
Pb = [lines] 下行位置
Pr = [cols] 右桁位置
CSI P... $ z DECERA 指定範囲の消去
CSI Pt ; Pl ; Pb ; Pr $ z
Pt = [1] 上行位置
Pl = [1] 左桁位置
Pb = [lines] 下行位置
Pr = [cols] 右桁位置
CSI Pn ; Ps ' z DECELR
Pn = [0] マウス・ロケーターを無効
Pn = 1 マウス・ロケーターを有効
Pn = 2 マウス・ロケーターを有効(ワンショットモード)
Ps = 1 ピクセルモードでマウス位置を報告
Ps = [2] 文字モード(桁行)でマウス位置を報告
CSI Pn * z DECINVM DECDMACで設定したPn[0]番号のマクロを実行
CSI P... $ { DECSERA 指定範囲の消去(DECSCAの影響を受ける)
CSI Pt ; Pl ; Pb ; Pr $ {
Pt = [1] 上行位置
Pl = [1] 左桁位置
Pb = [lines] 下行位置
Pr = [cols] 右桁位置
CSI Pn ' { DECSLE
Pn = [0] マウス・ロケーター・イベント無効
Pn = 1 マウス・ボタン・ダウンでイベント有効
Pn = 2 マウス・ボタン・ダウンでイベント無効
Pn = 3 マウス・ボタン・アップでイベント有効
Pn = 4 マウス・ボタン・アップでイベント無効
CSI Pn ) { DECSTGLT
Pn = [0] 文字色をモノクロモードに設定
Pn = 1,2,3 文字色をカラーモード(初期状態)に戻す
CSI Ps # { XTPUSHSGR
*4
現在の文字色や文字属性をスタックに保存します
Ps = [0] すべての属性と色
Ps = 1 Bold
Ps = 2 Faint
Ps = 3 Italicized
Ps = 4 Underlined
Ps = 5 Slowly Blink
Ps = 6 Rapidly Blink
Ps = 7 Inverse
Ps = 8 Invisible
Ps = 9 Crossed-out
Ps = 21 Doubly-underlined
Ps = 30 Foreground color
Ps = 31 Background color
CSI Pn $ | DECSCPP フォントサイズ固定の場合は、Pn[cols]で画面を初期化
桁数固定の場合は、Pn[0] > 80でDECCOLM(132桁)オプションをセット
CSI ' | DECRQLP マウス・ロケーターの位置を返します(DECLRP)
CSI Pe ; Pb ; Pr ; Pc ; Pp & w
Pe 0 イベントなし
1 DECRQLP応答
2 左ボタン・ダウン
3 左ボタン・アップ
6 右ボタン・ダウン
7 右ボタン・アップ
10 選択矩形範囲外
Pb Bit 0(1) 左ボタン・ダウン
Bit 2(4) 右ボタン・ダウン
Pr 行(y)位置
Pc 桁(x)位置
Pp 常に0
CSI P... # | XTREPORTSGR 指定範囲の文字属性をSGR形式で応答する
CSI Pt ; Pl ; Pb ; Pr # |
Pt = [1] 上行位置
Pl = [1] 左桁位置
Pb = [lines] 下行位置
Pr = [cols] 右桁位置
CSI Pn $ } DECSASD
Pn = [0] 通常動作
Pn = 1 以降の操作をステータス画面で行う
DECSSDTでステータス画面の設定が必要
CSI Pn ' } DECIC Pn[1]個の空白文字の挿入(その行のみライトスクロール)
CSI P... , } DECATC 文字属性を変更
CSI Pa ; Pc ; Pb , }
Pa = [0] 文字属性の設定
Pf = [7] 文字色の設定
Pb = [0] 背景色の設定
CSI # } XTPOPSGR
*4
XPUSHSGRで保存されたの文字色や文字属性をスタックから復元します
CSI Pn SP ~ DECTME
Pn = [0] 通常モード
Pn = 3 VT52モードに移行
CSI Pn $ ~ DECSSDT
Pn = [0] ステータス画面を閉じます
Pn = 1 ステータスバーに文字を表示します
Pn = 2以上 画面を分割してステータス画面を作成します。
2で1行、3で2行・・・(Pn-1)行で下方分割します
DECSTBMの機能とDECOMを利用して実装しています
※この操作で画面サイズ変更が通知されます
※ステータス画面のサイズ変更は、出来ません。必ずステータス
画面を閉じてから再度指定する必要があります
CSI Pn ' ~ DECDC Pn[1]個の文字の削除(その行のみレフトスクロール)
CSI P... , ~ DECPS ピアノ音色のMIDIで音を再生
CSI Pv ; Pd ; Pn , ~
Pv = [0] 音量(0-7)
Pd = [0] 1/32秒
Pn = [0] 1 = C3, 2 = C#3, 3 = D3

2.7.4 OSC 一覧


OSC Pn ; P... BEL *4
OSC 0/1/2 ; Title BEL
ウィンドウタイトルをTitleに変更
TitleXTSMTT/XTRMTTの影響を受けます
OSC 4 ; Pc ; spec BEL
Pc番のカラーパレットを以下のspecで設定
#rrggbb 16進数で色を指定
rgb:rr/gg/bb 16進数で色を指定
rgbi:r/g/b 0.0から1.0の数値で指定
reset デフォルトに戻す
? OSC 4 ; Pc ; rgb:rrrr/gggg/bbbb BEL で現在の値を返す
OSC 5 ; Pn ; spec BEL
リポートの場合は現在の文字色を返す
OSC 10/12/13/15/18/19 ; spec BEL
リポートの場合は現在の文字色を返す
10の設定の場合は、文字色を近似色に設定する
OSC 11/14/16/17 ; spec BEL
リポートの場合は現在の背景色を返す
11の設定の場合は、背景色を近似色に設定する
OSC 52 ; Pn ; spec BEL
クリップボードのテキスト内容を操作
Base64 Base64でエンコードされた文字列をクリップボードにコピー
? OSC 52 ; Pn ; Base64 BEL で現在のクリップボードの内容を返す
OSC 104 ; Pc BEL
Pc番のカラーパレットをデフォルトに戻す
OSC 105 ; Pn BEL
目に見える動作は無い
OSC 110/112/113/115/118/119 BEL
110の設定の場合は、文字色をデフォルトに設定する
OSC 111/114/116/117 BEL
111の設定の場合は、背景色をデフォルトに設定する
OSC 1337 ; BEL *9
OSC 1337 ; File=name=[base64];size=nn;width=[auto];height=[auto];preserveAspectRatio=[1];inline=[0]:[base64] BEL
name base64 ファイル名をbase64でエンコード
size N ファイルサイズ
width auto 表示サイズを画像サイズから計算
N 表示サイズを文字単位で指定
Npx 表示サイズをピクセルで指定
N% 表示サイズを画面桁数の割合で指定
height auto 表示サイズを画像サイズから計算
N 表示サイズを文字単位で指定
Npx 表示サイズをピクセルで指定
N% 表示サイズを画面行数の割合で指定
preserveAspectRatio 0 縦横の比率を無視して拡大縮小
1 縦横の比率を維持して拡大縮小
inline 0 ファイルに保存
1 対応画像(gif/png/jpg/bmp)なら画面に表示
base64 画像データなどをbase64でエンコード
OSC 800 ; Pc BEL *3
OSC 800 ; Pc BEL
漢字コードを変更・参照する
Pc = 0 EUC
Pc = 1 SJIS
Pc = 2 ASCII
Pc = 3 UTF-8
Pc = ? OSC 800 ; Pc BEL で現在の漢字コードを返す
OSC 801 ; p... BEL *3
OSC 801 ; Str BEL
音声合成で文字列を発音する
StrXTSMTT/XTRMTTの影響を受けます

2.7.5 DCS 一覧


DCS Pn | P... ST DECUDK ファンクションキーに文字列を設定
DCS Pn | Pk / Base16 ; ... ST
Pn = [0] すべてのファンクションキー定義をクリア
Pn = 1 指定したファンクションキー定義のみ置き換え
Pk
11 = F1 12 = F2 13 = F3 14 = F4
15 = F5 17 = F6 18 = F7 19 = F8
20 = F9 21 = F10 22 = F11 23 = F12
Base16 16進数化した文字列
DCS Pn p P... ST DECREGIS ReGISグラフィックウィンドウを開く
Pn = [0] すでにReGISウィンドウを開いていれば追加で描画
Pn = 1 常に新しいReGISウィンドウを開いて描画
DCS Pn q P... ST DECSIXEL Sixelグラフィックウィンドウを開く
DCS Pn1 ; Pn2 ; Pn3 ; Pn4 q P... ST
Pn1 = [0],1...9 横の縮小率を指定(アスペクト比の設定)
[0] 50% 5 60%
1 50% 6 70%
2 20% 7 80%
3 30% 8 90%
4 40% 9 100%
Pn2 = [0],1,2 背景色の設定
DECTIDが5以上(デフォルト)
1 現在の文字背景色の補色で初期化
[0], 2 現在の文字背景色で初期化
パレットをカラーで初期化
0 Black 4 Magenta 8 Gray-25% 12 Magenta*
1 Blue 5 Cyan 9 Blue* 13 Cyan*
2 Red 6 Yellow 10 Red* 14 Yellow*
3 Green 7 Gray-50% 11 Green* 15 Gray-75%
DECTIDが4以下の場合
[0], 1 白色で初期化
2 現在の文字背景色で初期化
パレットをモノクロで初期化
0 Black 4 Gray-10% 8 Black 12 Gray-10%
1 Gray-20% 5 Gray-30% 9 Gray-20% 13 Gray-30%
2 Gray-40% 6 Gray-50% 10 Gray-40% 14 Gray-50%
3 Gray-60% 7 White 11 Gray-60% 15 White
※ パレット色が背景色と同じ場合は補色に変更
※ 2.25.1よりPn2=5でSixel Graphicsのormodeに対応
Pn3 = [0],1... 20 全体の拡大縮小を指定(Grid Size指定)
[0]=100%
1=10% .... 10=100% ... 20=200%
Pn4 = 0 ... 1023 インデックス番号を指定し同じ画像をインデックス番号のみ
で再表示させることができます
※これは2.17.3以降の独自拡張です
DECSDMによりコンソール・外部ウィンドウと表示方法が異なる
Pn1,Pn3 の設定より、Sixel内のDECGRA(")のPan(V),Pad(H)が優先されます
※ 2.17.2よりDECGCI(#Pc;Pu;Px;Py;Pz)のPu=3で0-255のRGBが指定できます
※ 2.23.7よりDECGCI(#Pc;3;Px;Py;Pz;Pa)のPaで透明度(255で不透明)を指定できます
DCS Pn { P... ST DECDLD ユーザーフォントの設定
DCS Pfn ; Pcn ; Pe ; Pcmw ; Pss ; Pt ; Pcmh ; Pcss { <Dscs><font-pattern ; ...> ST
Pfn = [0],1,2 フォント番号(未使用)
Pcn = [0] 定義スタート文字番号 0=SP
Pe = [0],1,2 0 指定Dscsのすべてのフォントをクリアして置換
1 指定Dscsにフォントを追加・置換
2 すべてのユーザーフォントをクリア
Pcmw = [0],2,3,4 フォント横サイズ
0 Fw = 15
2 Fw = 5, Fh = 10
3 Fw = 6, Fh = 10
4 Fw = 7, Fh = 10
5以上 Fw = Pcmw
Pss = [0] Font set size (未使用)
Pt = [0],3 0,1,2 Text or full cell(未使用)
3 Sixelグラフィック
Pcmh = [0] フォント縦サイズ
0 Fh = 15
1以上 Fh = Pcmh
Pcss = [0] 0 文字セット94
1 文字セット96
<Dscs> 文字セットコードDscs を指定
<font-pattern> 6ビット単位のフォントパターン
0
1
2
3
4
5
左上から下にBit0~Bit5、右にバイトで
列挙し3F(?)を足して文字とする

00 00 3C 04 04 04 08 10 20 00
? ? { C C C G G - ?
00 00 3F 20 20 20 10 08 07 00
? ? ~ - - - O G F ?
00 00 00 00 00 00 00 00 00 00
? ? ? ? ? ? ? ? ? ?
上記のフォントパターン
??{CCCGG-?/??~---OGF?/????????;
Pt = 3 の場合、<font-pattern>をSixelグラフィックと
解釈してビットマップをPcmw/Pcmhのマトリクスに
分割し、カラーフォントパターンとして文字コードに
割り当てます。
※2.23.1より分割を切り上げに変更し余白を背景色で
塗りつぶすように変更しました。また文字コード範囲
(20-7F)を超えた場合は、次のDscs(30-7E)に加算し
さらに桁上がりでDcss(0-1)を変更します。これらの
変更は、DRCSMMv2の画像分割表示に合わせる為
のものです。
Dcss Dscs Char DRCSMMv2
0(94) 2/0 3/0-7/14 2/0-7/15 U+103020-U+107E7F
1(96) 2/0 3/0-7/14 2/0-7/15 U+1030A0-U+107EFF
DCS Pn ! z P... ST DECDMAC マクロの定義
DCS Pid ; Pdt ; Pen ! z D...D ST
Pid = [0]-63 DECINVMで使用するマクロ番号
Pdt = [0],1 0 Pidのマクロをクリア
1 すべてのマクロをクリア
Pen = [0],1 0 D...D は、テキスト
1 D...D は、16進数エンコード+リピート
D...D 基本16進数エンコードにリピート指定文字「!」
例 ABCxyzxyzxyzDEF = 414243!3;78797a;444546
DCS ! { P... ST DECSTUI 16進数4桁でターミナルIDを設定
DCS Pn $ P... ST DECRSTS
Pn = 2 DECCTRの復元
DCS $ q P... ST DECRQSS
m SGR DCS 0 $ r 0 m ST
r DECSTBM DCS 0 $ r 1 ; 25 r ST
s DECSLRM DCS 0 $ r 1 ; 80 s ST
t DECSLPP DCS 0 $ r 25 t ST
$ | DECSCPP DCS 0 $ r 80 $ | ST
$ } DECSASD DCS 0 $ r 0 $ } ST
$ ~ DECSSDT DCS 0 $ r 0 $ ~ ST
* | DECNLS DCS 0 $ r 25 * | ST
* x DECSACE DCS 0 $ r 1 * x ST
" p DECSCL DCS 0 $ r 65 " p ST
" q DECSCA DCS 0 $ r 1 " q ST
非対応CSI DCS 1 $ r ST
DCS Pn $ t P... ST DECRSPS
Pn = 1 DECCIRの復元
Pn = 2 DECTABSRの復元
DCS + q P... ST XTRQCAP *4 Termcap/Infoの各種設定を応答する
DCS + q Base16 ; ... ST
Base16 Termcap/Infoの項目名を16進数にエンコードして指定
Co(436f) 扱える文字色の総数を返す(256に固定)
TN(544e) TERM環境変数の名前を返す
k1(6b31) ファンクションキー1のキーコード
その他、キーコードなどを調べることができる
設定あり DCS 1 + r Base16 = Base16 ; ... STで返す
設定なし DCS 0 + r STで返す
Base16 項目名
= Base16 設定値など
例 termcapのCo(色数)を調べる
送信 "\033P+q436f\033\\"
受信 "\033P+r436f=323536\033\\"
DCS Pn #m MML ST RLMML *3 MML形式でMIDI演奏を行う
Pn1 = [0],1,2 0 すべて初期化
1 パラメータのみ初期化
2 初期化せずにMMLを追加
3 MMLの代わりにSMFをBase64で読み込む
4 SMF形式でファイルに保存
5 MML形式でファイルに保存(元のMMLではありません)
Pn2 = [0],1,2 0 演奏を開始
1 演奏を停止
2 演奏を中断
MML
A-G[#+-][n][.][,q][,v][,s][,o] C=ドで発音
Nt[,n][.][,q][,v][,s][,o] ノート番号で発音。N60でオクターブ5のC(ド)
It[,n][.][,q][,v][,s][,o] 前音のオフセットで発音。[Ci4i3]でCの和音
R[n][.] 休符
& タイ記号
^ スラー(ピッチベンドで変調)
通常は、1度の変調
RPNのyy0,0,24まで設定可能(2オクターブ)
L[n][.] 音の長さをn分音符で指定(1-96初期値4)
Qn 音の長さに対するゲートタイム(0-100初期値80%)
V[n|<|>|"|`] ベロシティを指定(0-127初期値100)
<|> ベロシティをダウン|アップ(約10%)
"|` 一時的ベロシティをダウン|アップ(約10%)
V?[n] ランダムにベロシティを変化させる(n%)
Sn 発音のタイミングをステップ単位で指定(初期値0)
On オクターブ(音階)を指定(0-10初期値5)
Kn 半音単位で移調
<|> オクターブダウン|アップ
"|` 一時的オクターブダウン|アップ
~n[,n]... Polyphonic Key Pressure(0-127初期値0)
Yn,n[n,n] Control Change
YYm,l[,dm][,dl] RPN/NRPN
@n[,m][,l] Program Change
!n[,n]... Channel Pressure(0-127初期値0)
Pw[,w]... Pitch Bend (-8191~8192初期値0)
P[<|>]s,n 前音の音長/sをnノートで連続変調
Mn[,n]... Modulation(0-127初期値0)
Wn Pan(-64-63初期値0)
Un Expression(0-127初期値127)
Xn[,n]... System Exclusive($F0....$F7)
X[M|R} GM Reset
XS GS Reset
XV[n] Master Volume
XZn[,n] ExclusiveのID設定($41,$10,$42,$12)
XX[a,a,a][,n] アドレスx3とデータを指定してサム計算
Zn[,r] チャンネル指定(1-16)。r個の4分休符を挿入
; 次のチャンネルに移動
Tn テンポ指定(120)
=n n/4分音符でステップ値を確認
小節単位で端数がある場合にメッセージを表示
[???][#+-][n][.] 和音。中のMMLを指定音長で同時発音
{???}[n][,] 連符。中のMMLを指定音長で均等分割
引数
n [+|-][0-9]* 符号付き10進数
$[0-9A-F]* 16進数
[(] expr [+-][*/%] expr [)] で演算
[n][.] n分音符で指定に付点で1.5倍
%[n] ステップタイムで指定(4分音符=96)
... ~,!,P,Mで複数の場合は、前音符を基本に分割配置
して初期値に戻す
サンプルMML
ウェストミンスターの鐘 echo -e '\eP#m t120 q100 @12 > ced"g2. cdec2. ecd"g2. "gdec2. \e\\' westbell.mid
ドラムリズム echo -e '\eP#m z10 [{n36rnn rrrr}{rn38rr nrnn}{n42rnr nnrr}]2 \e\\' drum.mid
PC-9801のピポ echo -e '\eP#m xs @81,8 l14 q100 n96 v70 n84 \e\\' pipo.mid
電話を掛けるスクリプト teltone.sh 03-123-4568 teltone.mid
コード演奏のスクリプト guitar.sh CAmG7 guitar.mid
アルペジオのスクリプト arpeggio.sh CAmG7 arpeggio.mid
レット・イット・ビー letitbe.mml letitbe.mid
DCS Pn #u p.. ST RLUCSIZE *3 Unicodeの文字サイズを指定する
参照 UTF-8の文字サイズ変更
Pn1 = [0],1,2,9 0 新規設定(p..無しで初期化)
1 追加設定
2 新規に差異のある設定
3 追加で差異のある設定
4 スタックに保存して新規設定
5 スタックから復帰して追加設定
9 現在の設定をDCSで返す
p.. Start[-End]=Size[,]
StartからEndまでのUnicodeをSizeに指定し","区切りで複数設定
Start/Endは、"U+XXXX"の16進数で指定("U+"は無くても良い)
Sizeは、"1"で1セル、"2"で2セル、"A"で8428拡張オプションに従ったサイズ
Start+End=Size[,]
区切りを"+"でEndをStartからのオフセット値(16進数)で指定
"U+002600-U+0027BF=2"と"2600+1BF=2"は、同じになります
例 "※⅏⌘"と"☀☁☂☃☄...➿"を2セルサイズに指定
echo -en "\033P#uU+00203B=2,U+00214F=2,U+002318=2,U+002600-U+0027BF=2\033\\"

2.7.6 オプション一覧


番号 略号 設定 SM (CSI Pn h) 解除 RM (CSI Pn l)
2 KAM キー入力を無視 キー入力を有効
4 IRM 挿入モード 上書きモード
6 ERM SPAの保護を無効 SPAの保護を有効
12 SRM ローカルエコーを無効 ローカルエコーを有効
18 ISM 各行別のタブ設定(マルチ) 全行で同じタブ設定(シングル)
20 LNM LF/VT/FFで行頭に移動 LF/VT/FFで通常動作

2.7.7 拡張オプション一覧


番号 略号 設定 DECSET (CSI ?Pn h) 解除 DECRST (CSI ?Pn l)
1 DECCKM [CKM]モードが有効のキーコードを送信 [CKM]モードが無効のキーコードを送信
2 DECANM VT100(ANSI)モード VT52モード
3 DECCOLM 132文字表示モード 80文字表示モード
4 DECSCLM スムーズスクロールモード ジャンプスクロールモード
5 DECSCNM 反転表示モード 通常表示モード
6 DECOM DECSTBMDECLRMMDECSLRMの影響を受ける 常に左上原点
7 DECAWM 行末のオートワープを有効 行末を超える移動を行わない
8 DECAWM キーのオートリピートが有効 キーのオートリピートが無効
9 *4 マウスリポートを有効 マウスリポートを無効
12 *4 カーソルの点滅を禁止する カーソルの点滅を行う
19 DECPEX MC/DECMCDECSTBMの影響を受けない MC/DECMCDECSTBMの影響を受ける
25 DECTCEM カーソルの表示 カーソルを非表示
38 *5 Tekモードに移行 Tekモードから抜ける
40 *4 DECCOLM有効 DECCOLM無効
41 *4 タブ(HT)のバグ修正モード xtermタブバグ互換モード
45 *4 行頭BSによる上行右端移動 行頭のBSで移動しない
47 *4 現在の画面の保存 保存した画面の復帰
66 DECNKM ノーマルキーモード(DECPNM) アプリケーションキーモード(DECPAM)
67 DECBKM BSキーでBS(08)を送信 BSキーでDEL(7F)を送信 (2.22.7から修正)
69 DECLRMM 左右マージンを有効 左右マージン無効
80 DECSDM Sixelを別ウィンドウで表示 Sixelスクロールモード表示
95 DECNCSM DECCOLM時に画面をクリアしない 132/80文字表示変更時に画面をクリア
117  DECECM  SGRで空白文字の設定を無効 SGRで空白文字のカラーを設定
1000 *4 normal mouse tracking マウストラックキング無効
1001 *4 hilite mouse tracking マウストラックキング無効
1002 *4 button-event mouse tracking マウストラックキング無効
1003 *4 any-event mouse tracking マウストラックキング無効
1004 *4 フォーカスイベントの有効 フォーカスイベント無効
1005 *4 Extended Mouse Mode Extended Mode 無効
1006 *4 SGR Extended Mouse Mode SGR Mode 無効
1015 *4 URXVT Extended Mouse Mode URXVT Mode 無効
1047 *4 現在画面と拡張画面の切換 拡張画面と保存画面の切換
1048 *4 カーソル位置の保存 保存したカーソル位置の復帰
1049 *4 現在の画面の保存後にクリア 保存した画面の復帰
1060 *4 Set legacy keyboard emulation (X11R6) Reset legacy keyboard emulation (X11R6)
2004 *4 Bracketed Paste Mode 有効 Bracketed Paste Mode 無効
8400 *3 SGRで空白属性を設定しない SGRで空白文字属性を設定
8401 *3 行末での遅延改行無効 行末での遅延改行有効
8402 *3 自動ブラウザ起動をする 自動ブラウザ起動無効
8403 *3 太字でボールドを表示 高輝度でボールドを表示
8405 *3 BPlus/ZModem/Kermit自動 自動ファイル転送無効
8406 *3 画面のスタックを禁止 画面のスタックが有効
8428 RLAMBCHM *3 Aタイプを半角で表示 Aタイプを全角で表示
8435 *3 DECCOLMでリサイズ ウィンドウをリサイズしない
8437 *3 漢字コードを自動追従 漢字コードを変更しない
8440 *3 ノーマルキーモード(DECPNM) アプリケーションキーモード(DECPAM)
8441 *3 IMEオープン IMEクロース
8442 7727 *8 ESCキーを[CKM]モードに含める ESCキーを[CKM]モードに含めない
8443 7786 *8 ホイールでカーソルキーを発生 通常のホイール動作
8448 *3 UTF-8ノーマライズを禁止 UTF-8ノーマライズを行う
8449 *3 Unicde半角の調整をしない Unicde半角の調整を行う
8450 *3 modifyKeysを優先する ショートカットを優先する
8451 *3 罫線を文字で表示する 罫線を線で表示する
8452 *3 Sixel画像の右にカーソル Sixel画像の下にカーソル
8453 8800 DRCSMMv1 DRCS Unicodeマッピング有効 DRCS Unicodeマッピング無効
8455 *3 スクロールして消去 通常の全画面消去
8456 *3 記号を表示する 壊れたMBCを無視
8457 8200 *7 画面クリア(ED 2)時にカーソルを左上に移動する 画面クリア(ED 2)時にカーソル位置を移動しない
8458 *3 太字と高輝度を併用 太字か高輝度を選択
8459 *3 ¥キーでU+00A5を送信 ¥キーでU+005Cを送信
*1:VT52モード *2:ADM-3互換 *3:オリジナル *4:XTerm互換 *5:Tekモード *6:設定による
*7:TeraTerm互換 *8:mintty互換 *9:iTerm2互換

2.7.8 文字セット一覧


文字セット Dscs エントリー名 iconvセット コメント
94 0 VT100-GRAPHIC DEC_SGCS-GR DEC Special Graphic
94 1 IBM437-GR IBM437 MS-DOS Latin US
94 2 DEC_TCS-GR DEC_TCS-GR DEC Technical Character Set
94 @ ISO646-US ISO646-US IRV of ISO 646 : 1983?
94 B ASCII(ANSI X3.4-1968) ANSI_X3.4-1968 ISO 646, USA Version X3.4 - 1968
94 I JIS X 0201-Kana JISX0201-1976 Katakana Character Set JIS C6220-1969?
94 J JIS X 0201-Roman JISX0201-1976 ISO 646, Japanese Version for Roman Characters JIS C6220-1969?
94 T GB 1988-80 GB_1988-80 Coded Character Set for Information Interchange, Standard Chinese GB 1988-80
94 &5 Russian CP866 Russian NRCS
94 %2 Turkish CP1254 Turkish NRCS
96 A LATIN1 (ISO8859-1) LATIN1 Right-hand Part of Latin Alphabet No.1 ISO 8859/1, ECMA-94
96 B LATIN2 (ISO8859-2) LATIN2 Right-hand Part of Latin Alphabet No.2 ISO 8859/2, ECMA-94
96 C LATIN3 (ISO8859-3) LATIN3 Right-hand Part of Latin Alphabet No.3 ISO DIS 8859/3, ECMA-94
96 D LATIN4 (ISO8859-4) LATIN4 Right-hand Part of Latin Alphabet No.4 ISO DIS 8859/4, ECMA-94
96 F GREEK (ISO8859-7) ISO8859-7 Right-hand Part of the Latin/Greek Alphabet Standard ELOT 928, ECMA-118, ISO DIS 8859/7
96 G ARABIC (ISO8859-6) ISO8859-6 Right-hand Part of the Latin/Arabic Alphabet ECMA-114, ISO 8859/6
96 H HEBREW (ISO8859-8) ISO8859-8 Latin/Hebrew Alphabet Standard ECMA-121
96 L CYRILLIC (ISO8859-5) ISO8859-5 Cyrillic part of the Latin/Cyrillic Alphabet
96 M LATIN5 (ISO8859-9) LATIN5 Right-hand part of Latin Alphabet No.5
96 T THAI (ISO8859-11) ISO-8859-11 Thai Set
96 V LATIN6 (ISO8859-10) LATIN6 Supplementary Set for Latin Alphabet No. 6
96 Y BALTIC (ISO8859-13) ISO-8859-13 Baltic Rim Supplementary Set
96 Z VIETNAMESE (ISO8859-12) CP1258 Vietnamese Standard Code for Information Interchange
96 _ CELTIC (ISO8859-14) ISO-8859-14 Celtic Supplementary Latin Set
96 b LATIN9 (ISO8859-15) ISO-8859-15 European Supplementary Latin Set ("Latin 9")
96 f ROMANIAN (ISO8859-16) ISO-8859-16 Romanian Character Set for Information Interchange
94x94 @ JIS X 0208-1978 JIS_X0208-1983 Japanese Character Set JISC C 6226-1978
94x94 A GB2312-1980 GB_2312-80 Chinese Character Set Chinese Standard GB 2312-80
94x94 B JIS X 0208-1983 JIS_X0208-1983 Japanese Character Set JIS C 6226-1983
94x94 C KSC5601-1987 KS_C_5601-1987 Korean Graphic Character Set, Korean Standard KSC 5601-1987
94x94 D JIS X 0212-1990 JIS_X0212-1990 Supplementary Japanese Graphic Character Set for Information Interchange
94x94 E ISO-IR-165 ISO-IR-165 Blissymbol Graphic Character Set
94x94 O JIS X 0213-2000.1 JIS_X0213-2000.1 Japanese Graphic Character Set for Information Interchange --- Plane 1
94x94 P JIS X 0213-2000.2 JIS_X0213-2000.2 Japanese Graphic Character Set for Information Interchange --- Plane 2
94x94 Q JIS X 0213-2004.1 JIS_X0213-2000.1 Japanese Graphic Character Set for Information Interchange, Plane 1 (Update of ISO-IR 228)

2.7.9 UTF-8表示仕様(文字セットをUTF-8にした場合の処理)


Unicode正規化 NFC(Normalization Form Canonical Composition)の1文字に正規化できる2文字のみ正規化して表示します。
ハングルなどの3文字で正規化する文字もその順番が正しければ随時、正規化されます。
Unicode結合文字 NSM(Non Spacing Mark)は、直前の文字があれば、合成して表示します。
IVS(Variation Selector)は、直前の文字に追加して異体字を表示します。
正規化されないハングル字母は、初声子音から終声子音までを重ねて表示します(正しく表示されません)
RTLの扱い アラビア文字のRTL(Right to Left)は、ひとまとまりでそれなりに表示します。またU+200FなどのRIGHT-TO-LEFT MARKを指定すると解除されるまでRTL文字としてまとめて表示します。
※範囲指定などで選択するとRTL文字列は、正しく再表示されません。
8428拡張オプション 設定 DECSET (CSI ? 8428 h) Aタイプを半角で表示
解除 DECRST (CSI ? 8428 l) Aタイプを全角で表示
EastAsianWidth.txtでAタイプ(Ambiguous)で定義された文字の表示幅を設定します。
表示に使用するフォントにより見た目が異なりますが、それなりに幅を調整して表示します。
※2.29.9よりRLUCSIZEにより任意文字を任意サイズに指定するDCSを追加しました
8448拡張オプション 設定 DECSET (CSI ? 8448 h) Unicode正規化、ハングル合成、RTLマーク処理を行いません。
解除 DECRST (CSI ? 8448 l) 上記の処理をすべて行います。
解除の状態で正規化などの処理行うとクリップボードにコピーした場合に正規化後の文字がコピーされます。
この8448をセットすると入力された文字をできるだけそのままの形で表示・コピーするようになります。