[7] ISO/IEC 2022 の規定する空集合は、 定義された文字の存在しない文字集合です。
[3] ISO/IEC 2022 のエスケープ・シーケンスの型のうち
1F, 2F, 4F, 8F, 9F, 10F, 11F,
13F, 14F, 15F では終端バイト 07/14
が空集合 (EMPTY SET
) に予約されています。
JIS X 0202:1998 13.3.2, 14.1
[12]
終端バイトを 07/14
にした場合はその型に合わせた空集合が指示されます。
[5] >>3 の各型のエスケープ・シーケンスはいずれも指示に使われるものです。 つまり C0, C1, G0, G1, G2, G3 に空集合を指示できます。
[10] ISO/IEC 2022 は、 F = 07/14 の時空集合が指示される ISO/IEC 2022 1994 14, >>9 と定めています。 この規定は中間バイトに言及しておらず、 不明瞭で解釈の余地があります。
[14] 素直に解釈すれば中間バイトに関わらず F が 7/14 のときは空集合になるように読めます。
[36] ところが ISO-IR の94集合の中間バイト 2/1 の表の 7/14 欄は空欄 (未割当) になっていて >>37、 空集合ではなく、 別の符号化図形文字集合が登録されることが有り得そうに見えます。
[6] また、 DRCS の中間バイト 2/0
があるときは、終端バイトが 7/14 でも空集合にはならないみたいです。
[1]
一方で、
DOCS
の
ESC % / ~ は EMPTY SET
ではないはずですが、 ISO-IR
の表では EMPTY SET
であるかのような色が塗られています。
ESC % ~ には塗られてないので、間違いだと思われます。
「DOCS
の空集合」
は意味を成しません。
ISO-IR
の表の塗り方はあまり信用できないといえます。
[15] 現実的には今後新たな終端バイトが ISO-IR に登録される可能性は低い上、 空集合を指示する必要性もほぼ無いので、 中間バイト付き 7/14 が空集合であろうがなかろうが、 困ることはなさそうです。
[19]
複数バイト集合の指示シーケンスでも空集合が指定できます。
しかしそれが何バイトなのかはよくわかりません。
空集合のビット組合せは使用しないことになっているので、
仕様書としては規定する必要がないということなのでしょうか。
複数バイト集合の終端バイトの割当の規則によれば4バイト以上と解釈されますが。。。
[4] 空集合は文字を含まない集合です JIS X 0202:1998 14.1。
[11] 空集合が指定された場合には、 対応するビット組合せを使用してはなりません (存在しない文字を呼出してはなりません) JIS X 0202:1998 14.1。
[2] ビット組合せが使われた時どう振る舞うべきかは不明です。
[17] 何も指示されていない初期状態を再現したいときに使えるのかもしれませんが、 そうしたい場面があるのかも謎です。
[21] CNS 5205 には C1 を使用しないため C1 に 7/14 を指示する、 C0 を使用しない場合には C0 に 7/14 を指示する、 とのエスケープシーケンスの説明の記述があります。