<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><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> 【<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor>】</p><blockquote><dl><dt><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">公開文指示シーケンス<rt xmlns="http://www.w3.org/1999/xhtml">public text designating sequence</rt></rubyb></dt><dd><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:">指示</anchor>する <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JISX0202</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>の一部分。 <ins>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JISX4151</anchor>‐1992 定義 (87)</ins></dd></dl></blockquote><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> 公開文指示シーケンスは、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最小データ</anchor>ですが、
その公開識別子で参照する文字集合の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC2022</anchor>
による指示シーケンスを外部表現したものでなければなりません。
その文字集合が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-IR</anchor> 登録集合であるなら、
その登録してある指示シーケンスでなければなりません。
(JIS X 4151‐1992 9.2.2.4 参照。)</p><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> 例:</p><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> <samp class="SGML">ESC 2/8 4/0</samp> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC646</anchor> 旧 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IRV</anchor> を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">G0</anchor> に指示)</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> <samp class="SGML">ESC 2/8 4/2</samp> (ISO/IEC 646:1991 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IRV</anchor> = <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII</anchor> を G0 に指示)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <samp class="SGML">ESC 2/5 4/0</samp> (未登録の128文字の文字集合・・・と JIS X 4151 には書いてあるけど、 ISO/IEC 2022 ではこれは ISO/IEC 2022 自身を指す <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOCS</anchor> のはずだ。それとも昔は違ったのか?, を指示)<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> 昔はそれっぽい感じだったらしい <sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>DOCS</anchor> </sw-see></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <samp class="SGML">ESC 2/6 4/0 ESC 2/4 2/9 4/2</samp> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JISX0208</anchor>‐1990 を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">G1</anchor> に指示)</li></ul><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> 登録済み文字集合に対する公開文指示シーケンスは公開文
(符号化文字集合) を一意に識別しますが、
そうでない場合はその<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">所有者識別子</anchor>ごとに一意な公開分を識別するのだそうです。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><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> 
例えば <samp class="SGML">ESC 2/4 2/8 3/0</samp>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">94<sup xmlns="http://www.w3.org/1999/xhtml"><var>n</var></sup>図形文字集合</anchor>を G0 に指示する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">私用</anchor>のエスケープ・シーケンス。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>私用終端バイト</anchor> </sw-see>)
だけでは符号化文字集合を特定できませんが、例えば
<samp class="SGML">+//IDN mule.example//CHARSET Mule Big5-1//ESC 2/4 2/8 3/0</samp>
とすれば、それが <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MULE</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Big5</anchor>‐1 
だとわかります。</p></example><p><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>一般に言えることですが、
この公開文指示シーケンスも、実際には役に立ちません。
その指示シーケンスと ISO/IEC 2022 処理系が連動して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号拡張法</anchor>をうまく処理してくれるとか、
そういうことは<strong>ありません</strong>。</p><p>単に備忘とか、一意な識別子としやすくするための便宜のためのものでしょう。</p><p>ですから、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML宣言</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書文字集合</anchor>の指定で、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日本語EUC</anchor> を使いたいとして、 G1 
に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JISX0208</anchor>‐1990 を指示する時に、
その公開文指示シーケンスを
<samp class="SGML">ESC 2/6 4/0 ESC 2/4 4/2</samp> (G0 に指示)
とか
<samp class="SGML">ESC 2/6 4/0 ESC 2/4 2/10 4/2</samp>
としても (たぶん) 構わないわけです。でも、
<samp class="SGML">ESC 2/6 4/0 ESC 2/4 2/9 4/2</samp> (G1 に指示)
にした方が分かりやすい (かもしれない)
ので、そうする方がよい、と思われます。</p><p><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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal> を厳密に解釈すると、 ISO/IEC 646:1991 IRV
を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">G2</anchor> に指示する (<samp class="SGML">ESC 2/10 4/2</samp>)
ような真似はできません。なぜなら、この指示シーケンスは
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO‐IR</anchor> に登録されていないからです。
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(当時の古い ISO/IEC 2022 の仕様に基づいて登録されていたからです。)</weak>
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(もちろん、 IRV を G2 に指示するなんて気違いじみたことは普通はしませんが、そういうことは置いといて。)</weak></p><p>実際にはその辺りは適当に 
(登録されている<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">終端バイト</anchor>をとでも読み替えて)
解釈すればいいでしょう。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>ISO-IR</anchor> </sw-see></p><p><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> ところで、「外部表現」で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ビット組合せ</anchor>の記述に <samp>2/8</samp> のほかに
<samp>02/8</samp> や <samp>2/08</samp> や <samp>02/08</samp>
のような表現が認められているのかどうか不明です。
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">規格の例示の通り、 <samp xmlns="http://www.w3.org/1999/xhtml">2/8</samp> としておけば問題はないでしょう。</weak></p><p>頭に <code>0</code> をつけるかどうかは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化文字集合</anchor>の規格では昔は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">7ビット</anchor>か<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">8ビット</anchor>かの関係と絡んでややこしいことになっていましたが、
今はどうでもいいことになっています。 SGML ではどうなんでしょう?</p></section><section><h1>公開文種別 <code>CHARSET</code></h1><p><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> 用例のある、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">公開文種別</anchor>が <code class="SGML">CHARSET</code>
な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">公開識別子</anchor>:</p><table><tbody><tr><th><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">公開識別子</anchor></th><th>説明</th><th>出典</th></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 646-1983//CHARSET International Reference Version (IRV)//ESC 2/5 4/0</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">旧IRV</anchor></td><td>[ISO 8879]</td></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 646-1983//CHARSET International Reference Version (IRV) //ESC 2/5 4/0</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">旧IRV</anchor></td></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 646-1991//CHARSET International Reference Version (IRV)//ESC 02/5 04/0</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">旧IRV</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NCALS-HTML 2.0</anchor></td></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO Registration Number 87//CHARSET JIS X 0208//ESC 2/6 4/0 ESC 2/4 2/9 4/2</anchor></code></td><td><code class="charname" xml:lang="en">IRR</code></td></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO Registration Number 87//CHARSET JIS X 0208 Japanese Character Set//ESC 2/6 4/0 ESC 2/4 4/2</anchor></code></td><td><code class="charname" xml:lang="en">IRR</code></td></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO Registration Number 87//CHARSET JIS X 0208-1990//ESC 2/6 4/0 ESC 2/4 4/2</anchor></code></td><td><code class="charname" xml:lang="en">IRR</code></td></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO Registration Number 100//CHARSET ECMA-94 Right Part of Latin Alphabet Nr. 1//ESC 2/13 4/1</anchor></code></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 2.0</anchor></td></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO Registration Number 109//CHARSET ECMA-94 Right Part of Lation Alphabet Nr.3//ESC <asis>2/9</asis> 4/3</anchor></code></td><td><n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2/13</n> が正しい</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 8879</anchor>‐1986</td></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO Registration Number 109//CHARSET ECMA-94 Right Part of Latin Alphabet Nr. 3//ESC 2/13 4/3</anchor></code></td></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO Registration Number 159//CHARSET JIS X 0212//ESC 02/4 02/11 04/4</anchor></code></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NCALS-HTML 2.0</anchor></td></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO Registration Number 159//CHARSET JIS X 0212-1990//ESC 2/4 2/8 4/4</anchor></code></td></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO Registration Number 168//CHARSET JIS X 0208//ESC 02/6 04/0 ESC 02/4 02/9 04/2</anchor></code></td><td><code class="charname" xml:lang="en">IRR</code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NCALS-HTML 2.0</anchor></td></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO Registration Number 176//CHARSET ISO/IEC 10646-1:1993 UCS-2 with implementation level 3//ESC 2/5 2/15 4/5</anchor></code></td><td><code class="charname" xml:lang="en">DOCS</code></td><td>[W3C]</td></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO Registration Number <asis>176</asis>//CHARSET ISO/IEC 10646-1:1993 UCS-4 with implementation level 3//ESC 2/5 2/15 4/6</anchor></code></td><td>177が正しい / <code class="charname" xml:lang="en">DOCS</code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web SGML</anchor>:1999</td></tr><tr><td><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO Registration Number 177//CHARSET ISO/IEC 10646-1:1993 UCS-4 with implementation level 3//ESC 2/5 2/15 4/6</anchor></code></td><td><code class="charname" xml:lang="en">DOCS</code></td><td>[W3C]</td></tr></tbody></table><p><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> <em>Code configuration in this www server</em> <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://www1.u-netsurf.ne.jp/~7l1rll/codeWWW.html">http://www1.u-netsurf.ne.jp/~7l1rll/codeWWW.html</anchor-external>: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の扱いと <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC2022</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号拡張法</anchor>の相性が悪い話。日本の委員は修正するように提案したけど、 ISO/IEC 2022 は難解云々で分かってもらえなかったと。</p><p><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> ちなみに、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> の時代の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書文字集合</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor> の <code class="SGML">CHARSET</code>; IETF/W3C の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CCS</anchor>) と転送符号化方式 (IETF/W3C の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CES</anchor>) は別だとする考え方は後付け。 SGML にはそんな概念はない。</p><p><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> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal> によると、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">シフトJIS</anchor> があるからいいじゃん☆的な関係者もいたらしいにゃ。1980年代終わりなら仕方ない, のかなあ? 既に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターネット</anchor>も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パソ通</anchor>もあった時代。自己中委員は反省するべき。</p></section><section><h1>メモ</h1></section></body></html>