* 仕様書

[REFS[
- [15] 
Standard ECMA-48
[CITE[Control Functions for Coded Character Sets]], 
Fifth Edition - June 1991,
Reprinted June 1998,
[TIME[2014-10-28T04:43:11.000Z]], [TIME[2020-10-07T08:09:41.942Z]] <http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf#page=75>
]REFS]

* 符号化文字集合の切り替え

[3]  [[引数]] [CODE[10]], [CODE[11]], [CODE[12]] で[[符号化文字集合]]の切り替え
([[指示]], [[呼び出し]])
ができます。
[SRC[>>1]]


[4] 
PC character set
選択中と
ISO/ANSI character set
選択中で動作が異なります。
[SRC[>>1]]


- [6] [[右側]]は変化しません。
[SRC[>>1]]
- [5] [[左側]]は [[ASCII]] が初期状態です。
[SRC[>>1]]
- [9] 
[[引数]] [CODE[10]]
で[[左側]]は [[ASCII]] となります。
[SRC[>>1]]
-- [7] 
ISO/ANSI character set
では[[引数]] [CODE[10]]
と
[[G0]] に [[ASCII]] を[[指示]], [[GL]] に [[G0]] を[[呼び出し]], が等価です。
[SRC[>>1]]
--- [8] と説明されていますが、それは [[C0]] の[[指示]]に対応していない実装だから、
ということなのでしょう。
- [13] 
[[引数]] [CODE[11]]
-- [14] 
ISO/ANSI character set
では機能しません。
[SRC[>>1]]
-- [16] 
PC character set では
--- [17] 
[N[0x1B]] は [CODE(charname)@en[ESC]] [SRC[>>1]]
--- [18] 
[N[0x11]], [N[0x13]] は
[[XON/XOFF]] が無効なら[[図形文字]]となります。 [SRC[>>1]]
有効なら[[制御文字]]となります。
--- [19] 
その他の [[CL]] は[[図形文字]]となります。 [SRC[>>1]]
- [20] 
[[引数 [CODE[12]]
-- [21] 
ISO/ANSI character set
では
「現在の8ビット文字集合」
を [[G2]] に[[指示]]し、 [[GL]] に[[呼び出し]]します。
[SRC[>>1]]
--- [22] 
「現在の8ビット文字集合」が意味するところが謎です。 
[[GR]] に[[呼び出し]]されている[[符号要素]]に[[指示]]されているものと同じものを
[[G2]] に[[指示]]すればいいのでしょうか。
--- [23] [[CL]] は [[C0]] のままでいいのでしょうか。
-- [24] 
PC character set では
--- [26] 
[N[0x1B]] は [CODE(charname)@en[ESC]] [SRC[>>1]]
--- [27] 
[N[0x11]], [N[0x13]] は
[[XON/XOFF]] が無効なら[[図形文字]] [N[x0x91]], [N[0x93]] となります。 [SRC[>>1]]
有効なら[[制御文字]]となります。
--- [25] [ [N[0x20]], [N[0x7F]] ] は[[図形文字]] [ [N[0xA0]], [N[0xFF]] ]
を表します。 [SRC[>>1]]

[28] 
[[XON/XOFF]] ([[X制御]]) は [N[0x11]], [N[0x13]] を [[XON]], [[XOFF]]
として使うもので、そのためこの2つの[[ビット組合せ]]の意味は変化させないのです。

[29] 
[[XON/XOFF]] が有効かどうかの切り替えは、
[[DECSFC]]
によることが想定されるものと思われます。

[30] ISO/ANSI character set
と
PC character set
は、
[[DECPCTERM]]
によって切り替えられる動作モードを指すと思われます。

* メモ

[1] [CITE@en[SGR—Select Graphic Rendition]], [TIME[2022-12-11T08:40:32.000Z]] <https://www.vt100.net/docs/vt510-rm/SGR.html>

[2] [CITE@ja[Control functions - akinomyoga/contra]], [TIME[2021-12-31T23:05:20.000Z]], [TIME[2022-12-11T08:40:54.529Z]] <https://akinomyoga.github.io/contra/escseq.html#dfn.sgrCharsetASCII>

