<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="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ruby xmlns="http://www.w3.org/1999/xhtml">結<rt>けつ</rt></ruby><ruby xmlns="http://www.w3.org/1999/xhtml">合<rt>ごう</rt></ruby><ruby xmlns="http://www.w3.org/1999/xhtml">文<rt>も</rt></ruby><ruby xmlns="http://www.w3.org/1999/xhtml">字<rt>じ</rt></ruby><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">combining character</rt></rubyb></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>されて表示されるべき<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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[142]</anchor-end> <cite><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">The Unicode Standard</anchor>, Version 13.0 - ch02.pdf</cite>, <time>2020-03-09T17:53:32.000Z</time>, <time>2020-12-06T08:54:12.180Z</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.unicode.org/versions/latest/ch02.pdf#G1708">https://www.unicode.org/versions/latest/ch02.pdf#G1708</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="209" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[209]</anchor-end> <cite><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">The Unicode Standard</anchor>, Version 13.0 - ch03.pdf</cite>, <time>2020-03-09T17:53:34.000Z</time>, <time>2020-12-31T08:45:19.650Z</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.unicode.org/versions/latest/ch03.pdf#G50313">https://www.unicode.org/versions/latest/ch03.pdf#G50313</anchor-external></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> <cite><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">The Unicode Standard</anchor>, Version 12.0 - ch03.pdf</cite> (<time>2019-03-02 07:15:30 +09:00</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.unicode.org/versions/latest/ch03.pdf#G30602">http://www.unicode.org/versions/latest/ch03.pdf#G30602</anchor-external><ul><li><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> D53</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> D54</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> D55</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> D56</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> D56a</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> D57</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[115]</anchor-end> <csection xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Application of Combining Marks</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="https://www.unicode.org/versions/latest/ch03.pdf#G50030">https://www.unicode.org/versions/latest/ch03.pdf#G50030</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[185]</anchor-end> <cite>The Unicode Standard, Version 13.0 - ch05.pdf</cite>, <time>2020-03-09T17:53:36.000Z</time>, <time>2020-12-08T11:02:06.579Z</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.unicode.org/versions/latest/ch05.pdf#M9.31810.Heading.511.Strategies.for.Handling.NonSpacing.Marks">https://www.unicode.org/versions/latest/ch05.pdf#M9.31810.Heading.511.Strategies.for.Handling.NonSpacing.Marks</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[164]</anchor-end> <cite><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">The Unicode Standard</anchor>, Version 13.0 - ch07.pdf</cite>, <time>2020-03-09T17:53:38.000Z</time>, <time>2020-12-07T09:15:13.901Z</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.unicode.org/versions/latest/ch07.pdf#M9.37081.HeadingBreak.79.Combining.Marks">https://www.unicode.org/versions/latest/ch07.pdf#M9.37081.HeadingBreak.79.Combining.Marks</anchor-external></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> <cite xml:lang="en-us">Glossary</cite> (<time>2014-12-06 10:49:08 +09:00</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://unicode.org/glossary/#combining_mark">https://unicode.org/glossary/#combining_mark</anchor-external></li><li>
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="278" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[278]</anchor-end> 
<cite xml:lang="en-us">UAX #15: Unicode Normalization Forms</cite>, <time>2024-08-14T19:11:21.000Z</time>, <time>2025-07-02T03:56:32.187Z</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://unicode.org/reports/tr15/#UAX15-D3">https://unicode.org/reports/tr15/#UAX15-D3</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> <cite xml:lang="en-us">UAX #44: Unicode Character Database</cite>, <time>2020-03-06T22:23:11.000Z</time>, <time>2020-10-21T06:24:49.510Z</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.unicode.org/reports/tr44/#Default_Values_Table">https://www.unicode.org/reports/tr44/#Default_Values_Table</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="103" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[103]</anchor-end> <cite xml:lang="en-us"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UAX #44</anchor>: Unicode Character Database</cite> (<time>2016-06-21 02:42:04 +09:00</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.unicode.org/reports/tr44/#General_Category_Values">https://www.unicode.org/reports/tr44/#General_Category_Values</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> <cite xml:lang="en-us">UAX #44: Unicode Character Database</cite>, <time>2020-03-06T22:23:11.000Z</time>, <time>2020-10-21T08:24:32.981Z</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.unicode.org/reports/tr44/#Derived_Extracted">https://www.unicode.org/reports/tr44/#Derived_Extracted</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> <cite xml:lang="en-us">UAX #44: Unicode Character Database</cite>, <time>2020-03-06T22:23:11.000Z</time>, <time>2020-10-21T08:37:23.285Z</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.unicode.org/reports/tr44/#Canonical_Combining_Class_Values">https://www.unicode.org/reports/tr44/#Canonical_Combining_Class_Values</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> <cite xml:lang="en-us">UAX #44: Unicode Character Database</cite>, <time>2020-03-06T22:23:11.000Z</time>, <time>2020-10-21T08:49:23.551Z</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.unicode.org/reports/tr44/#Property_Invariants">https://www.unicode.org/reports/tr44/#Property_Invariants</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[101]</anchor-end> <cite xml:lang="en-us"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTS #46</anchor>: Unicode IDNA Compatibility Processing</cite> (<time>2016-06-02 03:53:22 +09:00</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.unicode.org/reports/tr46/#Validity_Criteria">https://www.unicode.org/reports/tr46/#Validity_Criteria</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> <cite xml:lang="en-us">UAX #44: Unicode Character Database</cite>, <time>2020-03-06T22:23:11.000Z</time>, <time>2020-10-21T08:53:55.034Z</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.unicode.org/reports/tr44/#Invariants_in_Implementations">https://www.unicode.org/reports/tr44/#Invariants_in_Implementations</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="116" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[116]</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>については、
<cite>The Unicode Standard</cite>
は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">規定</anchor>と<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>指針</anchor><rt xmlns="http://www.w3.org/1999/xhtml">guideline</rt></rubyb></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>について特に情報が与えられない場合の既定のレンダリングの挙動を示すものとされています。
個々の文字について <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">typograph</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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="141" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[141]</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:">レンダリングシステム<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">文字のレンダリング</title></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></section><section><h1>結合文字とその分類</h1><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> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">combining character</rt></rubyb></dfn> =
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合マーク<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">combining mark</rt></rubyb></dfn>は、
<code>General_Category</code> が
<dfn>Combining Mark</dfn> (<dfn><code>Mark</code></dfn>, <dfn><code>M</code></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>)
です。
<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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;101</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;18</anchor-internal></src></p><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:">私用文字</anchor> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Co</anchor></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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></src>。
原則は<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>、<anchor>私用文字</anchor> </sw-see></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="143" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[143]</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>です
<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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="150" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[150]</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:">harakat</anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">デバナガリ文字</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">matra</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:">記号用ダイアクリティカルマーク<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">symbol diacritic</title></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="210" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[210]</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>とされています。</p><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="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:">結合文字</anchor>の一覧 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>と解釈する <code>Co</code> を除く)
<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://chars.suikawiki.org/set/%24unicode%3Acombining-character">https://chars.suikawiki.org/set/%24unicode%3Acombining-character</anchor-external></li><li><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> <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">General_Category</anchor>=<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">M<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Mark</title></anchor></code> の一覧
<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://chars.suikawiki.org/set/%24unicode%3AMark">https://chars.suikawiki.org/set/%24unicode%3AMark</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="144" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[144]</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>があります。
<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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src></p><ul><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> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非前進マーク<rt xmlns="http://www.w3.org/1999/xhtml">nonspacing mark</rt></rubyb></dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">General Category</anchor>
が
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Nonspacing Mark</anchor> (<dfn><code>Mn<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Nonspacing Mark</title></code></dfn>)
か
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Enclosing Mark</anchor> (<dfn><code>Me<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Enclosing Mark</title></code></dfn>)
の<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="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;30</anchor-internal></src><ul><li>
<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> 
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">囲みマーク<rt xmlns="http://www.w3.org/1999/xhtml">enclosing mark</rt></rubyb></dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非前進マーク</anchor>であって
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">General Category</anchor>
が
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Enclosing Mark</anchor> (<dfn><code>Me<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Enclosing Mark</title></code></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>の<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="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src></li><li>
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="145" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[145]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非前進マーク</anchor>は、
それ自体で表示上の位置 (spacing position)
を占有しません <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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基線</anchor>上を先へと進み (baseline advance) ません
<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="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src>。
ただし<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>との組合せの場合とで文字幅 (advance width)
が変わってくることはあります
<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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src>。</li></ul></li><li>
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> 
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">前進マーク<rt xmlns="http://www.w3.org/1999/xhtml">spacing mark</rt></rubyb></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>ではないものです。
<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="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;39</anchor-internal></src><ul><li>
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="165" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[165]</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="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src>、
それ自体の幅を占有します。
他の文字と複雑に作用することがあります <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="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src>。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="206" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[206]</anchor-end> 
<code>General_Category</code> は <dfn><code>Mc</code></dfn> です。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="207" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[207]</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>を作ることが出来ます。</li></ul></li></ul><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="166" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[166]</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:">文字コード</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>などと言っていました。
しかし <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>には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">spacing</anchor> な文字も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非spacing</anchor>
な文字もあるのです。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="113" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[113]</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="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> 
<code>General_Category</code> の値 
<code>Mark</code> = <code>M</code>
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Spacing Combining Mark</anchor> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mc</anchor></code>),
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Nonspacing Mark</anchor> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mn</anchor></code>),
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Enclosing Mark</anchor> (<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Me</anchor></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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="103" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;103</anchor-internal></src></p><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="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nonspacing mark</anchor> の一覧
<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://chars.suikawiki.org/set/%24unicode%3Anonspacing-mark">https://chars.suikawiki.org/set/%24unicode%3Anonspacing-mark</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">enclosing mark</anchor> の一覧
<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://chars.suikawiki.org/set/%24unicode%3Aenclosing-mark">https://chars.suikawiki.org/set/%24unicode%3Aenclosing-mark</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="109" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[109]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">spacing mark</anchor> の一覧 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>と解釈する <code>Co</code> を除く)
<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://chars.suikawiki.org/set/%24unicode%3Aspacing-mark">https://chars.suikawiki.org/set/%24unicode%3Aspacing-mark</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="110" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[110]</anchor-end> <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">General_Category</anchor>=<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mn</anchor></code> の一覧
<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://chars.suikawiki.org/set/%24unicode%3AMn">https://chars.suikawiki.org/set/%24unicode%3AMn</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="111" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[111]</anchor-end> <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">General_Category</anchor>=<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Me</anchor></code> の一覧
<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://chars.suikawiki.org/set/%24unicode%3AMe">https://chars.suikawiki.org/set/%24unicode%3AMe</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="112" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[112]</anchor-end> <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">General_Category</anchor>=<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mc</anchor></code> の一覧
<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://chars.suikawiki.org/set/%24unicode%3AMc">https://chars.suikawiki.org/set/%24unicode%3AMc</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="211" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[211]</anchor-end> 
<code class="charname" xml:lang="en">ZWJ</code>,
<code class="charname" xml:lang="en">ZWNJ</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>に近い扱いを受けていますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>ではありません。</p></section><section><h1>結合文字列</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:">結合文字</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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></src>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底文字</anchor>の後に0個以上の<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>の後に続けます
<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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P1, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src>。</p><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="151" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[151]</anchor-end> 
この順序は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Semitic scripts</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:">nonspacing</anchor> 
な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">グリフ</anchor>の取り扱いとも合致しているため処理しやすいとされます。
<src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src></comment-p><history 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="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</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:">結合文字</anchor>は後置です。
<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>規格には前置式を採用したものもありましたが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode</anchor>
との変換では順序を入れ替える必要があります。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>非spacing文字</anchor> </sw-see></p></history><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="156" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[156]</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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="229" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[229]</anchor-end> 
現実には、<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><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="277" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[277]</anchor-end> 
<dfn>Stream-Safe Text Format</dfn>
では、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NFKD</anchor> 状態で30個以下と制限されています。
この制限は、
実用よりも十分長く、実装上のバッファー長に余裕がある (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> でも 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-16</anchor> でも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-32</anchor> でも
128バイトを超えない)
と説明されています。
<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="278" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;278</anchor-internal> (<dfn xmlns="http://www.w3.org/1999/xhtml">UAX15-D3</dfn>)</src></p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> 
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字列<rt xmlns="http://www.w3.org/1999/xhtml">combining character sequence</rt></rubyb></dfn> (<dfn>CCS</dfn>) は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底文字</anchor>が0個または1個の後に、
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">ZERO WIDTH JOINER</code>、
<code class="charname" xml:lang="en">ZERO WIDTH NON-JOINER</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="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;45</anchor-internal></src></p><figure class="railroad"><ol><li>?<ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底文字</anchor></li></ol></li><li>+<ol><li>|<ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor></li><li><code class="charname" xml:lang="en">ZERO WIDTH JOINER</code></li><li><code class="charname" xml:lang="en">ZERO WIDTH NON-JOINER</code></li></ol></li></ol></li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> 
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拡張済み結合文字列<rt xmlns="http://www.w3.org/1999/xhtml">extended combining character sequence</rt></rubyb></dfn> (<dfn>ECCS</dfn>) は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拡張済み基底</anchor>が0個または1個の後に、
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">ZERO WIDTH JOINER</code>、
<code class="charname" xml:lang="en">ZERO WIDTH NON-JOINER</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="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;47</anchor-internal></src></p><figure class="railroad"><ol><li>?<ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拡張済み基底</anchor></li></ol></li><li>+<ol><li>|<ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor></li><li><code class="charname" xml:lang="en">ZERO WIDTH JOINER</code></li><li><code class="charname" xml:lang="en">ZERO WIDTH NON-JOINER</code></li></ol></li></ol></li></ol></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="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</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>が含まれるかどうかが違います。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>拡張済み基底</anchor> </sw-see> </comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> 
「結合文字」の列というと0文字以上の<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>のかわりに
<code class="charname" xml:lang="en">ZWJ</code> / <code class="charname" xml:lang="en">ZWNJ</code>
が含まれる列のこともあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="114" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[114]</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>と似ていますが、
違うこともあります。
<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="212" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[212]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>の順序には、意味があることも、ないこともあります。
(<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="186" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;186</anchor-internal>)</p><history 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="146" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[146]</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:">Unicode</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 2022</anchor>
は
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 10646</anchor>
と混在させる仕組みを定義しています。
すると
<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 10646</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:">Unicode</anchor>
はそうしたものを想定していないので何も言及していませんし、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 2022</anchor>
側にもそうした<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">規定</anchor>はありません。
結局そのようなシステムがどう動作するべきかは不明と言わざるを得ません。</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="232" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[232]</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:">非Unicode文字</anchor>に対応関係が存在するなら、
その対応関係に基づきすべて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode文字</anchor>だった場合と同等に動作するのでしょうし、
そうでなくても<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>であるか、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>相当のものであるかに応じて動作するのでしょう。</p></history><history 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="233" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[233]</anchor-end> 
また<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非spacing文字</anchor>など <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode</anchor> にない概念の文字と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode文字</anchor>との組み合わせもありえます。</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="234" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[234]</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:">非spacing文字</anchor>のすべての組み合わせで構成される<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor>の出現の可能性も一応考えておかなければなりません。</p></history><section><h1>基底文字と結合文字の関係性</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[88]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>の<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">関連付けられた基底文字<rt xmlns="http://www.w3.org/1999/xhtml">associated base character</rt></rubyb></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>です。
<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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> D61a</src></p><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>の<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:">zero width joiner</anchor> でも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">zero width nonjoiner</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>に<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適用する<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">apply</rt></rubyb></dfn>といいます。 <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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></src>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">関連付けられた基底文字</anchor>に<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">依存する<rt xmlns="http://www.w3.org/1999/xhtml">depend</rt></rubyb></dfn>といいます
(<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">依存性<rt xmlns="http://www.w3.org/1999/xhtml">dependence</rt></rubyb></dfn>)
<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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> D61a</src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="118" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[118]</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:">適用<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">関連付けられた書記素基底</title></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>を持つ
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nonspacing mark</anchor>
に関係します。</p></section><section><h1>孤立結合文字</h1><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:">結合文字</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>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">書式文字</anchor>が前にある場合) には、
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>孤立結合文字</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">isolated combining character</rt></rubyb></dfn>といいます。 <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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[81]</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>がないものを<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">欠陥結合文字列<rt xmlns="http://www.w3.org/1999/xhtml">defective combining character sequence</rt></rubyb></dfn>といいます。
<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="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;49</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="117" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[117]</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:">基底文字</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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> D61a</src></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:">完全正規化済み</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="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[89]</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:">結合文字</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="198" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[198]</anchor-end> 
なお、
文頭において<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>を含まず
<code class="charname" xml:lang="en">ZWJ</code>,
<code class="charname" xml:lang="en">ZWNJ</code>
のみで構成される<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><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="231" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[231]</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:">レンダリング</anchor>するとき取り扱いに注意を要することがあります。</p></section><section><h1>結合文字と空白の合成</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[86]</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>として
<code class="char">U+00A0</code> <code class="charname" xml:lang="en">NO-BREAK SPACE</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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="162" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[162]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode 4.1</anchor>
までは、
<code class="char">U+0020</code> <code class="charname" xml:lang="en">SPACE</code>
を使うことが<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>推奨</anchor><rt xmlns="http://www.w3.org/1999/xhtml">recommended</rt></rubyb>されていましたが、
推奨されなくなりました。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor>
などの 
<code>U+0020</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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[87]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS</anchor> (<code>white-space:normal</code>)
のような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>を正規化する処理が適用される環境では、
<code>U+0020</code> を使うと思わぬ意図せぬ結果がもたらされることがあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="92" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[92]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS</anchor> の <code>text-emphasis</code> は <code>Z*</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>が組み合わさったケースでは一般の文字と同じ扱いになります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="163" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[163]</anchor-end> 
<cite>The Unicode Standard</cite>
の「推奨」
は変更されましたが、
<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:">NFKC</anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NFKD</anchor>
を適用すると
<code>U+0020</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="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src>。
(もっとも <code>U+00A0</code> も <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NFKC</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NKFD</anchor> では <code>U+0020</code>
になります。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="269" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[269]</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>が異なることがあります。
<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="235" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[235]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">方向性</anchor>との相互作用にも注意が必要です (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="169" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;169</anchor-internal>)。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="270" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[270]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">縦書き</anchor>との関係にも注意が必要です。
例えば<sw-ch xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">゛</sw-ch>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>との組み合わせで表現したいからといって、
<sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+0020</sw-cc> や <sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+00A0</sw-cc> や <sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+2003</sw-cc> と <sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+3039</sw-cc> を組み合わせると、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">縦書き</anchor>したときに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">回転して寝かされて<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">回転 (書字方向)</title></anchor>しまいます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="271" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[271]</anchor-end> 
<sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+3000</sw-cc> と <sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+3099</sw-cc> や <sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+309A</sw-cc> を組み合わせると、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> では適切に表示されますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> ではなぜか<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォント</anchor>の指示に従って表示されません。
<sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+3099</sw-cc> や <sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+309A</sw-cc> は明らかに別の<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:">Unicode符号位置</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>が表示されてしまいます。謎です。
<sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+0020</sw-cc> や <sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+00A0</sw-cc> や <sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+2003</sw-cc> <sw-cn xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EM SPACE</sw-cn>
ではこのような怪現象は発生しないのですが、
<sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+3000</sw-cc>
だけ特殊な表示処理があるのでしょうか。
他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>でも発生しないようです。
<time>2025-01-28T13:03:00.100Z</time></p></section><section><h1>基底文字の種類</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[85]</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:">結合文字</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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src>。
普通はありえない<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>を<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:">Unicode</anchor>
として禁止されていません。
(それが意味を成すか、
意図した通りにレンダリングされるかどうかは、
また別の問題です。 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="148" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;148</anchor-internal>)</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="169" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[169]</anchor-end> 
<code>U+00A0</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>とするとき、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">bidi</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>が分離されて意図せぬ形で表示される場合があります。
<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="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src>
これを避けるには
<code class="charname" xml:lang="en">LRM</code>,
<code class="charname" xml:lang="en">RLM</code>,
<code class="HTMLe" xml:lang="en">bdi</code>
の類を適宜使う必要があります。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="139" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[139]</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:">字母</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:">enclosing combining mark</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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal></src></p><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="225" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[225]</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>が付与されることがあります。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="161" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[161]</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:">適用</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:">ligated glyph</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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src></p><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="175" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[175]</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:">typographic</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>化されないこともあります。
<src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src></comment-p></section></section><section><h1>性質</h1><p><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:">正準結合クラス</anchor>が 0 でない<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>が 0 の<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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></src></p><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="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <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> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正準結合クラス</anchor>が 0 の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>の一覧です。<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="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <cite xml:lang="en">Character set &quot;$unicode:Mn | $unicode:Mc | $unicode:Me - $unicode:Canonical_Combining_Class:non-0&quot;</cite> (<time>2015-03-22 23:52:41 +09:00</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://chars.suikawiki.org/set?expr=%24unicode%3AMn+%7C+%24unicode%3AMc+%7C+%24unicode%3AMe+-+%24unicode%3ACanonical_Combining_Class%3Anon-0">https://chars.suikawiki.org/set?expr=%24unicode%3AMn+%7C+%24unicode%3AMc+%7C+%24unicode%3AMe+-+%24unicode%3ACanonical_Combining_Class%3Anon-0</anchor-external></li></ul></refs></comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="153" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[153]</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:">基底文字</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特性<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">特性 (UCD)</title></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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src>
(これがうまく機能しないケースもあります (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="149" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;149</anchor-internal>)。)</p></section><section><h1>結合文字相互の順序</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="186" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[186]</anchor-end> 
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>はいくつでも<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="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;185</anchor-internal></src>。</p><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> 
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">typograph<ruby xmlns="http://www.w3.org/1999/xhtml">的<rt>てき</rt></ruby><ruby xmlns="http://www.w3.org/1999/xhtml">相互作用<rt>そうごさよう</rt></ruby><rt xmlns="http://www.w3.org/1999/xhtml">typographic interaction</rt></rubyb></dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">grapheme base</anchor>
に対する相対的な位置が既に他の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nonspacing mark</anchor>
に占有されているような
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nonspacing mark</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:">default stacking</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">side-by-side placement</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="209" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;209</anchor-internal> D106</src></p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="119" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[119]</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:">nonspacing mark</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>から図形的に外側に向かって配置していきます
(<dfn>inside-out application</dfn>,
<dfn>default stacking behavior</dfn>)。
<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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P2, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;185</anchor-internal></src>
上側に置く<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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P2</src></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="157" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[157]</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>に対して
<code>U+0E34</code> - <code>U+0E37</code> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">母音</anchor>を上に置き、
更に
<code>U+0E48</code> - <code>U+0E4B</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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src></p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="120" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[120]</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:">nonspacing mark</anchor>
については、
垂直に並べる <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">default stacking behavior</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>規則に従い配置します
(<dfn>side-by-side application</dfn>)。
<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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P3</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="121" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[121]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">side-by-side application</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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P3, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src>
<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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ギリシャ文字</anchor>では<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>を左側、
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>では逆側に置きます。
<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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P3</src></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="158" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[158]</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:">breathing mark</anchor>
の
<code>U+0313</code> <code class="charname" xml:lang="en">COMBINING COMMA ABOVE</code>,
<code>U+0314</code> <code class="charname" xml:lang="en">COMBINING REVERSED COMMA ABOBE</code>
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">acute accent</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">grave accent</anchor>
と併用する時、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">side-by-side application</anchor>
します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底文字</anchor>、 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">breathing mark</anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">accent mark</anchor>
の順に並べ、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底文字</anchor>の上に左が 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">breathing mark</anchor>、
右が
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">accent mark</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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="122" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[122]</anchor-end> 
<code>U+1ABB</code> <code class="charname" xml:lang="en">COMBINING PARENTHESES ABOVE</code>,
<code>U+1ABC</code> <code class="charname" xml:lang="en">COMBINING DOUBLE PARENTHESES ABOVE</code>,
<code>U+1ABD</code> <code class="charname" xml:lang="en">COMBINING PARENTHESES BELOW</code>
は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">side-by-side application</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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P3</src>
これらは<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>を囲むように配置します。
<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="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="181" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[181]</anchor-end> これも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">side-by-side application</anchor>
の一種とされますが、その定義とは少し違う別種の配置のような...</li></ul></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="123" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[123]</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:">typographic</anchor>
な挙動により
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nonspacing mark</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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P4</src></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="168" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[168]</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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="124" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;124</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="125" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;125</anchor-internal></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="126" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[126]</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:">default stacking behavior</anchor>
だけでは説明できず、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アラビア文字</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">typography</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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P4</src></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="160" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[160]</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>でも特別な扱いが必要となります。
<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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="187" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[187]</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:">acute accent</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">grave accent</anchor>
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">circumflex accent</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="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;185</anchor-internal></src></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="136" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[136]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指針</anchor>として、
<dfn><code>Soft_Dotted</code></dfn>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特性<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">特性 (UCD)</title></anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>に
<dfn>nonspacing mark above</dfn>
(<code>ccc</code> = <dfn><n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">230</n></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>されるとき、
<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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P9</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="137" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[137]</anchor-end> <code>i</code> や <code>j</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>を書きます。
<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>では、
<code>U+0307</code> <code class="charname" xml:lang="en">COMBINING DOT ABOVE</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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P9</src>。</p><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="138" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[138]</anchor-end> <code>Soft_Dotted</code> な文字の一覧
<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://chars.suikawiki.org/set/%24unicode%3ASoft_Dotted">https://chars.suikawiki.org/set/%24unicode%3ASoft_Dotted</anchor-external></li></ul></refs><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="127" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[127]</anchor-end> 
<n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</n> で<em>ない</em><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合クラス</anchor>の 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">non-spacing mark</anchor>
の順序を入れ替えても、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字列</anchor>の視覚的表示や解釈は変化しません
(<dfn>nondistict order</dfn>)。
<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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P5</src>
そのような場合は任意の順序で書くことが出来ます <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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src>。 
実装は内部的に任意の順序に置き換えて処理できます <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="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;185</anchor-internal></src>。
<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:">NFC</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="128" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[128]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">combining grapheme joiner</anchor>
を使うと
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nondistinct order</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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P5</src></p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="129" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[129]</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:">enclosing mark</anchor>
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">関連付けられた書記素基底</anchor>やそれとの間にある
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">enclosing mark</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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P6</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="130" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[130]</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:">nonspacing mark</anchor>
を付けて更に囲むような入れ子の構造も記述できます。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="182" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[182]</anchor-end> 
<code>U+1DC0</code> <code class="charname" xml:lang="en">COMBINING DOTTED GRAVE ACCENT</code>,
<code>U+1DC1</code> <code class="charname" xml:lang="en">COMBINING DOTTED ACUTE ACCENT</code>
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ギリシャ文字</anchor>で使われ、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">dialytika varia</anchor>
と
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">dialytika oxia</anchor>
の組み合わせの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">異体字</anchor>です。
<code>U+0308</code> <code class="charname" xml:lang="en">COMBINING DIAERESIS</code>,
<code>U+0300</code> <code class="charname" xml:lang="en">COMBINING GRAVE ACCENT</code>,
<code>U+0301</code> <code class="charname" xml:lang="en">COMBINING ACUTE ACCENT</code>
と混じると通常の stacking rule 
では<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結果が信頼できない<rt xmlns="http://www.w3.org/1999/xhtml">cannot be reliably formed</rt></rubyb>ために別の文字として追加されたといいます。
<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="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src></p><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="183" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[183]</anchor-end> 理由が「表現できない」ではなく「信用できない」であるところに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">闇</anchor>を感じます...</comment-p></section><section><h1>二重ダイアクリティカルマーク</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="170" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[170]</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>は、
2つの<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>として使います。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="131" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[131]</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:">nonspacing mark</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>されることが意図されています。
<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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P7</src></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="132" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[132]</anchor-end> <code>U+0360</code> <code class="charname" xml:lang="en">COMBINING DOUBLE TILDE</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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P7</src></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="133" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[133]</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:">nonspacing mark</anchor>
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">書記素基底</anchor>の上下に積んだ通常の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nonspacing mark</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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P8, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src>
(surrounding diacritics は除きます。 <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="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="135" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[135]</anchor-end> 
ただ
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">enclosing mark</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>に含めることは<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>推奨</anchor>されません<rt xmlns="http://www.w3.org/1999/xhtml">not recommended</rt></rubyb>。
<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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P8</src></p><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="134" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[134]</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:">nonspacing mark</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>の最後の方に現れます。
<src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P8, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src></comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="171" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[171]</anchor-end> 
<code class="charname" xml:lang="en">COMBINING GRAPHEME JOINER</code>
を使うと<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="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src>。
それ以前の<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>より外側に表示するよう指定できます。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <code xmlns="http://www.w3.org/1999/xhtml" class="charname" xml:lang="en">COMBINING GRAPHEME JOINER</code> </sw-see></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="178" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[178]</anchor-end> 
<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>、<anchor>組み合わせて使う文字</anchor> </sw-see></p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="172" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[172]</anchor-end> 
3文字以上に対する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ダイアクリティカルマーク</anchor>は、
<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>によって記述するべきだとされています。
<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="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="173" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[173]</anchor-end> 
限られた状況では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">combining half mark</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="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="174" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[174]</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:">Unicode</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><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="260" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[260]</anchor-end> 
なお、後続の<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>として、
<code>Prepended_Concatenation_Mark</code>
たる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>があります。</p></section><section><h1>結合文字の前後連結</h1><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>上下左右線の文字</anchor> </sw-see></p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="184" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[184]</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:">combining half marks</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>が<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">好ましい<rt xmlns="http://www.w3.org/1999/xhtml">preferred</rt></rubyb>とされます。
<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="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src></p></section><section><h1>レンダリング</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="148" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[148]</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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;85</anchor-internal>) が、
実装はすべての組合せを等しく良く対応する必要はありません。
<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="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;85</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="189" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[189]</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>の図形も合成で表示できそうな気がしますが、
現実には組み合わせごとに調整しなければ実用できる品質にはなりません。</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="243" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[243]</anchor-end> 
例えば「A」と「a」の上部にアクセント記号を付け加えることを考えると、
汎用アクセント字形を単純に重ね合わせるだけでは美しくならないことがわかります。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="242" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[242]</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>の表示方法の1つです <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="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;185</anchor-internal></src>。
<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="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;185</anchor-internal></src>。
こうした手法の実現には
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォント</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ligature</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">kerning</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="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;185</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="190" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[190]</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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="244" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;244</anchor-internal>)。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="194" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[194]</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:">結合文字</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">表示上<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">表示順</title></anchor>の左側の文字に適用されるのでは<em>なく</em>、
<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="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;185</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="152" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[152]</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:">子音文字</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>の後に<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:">Unicode</anchor> 以前の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISCII</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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src></p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="202" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[202]</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:">文字</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><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="203" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[203]</anchor-end> 
通常では使わないような異常な(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>の利用によって、
上下左右の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</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><h1>非前進マーク</h1><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>の<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>表現</anchor><rt xmlns="http://www.w3.org/1999/xhtml">presentation</rt></rubyb>上の位置は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底文字</anchor>に依存します。
通常はそれ自体に関して <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">visual baseline</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="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;30</anchor-internal></src></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:">非前進マーク</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="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;30</anchor-internal></src></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="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> 例えば <code>U+20DD</code> <code class="charname" xml:lang="en">COMBINING ENCLOSING CIRCLE</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>の表示位置が通常と変化することになります。</p></example><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="167" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[167]</anchor-end> 
<code>U+0301</code> <code class="charname" xml:lang="en">COMBINING ACUTE ACCENT</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>としての<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="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src>。
つまり<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>とでは<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="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src>。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="124" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[124]</anchor-end> <code>g</code> の下方と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">combining comma below</anchor>
が衝突してしまうので、
かわりに 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">inverted comma above</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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P4, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="125" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[125]</anchor-end> <code>d</code> の上方と
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">combining caron</anchor>
が衝突してしまうので、
かわりに
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">apostrophe</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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal> P4, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="195" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[195]</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>の間で行うべきではありません
<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="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;185</anchor-internal></src>。
原則<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><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="149" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[149]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">combining enclosing mark</anchor>
は、
<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>記号</anchor><rt xmlns="http://www.w3.org/1999/xhtml">symbol</rt></rubyb>を表現する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>に使うのに<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">留めるのがいいです<rt xmlns="http://www.w3.org/1999/xhtml">best to limit</rt></rubyb>。
<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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="155" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[155]</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="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;142</anchor-internal></src></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="236" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[236]</anchor-end> 
例えば
<code>U+0021</code> <code class="charname" xml:lang="en">EXCLAMATION MARK</code>
と
<code>U+20E4</code> <code class="charname" xml:lang="en">COMBINING ENCLOSING UPWARD POINTING TRIANGLE</code>
で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">警告マーク</anchor>を表せますが、
<code>!</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>とは異なる挙動を示します。</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="237" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[237]</anchor-end> 
故に
<code>U+26A0</code> <code class="charname" xml:lang="en">WARNING SIGN</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="153" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;153</anchor-internal></src></p><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="238" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[238]</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:">特性<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">文字特性</title></anchor>の不一致が理由とされます
<src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src>。</comment-p></example><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="239" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[239]</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>のため今更修正するわけにもいかないのでしょう。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="154" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[154]</anchor-end> <code>Vertical_Orientation</code> 
は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">書記素クラスター</anchor>に対して定義され、
<code>Me</code>
の場合だけ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">書記素基底</anchor>のものではなく固定値が割り当てられます。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <code xmlns="http://www.w3.org/1999/xhtml">Vertical_Orientation</code> </sw-see></p><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="240" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[240]</anchor-end> 
このような扱いなのは <code xmlns="http://www.w3.org/1999/xhtml">Vertical_Orientation</code> が比較的新しい特性であることと関係するのでしょう。</comment-p><history 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="140" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[140]</anchor-end> 
古い実装は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Indic consonant conjunct</anchor>
や、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">combining grapheme joiner</anchor>
で連結された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">書記素クラスター</anchor>群全体に対して
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">enclosing combing mark</anchor>
で囲んでいました。
そうした手法には数々の問題があるので、
<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">推奨されません<rt xmlns="http://www.w3.org/1999/xhtml">not recommended</rt></rubyb>。
<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="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal></src></p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="201" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[201]</anchor-end> 
なぜか非推奨であって禁止はされていないようです。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相互運用性</anchor>は低そうです。</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="200" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[200]</anchor-end> 
非推奨とするだけで、
代替手段は用意されていないようです。</p></history></section><section><h1>前進マーク</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</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>とそう違わない挙動を示します。
<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="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;39</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> 
しかし <code>U+0BCA</code> <code class="charname" xml:lang="en">TAMIL VOWEL SIGN O</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="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;39</anchor-internal></src></p></section><section><h1>フォント情報に基づく結合文字列のレンダリング</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="216" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[216]</anchor-end> <code>GSUB</code>, <code>cmap</code></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="217" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[217]</anchor-end> <cite xml:lang="ja-jp">OpenType development (LEGACY INFORMATION) - Typography | Microsoft Docs</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nihar</anchor>, <time>2022-08-27T06:51:43.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://docs.microsoft.com/ja-jp/typography/develop/otdevinfo#suggested-glyphs-for-complex-scripts">https://docs.microsoft.com/ja-jp/typography/develop/otdevinfo#suggested-glyphs-for-complex-scripts</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="220" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[220]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OpenType</anchor>
における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">グリフ級</anchor> <dfn><n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">3</n></dfn>
は、
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マークグリフ<rt xmlns="http://www.w3.org/1999/xhtml">mark glyph</rt></rubyb></dfn>を表します。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="221" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[221]</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:">結合文字</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><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="222" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[222]</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:">基底グリフ</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>の相互関係を記述しなければなりません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OpenType</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォント</anchor>ではその情報を
<code>GPOS</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">表<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">OpenType表</title></anchor>に格納できます。
<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="246" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[246]</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>の <code>GDEF</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">表<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">OpenType表</title></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>の <code>GPOS</code> 等からの参照以外に影響があるのか)
は十分明らかではありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="247" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[247]</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:">グリフ</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:">Windows</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> では、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列の選択</anchor>の単位や (<code>kern</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>GDEF</code> の指定は効果がないように見えます。
<time>2023-11-10T13:28:10.400Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="255" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[255]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="247" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;247</anchor-internal>
<code>GDEF</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>なら縦方向の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">現在位置</anchor>の進行が0とみなされます。
後続のグリフの描画位置に影響するのはもちろん、
<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="257" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[257]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="247" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;247</anchor-internal> <code>GDEF</code> で指定がないときの既定値が違うのか、
<code>U+3099</code> だと進行しない、
<code>U+16FF1</code> だと進行するのが何も指定しないときの挙動で、
<code>GDEF</code> で挙動を切り替えられます。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="249" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[249]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</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>において1単位として扱われます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="250" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[250]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> では、
<code>GPOS</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>の<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:">X軸</anchor>の絶対値は無視して)
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底文字</anchor>上の左右中央に揃えて配置します。
<time>2023-11-10T13:40:49.00Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="251" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[251]</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:">Windows</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> も <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> も、
<code>GPOS</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>GPOS</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>を移動させずに配置します。</p><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="253" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[253]</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:">横書き</anchor>時と同じ表示にすることでしょうか。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">濁点</anchor>や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+16FF0</anchor> が典型例でしょうが、
下に置くより右に置く方が遥かにマシな表示になるはずです。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="252" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[252]</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:">Firefox</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底文字</anchor>部分を選択するまあ妥当な挙動ですが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</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="256" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[256]</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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="255" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;255</anchor-internal>)。
<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>GDEF</code>
が存在しないことでも回避可能です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="254" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[254]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">グリフ</anchor>間の位置関係は <code>kern</code> / <code>vkrn</code> で調整できそうなものですが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> でも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> でも効果があるようには見えません。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="261" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[261]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> で試してみました。 <time>2025-01-24T09:58:16.600Z</time></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="262" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[262]</anchor-end> <code>GDEF</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>は<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">前進幅</f>に関わらず<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">前進幅</anchor>
<n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</n> とみなされます。つまり前の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">グリフ</anchor>の続きで配置されますが、
<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">前進幅</f>を加算せずに次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">グリフ</anchor>の処理になります。
<code>GPOS</code> <code>mark</code> があっても無視されます。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="263" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[263]</anchor-end> <code>GDEF</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>とみなされるようで、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">グリフ</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">前進幅</f>が無視されません。つまり前の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">グリフ</anchor>の続きで配置され、
<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">前進幅</f>を加算してから次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">グリフ</anchor>の処理になります。
<code>GPOS</code> <code>mark</code> があっても無視されます。<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="267" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[267]</anchor-end> 
ところが <code>GDEF</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>GPOS</code> <code>mark</code>
が指定され、
しかも<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">前進幅</f>が加算されることがあります。何に依って挙動が変わっているのか不明です。</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="264" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[264]</anchor-end> <code>GDEF</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>は、
<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">前進幅</f>に関わらず<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">前進幅</anchor> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</n> とみなされます。 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="262" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;262</anchor-internal> と同じ結果になります。
<code>GPOS</code> <code>mark</code> の指定対象になっていると、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合グリフ</anchor>は <code>mark</code> によって<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="265" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[265]</anchor-end> 
<code>mark</code> に <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml">lookupType</code></f> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">4</n> (MarkToBase)
を指定すれば適用されますが、
<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml">lookupType</code></f> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2</n> (pair)
を指定しても適用されません。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="268" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[268]</anchor-end> 
しかし
<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml">lookupType</code></f> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">8</n> (chained contexts) + <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml">lookupType</code></f> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1</n> (single)
を使えば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底グリフ</anchor>ごと<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">配置</f>や<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">前進</f>を変更できます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底グリフ</anchor>上の位置に連動して MarkToBase の位置がずれるので、
<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="266" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[266]</anchor-end> 
<code>mark</code> でなく <code>ccmp</code> で MarkToBase を指定しても同じことになります。</li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="272" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[272]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合グリフ</anchor>が複数ある場合、後続のものは適用可能な <code>mkmk</code> MarkToMark 
があればそれを使い、なければ <code>mark</code> MarkToBase を使うようです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="273" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[273]</anchor-end> 
同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合グリフ</anchor>が複数あって <code>mkmk</code> で位置が指定されていないと、
同じ位置に同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">グリフ</anchor>が描画されるため1つしかないときと同じように見えます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="274" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[274]</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>されるべき <sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+302E</sw-cc> 
は何か特別な扱いになるらしく、
<code>mark</code>
がないとき、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</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><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="275" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[275]</anchor-end> 
<code>mark</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>を揃えていても一般の文字だと <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="274" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;274</anchor-internal>
と挙動が変わりません。
<sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+0020</sw-cc>, <sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+00A0</sw-cc> 
は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合グリフ</anchor>、空白、点線円グリフの順に並びます。
<sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+25CC</sw-cc> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合グリフ</anchor> + 点線円グリフ、空白、点線円グリフの順に並びます 
(1つ目が <sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+25CC</sw-cc> 用のグリフで、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>絡み故の特殊処理なのでしょうか。</p></section><section><h1>合成済グリフがない場合のレンダリング</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="244" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[244]</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:">フォント</anchor>に用意されていない組み合わせも何らかの形で扱える仕組みを持っていなければなりません。</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:">Unicode</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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;164</anchor-internal></src>
直前の<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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[159]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">default stacking behavior</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="188" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[188]</anchor-end> 
未対応の組み合わせの実装戦略
<dfn>Simple Overlap</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>を描画するもので、
<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="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;185</anchor-internal></src>。</p><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="193" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[193]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nonspacing mark</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>や<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="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</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>である場合や、<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">図形的結合<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">graphical combination</rt></rubyb>を行えない場合には、
図形的結合なしに、<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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></src>
未対応の組み合わせの実装戦略
<dfn>Show Hidden</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>をそれぞれ独立した単位として配置し、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>には 
<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>のように点線円を表示するといったものです
<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="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;185</anchor-internal></src>。</p><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="191" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[191]</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>にも注意が必要となります。
また<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>の場合も想定する必要があります。</comment-p><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="205" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[205]</anchor-end> 
点線の円は
<code xmlns="http://www.w3.org/1999/xhtml">U+25CC</code>
<code xmlns="http://www.w3.org/1999/xhtml" class="charname" xml:lang="en">DOTTED CIRCLE</code>
(<code xmlns="http://www.w3.org/1999/xhtml">◌</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>の字形を再現できます
(少なくても理屈の上では)。</comment-p><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> IDS との関係は <anchor>IDC</anchor> </sw-see></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="248" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[248]</anchor-end> 
条件が複雑なので正確な挙動かどうかわかりませんが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</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:">フォント候補を探し<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">フォントの選択</title></anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</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>にあっても同じ位置に重ねるように見えます。
<time>2023-11-10T13:35:25.100Z</time>
(<code>GPOS</code> との絡みは要検証, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底文字</anchor>側フォントの <code>GPOS</code>
の有無は影響しなそう。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="258" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[258]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</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>がないとき (<code>GPOS</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>用<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">グリフ</anchor>を置くような未対応フォント向け制御も反映されているようです。</p></section><section><h1>欠陥結合文字列のレンダリング</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="192" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[192]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">欠陥結合文字列</anchor>は、
<code>U+00A0</code> <code class="charname" xml:lang="en">NO-BREAK SPACE</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>する<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べき<rt xmlns="http://www.w3.org/1999/xhtml">should</rt></rubyb>です。
<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="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;185</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="196" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[196]</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="197" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[197]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">欠陥結合文字列</anchor>のうち、
<code class="charname" xml:lang="en">ZWJ</code>,
<code class="charname" xml:lang="en">ZWNJ</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>移動なども直後の<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="245" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[245]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;16</anchor-internal> も参照。</p></section></section><section><h1>応用と結合文字</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="223" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[223]</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:">基底文字</anchor>とその後の0個<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>と表示される<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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="96" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;96</anchor-internal>)。
また、<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><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="218" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[218]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OpenType</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>に属するということになっています。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>連なり</anchor> </sw-see>
もし<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><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="226" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[226]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode用字系特性値</anchor></p><section><h1>データ形式と結合文字</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="95" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[95]</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:">結合文字</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="96" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[96]</anchor-end> 
例えば <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</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>の最後の <code>&gt;</code> と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>が合成されて表示されてしまいます。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="98" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[98]</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>を直接入力しづらいときでも、
代替表現で容易に指定できます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="97" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[97]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">完全正規化済</anchor>はこうした不思議な挙動を避けることを求めたものでしたが、
普及しませんでした。</p></section><section><h1>CSS と結合文字</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="94" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[94]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS</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>に属する時でも合成されて表示されるべきかどうか、
両方の<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>'<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">color</anchor>'</code>) が違うときどう表示されるべきか、
明確ではありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="93" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[93]</anchor-end> 
<code>::first-letter</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:">CSS2</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:">CSS2</anchor>
の改訂である
<cite><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Selectors 3</anchor></cite>、
その改訂である
<cite><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS Pseudo-Elements Module Level 4</anchor></cite>
ではなぜかその実例はなくなっています。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>::first-letter</anchor> </sw-see></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[90]</anchor-end> <cite>html - Highlighting Combining Characters - Stack Overflow</cite>, <time>2020-12-06T02:34:51.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://stackoverflow.com/questions/26407896/highlighting-combining-characters">https://stackoverflow.com/questions/26407896/highlighting-combining-characters</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="91" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[91]</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:">grapheme cluster</anchor>
を対象に挙動が定義されています。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>CSS Writing Modes</anchor> </sw-see></p></section></section><section><h1>正規化</h1><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>正準等価性</anchor> </sw-see></p></section><section><h1>セキュリティー</h1><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>文字のセキュリティー</anchor> </sw-see></p></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> 前置式の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">subtending mark</anchor> もあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="199" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[199]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDS</anchor> との相互作用は謎です。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>IDS</anchor> </sw-see></p><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>文字のようなもの</anchor> </sw-see></p></section><section><h1>特殊な利用例</h1><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> <cite xml:lang="ja">Xユーザーの風間さん: 「万博きた̷̡̤͕͖͓͉̯̪̅͊!̴̨̪͕̜̝̙̜̫̍̐̐͘ 今日で3581̵̡̫̞̗͖̱͍͔̿͂̎͆͐日め! 最̶̢̠͕͎̱͍͌高̷̡̢̠͚̮̳͂̓̕のお̴̨̙̲̗̗̘͐͂祭̵̡̨̪̗̦̞̟̔̓̏͂̕り̸̢̢̞͉̗͔͓̔̎͑̕だ〜! 人影はないけど、きょ̶̢͙̺̮̝̯̱̳̽̎̿̍͐̕う̵͎͓̠͚̦̼̽̅͐̔̚も̴̡̢̢͔̤̝͌̿̒͝回るぞ〜̵̨̥̝͓̙͚͍̾̋̋͆! #大̴̡̛̥阪̵̢̛̼万̴̡̛̦博̶̡̛͎2025 #大̴̡̛̥阪̵̢̛̼万̴̡̛̦博 https://t.co/SCHRR4PQWz」 / X</cite>, <time>午後0:14 · 2025年10月14日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2025-10-14T03:14:37.000Z</attrvalue></time>, <time>2025-10-16T02:30:02.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://x.com/kazama_mm/status/1977936051152040176">https://x.com/kazama_mm/status/1977936051152040176</anchor-external></p></section><section><h1>歴史</h1><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:">Unicode</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><h1>ISO/IEC 10646</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="107" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[107]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 10646</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字集合</anchor>として <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>の扱いも一致しています。
ただし
<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 10646</anchor>
とでは用語法に若干の違いが見られます。</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></p><blockquote><dl><dt>結合文字 (combining character)</dt><dd>
この規格群で規定する符号化文字集合の識別された部分集合の構成単位であって、先行する非結合文字 (以下、基底文字という。)
と組み合わせることを意図したもの、又は基底文字の後に結合文字の列が続いた形のものと組み合わせることを意図したもの (4.14 参照)。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0221</anchor>‐1:2001 4.12)</dd></dl></blockquote><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> 2002-11-03 (日) 15:52 <em><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor></em>: <em>非</em>結合文字は<em>被</em>結合文字の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">typo</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="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> </p><blockquote><dl><dt>合成列 (composite sequence)</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>の列 (4.11 参照)。</dd></dl><p>備考 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>の図形記号の組合せからなる。</p><p>2. 合成列は、文字とはみなさない。したがって、
この規格群の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">レパートリ</anchor>の構成単位ではない。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0221</anchor>‐1:2001 4.14)</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="108" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[108]</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>が必須で、
<code>ZWJ</code>
や
<code>ZWNJ</code>
は含まれません。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="104" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[104]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 2022</anchor>
にも合成に関する規定があります。
合成手法として、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">重ね打ち式文字合成</anchor>、
<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>
が示されています。</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></p><blockquote><p><strong>6.3.3 図形文字の結合</strong> 特に指定されない限り、<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 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> (例えば、<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>a) <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>の
<code class="charname"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BACKSPACE</anchor></code> (<code class="jcharname"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">後退</anchor></code>) 又は
<code class="charname"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CARRIAGE RETURN</anchor></code> (<code class="jcharname"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">復帰</anchor></code>)
を使用して、組み合わせてよい。</p><p>b) <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><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 2375</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>参考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>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>がある場合、
それ自身で、これを指定しその用法を示しておくのがよい。</p><p>2. <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>では、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アクセント付き文字</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">表現</anchor>するのに、 a)
の方法が認められている。</p><p>3. <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0211</anchor> では、第3の方法として、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>自身の仕様に関係なく、
<code class="charname"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GRAPHIC CHARACTER COMBINATION</anchor></code> 
(<code class="charname"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GCC</anchor></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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0202</anchor>:1998</src></p></blockquote><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> </p><blockquote><dl><dt>結合文字 (combining character)</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:">JIS X 0202</anchor>:1998 4.8)</dd></dl></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="105" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[105]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 2022</anchor>
の体系で使われる
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-IR</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>
(前置アクセント型) 
方式の文字合成が一番よく使われているのではないかと思われます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="106" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[106]</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:">結合文字</anchor>を使った
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-IR</anchor>
に登録された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">図形文字集合</anchor>はどれだけあるのでしょうか。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0213:2000</anchor>
と
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0213:2004</anchor>
が思い浮かびますが、
他にもあるのでしょうか。</p><hr></hr><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> 10646 での結合文字の使い方は、 24.
に規定があります。結合文字の一覧は附属書 B
にあります。結合文字が使えるかどうかは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実装水準</anchor>と関係します。</p><ul><li>結合文字は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底文字</anchor>の後でなければなりません。
(24.1)</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>を基底文字とします。 (24.1)<ul><li>インド系用字系の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">matra</anchor> (母音記号)
は特殊で、周囲の複数の文字に依存するので、
間隔と結合させるのは望ましくありません。 (24.1 備考)</li></ul></li><li>一つの基底文字に結合できる結合文字の数は 10646 
では規定しません。 (24.3)</li><li>結合文字同士が表示に影響する場合
(例えば <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">COMBINING MACRON</anchor></code>
と <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">COMBINING DIAERESIS</anchor></code>)
は、だんだん外側に
(MACRON より DIAERESIS を上に) 配置していきます。</li><li>縦方向ではなく横方向に並べたり、
隣接する結合文字と合字を作る結合文字もある。
横方向に進むときは、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">書字方向</anchor>に従う。</li><li>結合文字同士が影響を与えない場合
(例えば上につくものと下につくもの) は、
逆の順序の場合と同じに見えてもよい。</li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="147" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[147]</anchor-end> 
当初の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 10646</anchor>
は、
<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>の利用の可否でした。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>ISO/IEC 10646</anchor> </sw-see>
現在はこの区分は廃止されました。実情にまったく即していなかったためでしょう。</p></section><section><h1>JIS X 0208 と <code class="charname" xml:lang="en">LARGE CIRCLE</code></h1><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <code xmlns="http://www.w3.org/1999/xhtml" class="charname" xml:lang="en">LARGE CIRCLE</code> </sw-see></p></section><section><h1>JIS X 0213</h1><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>JIS X 0213の結合文字</anchor> </sw-see></p></section><section><h1>JIS X 4051</h1><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>JIS X 0213の結合文字</anchor> </sw-see></p></section><section><h1></h1><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> <cite xml:lang="en">I'm not a Klingon (&lt;span style=&quot;font-family:pIqaD,code2000&quot;&gt; &lt;/span&gt;) : Most combining characters in a Unicode glyph/character/whatever</cite>
(<time>2010-03-27 10:31:57 +09:00</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://blogs.msdn.com/shawnste/archive/2010/01/25/most-combining-characters-in-a-unicode-glyph-character-whatever.aspx">http://blogs.msdn.com/shawnste/archive/2010/01/25/most-combining-characters-in-a-unicode-glyph-character-whatever.aspx</anchor-external></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> <cite xml:lang="en">Web Applications 1.0 r6611     Allow combining characters wherever, per Mark Davis.</cite>
( (<time>2011-10-02 16:17:00 +09:00</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://html5.org/tools/web-apps-tracker?from=6610&amp;to=6611">http://html5.org/tools/web-apps-tracker?from=6610&amp;to=6611</anchor-external></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> <cite xml:lang="en">Bug 13502 – Text run starting with composing character should be valid</cite>
( (<time>2013-11-25 16:50:57 +09:00</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.w3.org/Bugs/Public/show_bug.cgi?id=13502">https://www.w3.org/Bugs/Public/show_bug.cgi?id=13502</anchor-external></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>があるんだしw</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> <cite xml:lang="ja">た͜͜͏̘̣͔͙͎͎̘̜̫̗͍͚͓͜͜͏̘̣͔͙͎͎す͜͜͏̘̣͔͙͎͎ơ̟̤̖̗͖͇̍͋̀͆̓́͞͡け̜ͪ̅̍̅͂͊てとは (タスケテとは) <strong>[</strong>単語記事<strong>]</strong> - ニコニコ大百科</cite>
(<time>2020-04-24 07:05:18 +09:00</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://dic.nicovideo.jp/a/%E3%81%9F%CD%9C%CD%9C%CD%8F%CC%98%CC%A3%CD%94%CD%99%CD%8E%CD%8E%CC%98%CC%9C%CC%AB%CC%97%CD%8D%CD%9A%CD%93%CD%9C%CD%9C%CD%8F%CC%98%CC%A3%CD%94%CD%99%CD%8E%CD%8E%E3%81%99%CD%9C%CD%9C%CD%8F%CC%98%CC%A3%CD%94%CD%99%CD%8E%CD%8E%C6%A1%CC%9F%CC%A4%CC%96%CC%97%CD%96%CD%87%CC%8D%CD%8B%CC%80%CD%86%CC%93%CC%81%CD%9E%CD%A1%E3%81%91%CC%9C%CD%AA%CC%85%CC%8D%CC%85%CD%82%CD%8A%E3%81%A6">https://dic.nicovideo.jp/a/%E3%81%9F%CD%9C%CD%9C%CD%8F%CC%98%CC%A3%CD%94%CD%99%CD%8E%CD%8E%CC%98%CC%9C%CC%AB%CC%97%CD%8D%CD%9A%CD%93%CD%9C%CD%9C%CD%8F%CC%98%CC%A3%CD%94%CD%99%CD%8E%CD%8E%E3%81%99%CD%9C%CD%9C%CD%8F%CC%98%CC%A3%CD%94%CD%99%CD%8E%CD%8E%C6%A1%CC%9F%CC%A4%CC%96%CC%97%CD%96%CD%87%CC%8D%CD%8B%CC%80%CD%86%CC%93%CC%81%CD%9E%CD%A1%E3%81%91%CC%9C%CD%AA%CC%85%CC%8D%CC%85%CD%82%CD%8A%E3%81%A6</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="208" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[208]</anchor-end> <cite>Quivira Combining Characters - QuiviraCombining.pdf</cite>, <time>2014-08-23T11:39:55.000Z</time>, <time>2020-12-29T11:06:18.497Z</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.quivira-font.com/files/QuiviraCombining.pdf">http://www.quivira-font.com/files/QuiviraCombining.pdf</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="213" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[213]</anchor-end> <cite xml:lang="ja">さく҉らん҉̴҉҇ぼ小҉̷҉学校҉̶҉҇҉̨҉͌3.҉̸҉̕҉̢҉̔m҉̵҉͝҉̢҉̓҉̓҉̚҉͌҉p҉҉҉͠҉͢҉͋҉͋҉̈҉4҉̷҉͝҉̨҉̏҉̀҉͔҉̜҉̙ - ニコニコ動画</cite>
(<time>2021-06-12 08:59:27 +09:00</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.nicovideo.jp/watch/sm38869649">https://www.nicovideo.jp/watch/sm38869649</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="219" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[219]</anchor-end> <cite xml:lang="ja">ず҈̡̟͎̙̗̪̓̀̓̃̆͊͗̆̕んだ̴̮̣̙͇҇̃̈̔͐͢も҈̨̳̱͍̗̑̍͂̎̕̚̚̚̚ん҉マンションの日常 - ニコニコ動画</cite>
(<time>2022-08-31 10:23:42 +09:00</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.nicovideo.jp/watch/sm40995049">https://www.nicovideo.jp/watch/sm40995049</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="228" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[228]</anchor-end> <cite xml:lang="ja">Unicode正規化 用語の混乱について 第4.2版 – ものかの</cite>, <time>2023-05-24T01:20:54.000Z</time>, <time>2023-05-24T11:39:28.589Z</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://tama-san.com/unicode-normalize-confusion/">https://tama-san.com/unicode-normalize-confusion/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="259" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[259]</anchor-end> <cite xml:lang="ja">「文̥字̥打̥つ̥と̥車̥輪̥が̥つ̥く̥よ̥う̥に̥な̥っ̥た̥の̥で̥す̥が̥こ̥れ̥は̥な̥に̥な̥の̥か̥誰̥か̥ご̥存̥知̥な̥い̥で̥す̥か̥;;」謎のバグに苦しむVTuberに解決案が寄せられるもお手上げ状態 - Togetter</cite>
(<time>2024-02-29T02:39:00.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://togetter.com/li/2323359">https://togetter.com/li/2323359</anchor-external></p></section></section></body></html>