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