[17]
制御シーケンスは、
CSI
から始まる制御機能を表すビット組合せ列 (バイト列) です。
[16] ISO/IEC6429 / JISX0211 で定義されてます。
- 制御シーケンス (control sequence)
- 制御機能
CONTROL SEQUENCE INTRODUCER
(CSI
,制御シーケンス開始
) から始まるビット組合せの列であって、 パラメタをもつか又はもたない制御機能の符号化表現のために使う。 (JIS X 0211‐1994 4.2.24)
- 制御シーケンス (control sequence)
- 制御機能
CONTROL SEQUENCE INTRODUCER
(CSI
,制御シーケンス開始
) から始まる一つ以上のビット組合せであって、 制御機能の符号化表現のために使う。 JIS X 0201:1997 3.5
[12] ISO/IEC 6429:1991 5.4 を元に ABNF で書くと、大まかな構造はこんなんです。
冒頭の ABNF は、こんな風に修正しないといけません。
詳しくは7ビット符号と8ビット符号を参照。
[18] ISO/IEC 10646 および Unicode での利用については、 ISO/IEC 10646におけるエスケープシーケンス参照。
[19] ISO/IEC 2022 とも ISO/IEC 10646 とも異なる文字コード体系における利用については、 エスケープシーケンス参照。
[13] 制御シーケンスの末尾の終端バイトが制御シーケンスの意味を表します。
[14] つまり制御シーケンスを受信して処理するときは、制御シーケンスの末尾までを読み終わる必要があります。
sub-string の先導 *"0" は無視可能。 ("0123" == "123", "000" == "0") sub-string は空 (empty) になり得る。最後の sub-string が空であるのは、その直前の separator が無いのと同じ意味。 ("1;1;" == "1;1")
[1] SGMLでは、>>5と定義しています。符号化文字集合規格で言う制御シーケンス
(CSI
で始まる列) のほかに、
例示にあるようにエスケープ・シーケンスも含みます。
(ほかに SS2
などの制御文字も含むのかもしれません。 SGML
の文字集合は ISO の体系に限りませんから、漢字イン・
漢字アウトなども含まれると思われます。)
[8] 俗にANSIエスケープシーケンスというとき、大抵は制御シーケンスのことを指しています。 (制御シーケンス以外のエスケープシーケンスを指す場合もあります。)
[7] Digital Ansi-Compliant Print Protocol Lev 2 Program. Ref. Man. - PPLV2PMB.PDF, , http://sup.xenya.si/sup/info/digital/MDS/jun99/Cd3/PRINTER/PPLV2PMB.PDF#page=92
[9] ARIB STD-B5, ARIB STD-B24, T.61, T.101
[22] New Terminal Control Commands for Ambiguous Width Characters - Google ドキュメント, https://docs.google.com/document/d/1Dgq81J0eQEfjq3MR__O7VrbSVnatr9CCqMEITse9psk/edit?pli=1
[23] Control functions - akinomyoga/contra, , https://akinomyoga.github.io/contra/escseq.html
[29] 【色文字】Discordでカラフルな色文字を使う方法【カラフル】 – なんちゃらのDiscord管理者, https://nanchara.jp/colortext/
[30] >>29 Markdown の構文色付け付きコードブロック構文で ansi
を指定することで
ANSIエスケープシーケンスが使えるのを色指定付き文字に流用するハックがあるらしい