<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><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>時代のような<dfn>重ね打ち</dfn>で<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><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="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</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> <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> <csection xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">6.4.2 Composite graphic characters</csection>
<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=32">http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf#page=32</anchor-external></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> <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=92">http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf#page=92</anchor-external></li></ul></li><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Standard ECMA-43</anchor>
<dfn><cite>8-Bit Coded Character Set Structure and Rules</cite></dfn>,
3<sup>rd</sup> Edition – December 1991,
Reprinted in electronic form in January 1999,
<time>2014-10-28T04:43:07.000Z</time>, <time>2020-10-07T07:14:26.929Z</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.ecma-international.org/publications/files/ECMA-ST/Ecma-043.pdf#page=27">https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-043.pdf#page=27</anchor-external></li></ul></refs></section><section><h1>ISO/IEC 646 </h1><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">制御文字</anchor> <code class="charname" xml:lang="en">BACKSPACE</code> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">後退</anchor>) や 
<code class="charname" xml:lang="en">CR</code> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">復帰</anchor>)
を使用することで、2文字以上の<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>に由来します。) たとえば &quot;/&quot; (SOLIDUS)
と &quot;=&quot; (EQUALS SIGN) を組み合わせることで、 &quot;≠&quot;
(NOT EQUALS SIGN) を表示出来ます。組み合わせられた合成文字は
一つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CCデータ要素</anchor>として扱われます。</p><p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 646</anchor>
や
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0201</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:">文字レパートリー</anchor>)
も規定されていません。
これらは<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="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> 
例えば「≠」は 
<code>=</code> <code class="charname" xml:lang="en">BS</code> <code class="charname" xml:lang="en">/</code>
とも
<code>/</code> <code class="charname" xml:lang="en">BS</code> <code class="charname" xml:lang="en">=</code>
とも表し得ます。
それ以外にも、
<code class="charname" xml:lang="en">CR</code> や <code class="charname" xml:lang="en">SP</code>
を自由に使えるなら無限の可能性が現れます。
また
「≠≠」
は
<code>=</code> <code>=</code> 
<code class="charname" xml:lang="en">BS</code> <code class="charname" xml:lang="en">BS</code> 
<code class="charname" xml:lang="en">/</code> <code class="charname" xml:lang="en">/</code>
とも表し得ます。</p><pre xmlns="http://www.w3.org/1999/xhtml"> </pre></example><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> <strong>JIS X 0201 における合成文字</strong>
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0201</anchor>:1997 7.</src><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0201</anchor>:1997 で規定するすべての<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>)。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0211</anchor> の <code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BACKSPACE</anchor></code>
や <code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CARRIAGE RETURN</anchor></code>
を使用して2<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>できる。<ul><li>例えば <code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SOLIDUS</anchor></code> と
<code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EQUAL SIGN</anchor></code> で
<code class="char">≠</code> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">表示</anchor>できる。</li><li><code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LOW LINE</anchor></code> や 
<code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OVER LINE</anchor></code> は単独でも使用できるし、
<q>アンダライン付き</q>や<q>オーバライン付き</q>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">表示</anchor>させることもできる。</li><li><code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">QUOTATION MARK</anchor></code>,
<code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">APOSTROPHE</anchor></code>,
<code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">COMMA</anchor></code>,
<code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CIRCUMFLEX ACCENT</anchor></code>,
<code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GRAVE ACCENT</anchor></code> はそれぞれ
<q>アクサンテギュ付き</q>、<q>ウムラウト付き</q>、
<q>セディユ付き</q>、<q>アクサンシルコンフレックス付き</q>、
<q>アクサングラーブ付き</q>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合成</anchor>するのに使用できる。<ul><li>そのために最初か最後が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アクセント</anchor>付けされる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>、
2番目が <code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BACKSPACE</anchor></code>、
もう1つがこれらの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>という3<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>の列が使用できる。</li></ul></li></ul></li><li><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:">合成</anchor>の方法についての合意が必要。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">開放型環境</anchor>では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合成文字</anchor>は使用しないほうが良い。</li></ul></p><figure class="quote"><figcaption><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:">Standard ECMA-6</anchor>
<cite>7-Bit coded Character Set</cite>, 
6<sup>th</sup> Edition - December 1991,
Reprinted in electronic form in August 1997,
<time>2017-06-15T13:13:29.000Z</time>, <time>2020-12-04T08:36:24.470Z</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-006.pdf#page=16">http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-006.pdf#page=16</anchor-external></figcaption><blockquote><p><b>7 Composite Graphic Characters</b></p><p>Whilst all graphic characters specified in this International Standard are spacing characters, it is possible, by
using BACKSPACE or CARRIAGE RETURN to image two or more graphic characters at the same character
position (see also annex B.2).</p><p>For example, SOLIDUS and EQUALS SIGN may be combined to image &quot;not equals&quot;. The character LOW
LINE, that may be used as a free-standing character, may also be associated with other character(s) to represent
the graphic rendition &quot;underlined&quot;.</p><p>Diacritical marks may be allocated to the bit combinations specified in 6.4.3 and be available for composing
accented letters. For such composition a sequence of three characters, the first or last of which is the letter to be
accented and the second of which is BACKSPACE may be used. Furthermore, QUOTATION MARK,
APOSTROPHE or COMMA can be associated with a letter by means of BACKSPACE for the composition of
an accented letter with a diaeresis, an acute accent or a cedilla, respectively</p></blockquote><p>PDF 23頁</p><blockquote><p><b>B.2.3 Composite graphic characters and repertoire</b></p><p>ECMA-6 permits the construction of composite graphic characters by using the control characters
BACKSPACE and CARRIAGE RETURN to image two or more graphic characters at the same character
position.</p><p>The total number of graphic characters which can be obtained from any version of the character set, with or
without using this facility, is called the repertoire. ECMA-6 does not define a particular repertoire. However,
as the interpretation and/or the imaging of composite characters may cause difficulties, agreement between
sender and recipient of the data may be required. To minimize the need for such agreements and to facilitate
interchange, national or application-oriented standards may specify a standard repertoire of graphic
characters which permit only a limited number of composite graphic characters. Such limitations are
considered fully compatible with ECMA-6.</p></blockquote></figure><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><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> 6.4.3 の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ビット組合せ</anchor>とは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 646の版</anchor>で任意の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>を割り当てられるものを指しています。</comment-p><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>での情報交換を確実にするために、
合成文字は使用しないほうが良いとされています。</p><p><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:">ISO/IEC 646 IRV</anchor>
や
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0201</anchor>
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">C0文字集合</anchor>として
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 6429</anchor> <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>の用法には
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 6429</anchor> の規定も適用されます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0202:1998</anchor> 6.3.3
には、
このような合成の方法が存在するという程度の言及がありました。
(他には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode</anchor> 型の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>の方法と、
<code class="charname" xml:lang="en">GCC</code> が言及されていました。)
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>結合文字</anchor> </sw-see></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <cite>NS39012siba</cite>, <time>2021-01-09T06:16:29.000Z</time>, <time>2000-09-03T22:09:13.674Z</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://web.archive.org/web/20000903220115/http://www.itscj.ipsj.or.jp/jp/ns39012.html">http://web.archive.org/web/20000903220115/http://www.itscj.ipsj.or.jp/jp/ns39012.html</anchor-external></p><blockquote><p>また,646での文字合成は,一意に決まらず,例えば,“a”にアキュートアクセントを付けようとすると,“a”の直後にBACKSPACE,そして,アキュートアクセントで表現するだけではなく,CARRIAGE RETURNと複数個のSPACE,そして,アキュートアクセントなど幾つもの表現ができる.この合成の曖昧さは,符号化文字集合の満たすべき基本性質である一意な符号化に反する.</p></blockquote><section><h1>ISO/IEC 6429</h1><p><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> <rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合成図形文字<rt xmlns="http://www.w3.org/1999/xhtml">composite graphic character</rt></rubyb>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">formator function</anchor>
のみを使って得られなければなりません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">editor function</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="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;21</anchor-internal></src></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 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:">JISX0211</anchor>-1994 6.4.2)</p></section></section><section><h1>代替</h1><p><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:">図形記号</anchor>の表現に BS や CR を自由自在に
組み合わせた無限の方法が存在し得るのですから、
表示以外の処理には向きません。実際この方法を使っているのは
<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><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><section><h1>ISO/IEC 6429</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 6429</anchor>
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">重ね打ち</anchor>による文字合成に使う
<code class="charname" xml:lang="en">BS</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>の
<code class="charname" xml:lang="en">GCC</code>
を定めていました。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>GCC</anchor> </sw-see></p><p><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> 
複数の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">図形文字</anchor>を組合せて1つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">図形記号</anchor>として表示したいときは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">重ね打ち</anchor>ではなく
<code class="charname" xml:lang="en">GCC</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="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;24</anchor-internal> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">参考</anchor>)</src></p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mule内部コード</anchor>は内部処理用に最適化された完全独自の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>体系でしたが、
その合成文字の表現は、
構造的には
<code class="charname" xml:lang="en">GCC</code>
に近いものだったようです。</p></section><section><h1>ISO/IEC 4873</h1><p><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:">ISO/IEC 4873</anchor> 附属書C (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">参考</anchor>) は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 646</anchor>
の定めるような
<code class="charname" xml:lang="en">BS</code>
や
<code class="charname" xml:lang="en">CR</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>が必要となるところ、
そのような要件はなかなか満たされないものであるとして、
こうした合成を禁止していました。
<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="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;26</anchor-internal></src></p><p><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> かわりに <code class="charname" xml:lang="en">GCC</code> の利用が認められていました。</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:">ECMA-43</anchor> 第2版は、
<code class="charname" xml:lang="en">GCC</code> には言及がなく、
かわりに
<code class="charname" xml:lang="en">BS</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>を要件としていました。
第3版の要件云々は、第3版だけ読んでいると理解できませんが、
第2版のこの要件を指していたようです。</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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ECMA-43</anchor> 第1版は何も言及していませんでした。</p></section><section><h1>CCITT</h1><p><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CCITT</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:">非spacing文字</anchor>による合成をつかっていました。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>非spacing文字</anchor> </sw-see></p></section><section><h1>ANSEL</h1><p><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:">ANSEL</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非spacing図形文字</anchor>による合成に対応しており、
<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>非spacing図形文字</anchor> </sw-see></p></section><section><h1>ISO/IEC 8859</h1><p><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:">ISO/IEC 8859</anchor> 
やそれに相当する 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ECMA</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>を割り当てることで表現していました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</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:">文字コード</anchor>をつかっていました。</p></section><section><h1>JIS漢字コード</h1><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:">JISX0208</anchor>:1997
は禁止しています。</p><figure class="quote"><figcaption><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:">JIS X 0208:1997</anchor></figcaption><blockquote><p><b>8. 合成文字の取扱い</b> この規格で規定する符号化文字集合中のすべての図形文字は, 現在位置の前進動
作を伴う文字 (スペーシング文字) とする。 <b>JIS X 0211</b> の BACKSPACE (後退) 又は CARRIAGE RETURN
(復帰) を使用することによって, 2文字以上の図形文字を同じ文字位置に重ねて表示することができる
が, こうした合成文字を用いてはならない。</p><box xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" class="indent"><p xmlns="http://www.w3.org/1999/xhtml"><b>備考</b> 2区94点の LARGE CIRCLE (大きな丸) “◯” は, これまでの規格との互換性のため削除しな
いが, この図形文字を合成のために用いてはならない。</p></box></blockquote></figure><figure class="quote"><figcaption><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0213:2000</anchor></figcaption><blockquote><p><b>8. 合成文字の取扱い</b> この規格で規定する符号化文字集合中のすべての図形文字は, 別に規定するもの
を除き, 現在位置の前進動作を伴う文字とする。 <b>JIS X 0211</b> の BACKSPACE (後退) 又は CARRIAGE RETURN
(復帰) を使用することによって, 2文字以上の図形文字を同じ文字位置に重ねて表示することができる
が, こうした合成文字を用いてはならない。文字合成を実装する場合は, ダイアクリティカルマーク (合
成可能) は, 現在位置の前進を伴わない文字として用いてもよい。</p><box xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" class="indent"><p xmlns="http://www.w3.org/1999/xhtml"><b>備考</b> 1面2区94点の LARGE CIRCLE (大きな丸) “◯” は, 現在位置の前進を伴う文字であり, 文
字合成を実装する場合に, 現在位置の前進を伴わない文字として用いてはならない。</p></box></blockquote></figure><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>LARGE CIRCLE</anchor>, <anchor>JIS X 0213の結合文字</anchor> </sw-see></p><figure class="quote"><figcaption><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> 
<cite><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0208</anchor> 改正案説明資料</cite>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">芝野耕司</anchor>,
<time>1995 年 11 月 20 日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">1995-11-20</attrvalue></time></figcaption><blockquote><p>JIS X 0202 (ISO/IEC 2022),すなわち,符号拡張法を含めて,符号化文字集合規格で認めている文字
の合成方法は,次に二つの方法である。一つの方法は,ISOR 646 以来の BACKSPACE 又は CARRIAGE
RETUREN 及び SPACE を組合せ,重ね打ちによって文字を合成する方法であり,もう一つの方法は,ISO
6937 などで規定される文字送りなしのアクセント記号を用いる方法である。これらの符号化文字集合にお
ける文字合成方法は,どちらも基本的には,重ね打ちに基づいている。</p><p>このような合成方法では,日本国内で広く用いられている丸付き数字,単位記号文字などの文字を実際
に合成することはできない。にもかかわらず,1978 年に制定した第 1 次規格以来,文字合成に関して,こ
うした具体的な技術に立脚した ISO での合成文字を厳密に議論することなく,文字合成の概念のみをあた
かも魔法のように取り扱ってきた。そのため,丸付き数字,片仮名単位字などは,日常的に広く用いられ
ているにも関わらず,合成が可能であるとして,符号化文字集合に入れられていない。このような文字に
関しては,実務上必要であるが,実際には合成できないため,各社の実装ではメーカ提供外字として取り
入れられており,規格の運用面での問題が生じている。</p></blockquote></figure></section><section><h1>Unicode</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:">Unicode</anchor> は
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 8859</anchor> 
の系統の合成済の文字を持ちつつ、
後置の<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></p></section></section><section><h1>文字レパートリ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> 
<cite xml:lang="en">ecma35lib/ecma35/data/bs_sequences.json at master · harjitmoe/ecma35lib · GitHub</cite>, <time>2025-06-28T02:34:57.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://github.com/harjitmoe/ecma35lib/blob/master/ecma35/data/bs_sequences.json">https://github.com/harjitmoe/ecma35lib/blob/master/ecma35/data/bs_sequences.json</anchor-external></p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-IR 68</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">APL</anchor> 用の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">94集合</anchor>で、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ビット組合せ</anchor>の組合せを規定していますが、
ただ並べるだけでいいのか、順序はどうなのか、説明がないのでよくわかりません。</p></section></body></html>