<html xmlns="http://www.w3.org/1999/xhtml" a0:Name="SuikaWiki" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:Version="0.9"><head></head><body><p><a0:anchor-end a0:anchor="1">[1]</a0:anchor-end> 【<a0:anchor>SGML</a0:anchor>】 <a0:anchor>具象構文</a0:anchor>によって割当てられ、<a0:anchor>マーク</a0:anchor>として認知された上で <a0:anchor>SGML機能</a0:anchor>を果たす<a0:anchor>マーク文字</a0:anchor>。<a0:anchor>データ</a0:anchor>が許される<a0:anchor>文脈</a0:anchor>でマークとして<a0:anchor>認知</a0:anchor>されない場合は、データとして扱う (機能文字の<a0:anchor>記録開始</a0:anchor> <code class="SGML"><a0:anchor>RS</a0:anchor></code> 及び<a0:anchor>記録終了</a0:anchor> <code class="SGML"><a0:anchor>RE</a0:anchor></code> の場合のように、<a0:anchor>言語</a0:anchor>が特別の扱いを指示する場合を除く。)。  Function character。 (<a0:anchor>JISX4151</a0:anchor>‐1992 定義 (46))</p><ul><li><a0:anchor-end a0:anchor="2">[2]</a0:anchor-end> <code class="ABNF"><dfn>機能文字</dfn> := RE / RS / <a0:anchor>SPACE</a0:anchor> / <a0:anchor>SEPCHAR</a0:anchor> / <a0:anchor>MSOCHAR</a0:anchor> / <a0:anchor>MSICHAR</a0:anchor> / <a0:anchor>MSSCHAR</a0:anchor> / <a0:anchor>FUNCHAR</a0:anchor> ;; (54)</code></li></ul><a0:form ref="comment"></a0:form><section><h1>機能文字に関する SGML 宣言の定義の例</h1><a0:form ref="comment"></a0:form><section><h1>装置独立の多符号具象構文のための機能マーク文字</h1><p><a0:anchor-end a0:anchor="3">[3]</a0:anchor-end> JIS X 4051‐1992 の参考6図14のものです。<pre>FUNCTION
  RE              13  -- 0/13 CR --
  RS              10  -- 0/10 LF --
  SPACE           32  -- 2/0  SP --
  TAB   SPACECAHR  9  -- 0/9  TAB --
     -- 幾らなんでも SEPCHAR の間違いだよね? --
  ESC   FUNCHAR   27  -- 1/11 ESC --
  LS0   FUNCHAR   15  -- 0/15 LS0 / SI --
  SS2   FUNCHAR  142  -- 8/14 SS2 --
  SS3   FUNCHAR  143  -- 8/15 SS3 --</pre></p><p>前提となっている<a0:anchor>符号拡張</a0:anchor>は、<ul><li><a0:anchor>G0</a0:anchor> = <a0:anchor>GL</a0:anchor> : 全ての図形<a0:anchor>マーク文字</a0:anchor>を含む</li><li><a0:anchor>G1</a0:anchor> = <a0:anchor>GR</a0:anchor>; G1 への<a0:anchor>指示シーケンス</a0:anchor>を使用</li><li>G1, <a0:anchor>G2</a0:anchor>, <a0:anchor>G3</a0:anchor>; 各々への指示シーケンスを使用; <a0:anchor>固定シフト</a0:anchor>で右に<a0:anchor>呼出</a0:anchor>し</li><li>G2, G3: <a0:anchor>単独シフト</a0:anchor>で左に呼出し</li></ul></p><p><a0:anchor-end a0:anchor="4">[4]</a0:anchor-end> この前提だと <code class="char"><a0:anchor>LS0</a0:anchor></code> は要らないと思うんだけどなぁ。あっても無害だけど。</p><p>なお、 <code class="char"><a0:anchor>LS1R</a0:anchor></code>, <code class="char"><a0:anchor>LS2R</a0:anchor></code>,
<code class="char"><a0:anchor>LS3R</a0:anchor></code> がいずれも機能文字になってないのは、
単一の<a0:anchor>制御文字</a0:anchor>ではなく複数文字の<a0:anchor>エスケープシーケンス</a0:anchor>になってしまうからです。</p><p>ところで、これじゃあエスケープシーケンスの<a0:anchor>中間バイト</a0:anchor>や<a0:anchor>終端バイト</a0:anchor>が<a0:anchor>重要なSGML文字</a0:anchor>だった場合に誤認されちまいませんか?
まさか終端バイトまでマーク読み飛ばしにするわけにもいかないし。。。<a0:weak>(3/0〜7/14 を機能文字にするのはかなり勇気が要る。)</a0:weak></p><ul><li><a0:anchor-end a0:anchor="5">[5]</a0:anchor-end> <a0:anchor-internal a0:anchor="4">&gt;&gt;4</a0:anchor-internal> 参考6 3.1.1 ではそれを避けるためにエスケープシーケンス全体を<a0:anchor>短縮参照区切子</a0:anchor>にしてしまう方法を紹介しています。・・・って、使うエスケープシーケンスを全種類登録するんですか。。。
<a0:form ref="comment"></a0:form></li></ul></section></section></body></html>