<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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <dfn>LetterDigits</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="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 5892</anchor> - The Unicode Code Points and Internationalized Domain Names for Applications (IDNA)</cite> (<time>2011-02-05 04:10:56 +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://tools.ietf.org/html/rfc5892#section-2.1">https://tools.ietf.org/html/rfc5892#section-2.1</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> 
<cite xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 7564</anchor> - PRECIS Framework: Preparation, Enforcement, and Comparison of Internationalized Strings in Application Protocols</cite>, <time>2024-07-07T03:00: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://datatracker.ietf.org/doc/html/rfc7564#section-9.1">https://datatracker.ietf.org/doc/html/rfc7564#section-9.1</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> 
<cite xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 7564</anchor> - PRECIS Framework: Preparation, Enforcement, and Comparison of Internationalized Strings in Application Protocols</cite>, <time>2024-07-07T04:09:13.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://datatracker.ietf.org/doc/html/rfc7564#section-9.18">https://datatracker.ietf.org/doc/html/rfc7564#section-9.18</anchor-external></li></ul></refs></section><section><h1>定義</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">General_Category</anchor> が次のいずれかである<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LetterDigits</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="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src>。</p><figure class="middle list"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LetterDigits</anchor></figcaption><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Ll</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Lowercase_Letter</anchor>)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Lu</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Uppercase_Letter</anchor>)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Lo</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Other_Letter</anchor>)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Nd</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Decimal_Number</anchor>)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Lm</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Modifier_Letter</anchor>)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mn</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Nonspacing_Mark</anchor>)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mc</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Spacing_Mark</anchor>)</li></ul></figure><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:">PRECIS</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="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal></src></p><hr></hr><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:">PRECIS</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字カテゴリー</anchor>
<dfn><code>OtherLetterDigits</code></dfn>
は、
「伝統的」な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><rubyb>文字<rt xmlns="http://www.w3.org/1999/xhtml">letter</rt></rubyb><title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">letter</title></anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><rubyb>数字<rt xmlns="http://www.w3.org/1999/xhtml">digit</rt></rubyb><title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">digit</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>を表します。
<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="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal></src></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:">OtherLetterDigits</anchor>
は、
<code>General_Category</code>
が
<code>Lt</code>,
<code>Nl</code>,
<code>No</code>,
<code>Me</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="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</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="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <cite xml:lang="en">Character set &quot;<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OtherLetterDigits</anchor>&quot;</cite>, <time>2024-07-07T04:12:20.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://chars.suikawiki.org/set/%24rfc7564%3AOtherLetterDigits">https://chars.suikawiki.org/set/%24rfc7564%3AOtherLetterDigits</anchor-external><ul><li>最新</li></ul></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">Character set &quot;<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OtherLetterDigits</anchor>&quot;</cite>, <time>2024-07-07T04:12:37.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://chars.suikawiki.org/set/%24rfc7564-6.3.0%3AOtherLetterDigits">https://chars.suikawiki.org/set/%24rfc7564-6.3.0%3AOtherLetterDigits</anchor-external><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode</anchor> 6.3.0 時点</li></ul></li></ul></refs></section><section><h1>メモ</h1><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:">IDNA</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PRECIS</anchor> のいう「普通」「伝統的」「<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字<rt xmlns="http://www.w3.org/1999/xhtml">letter</rt></rubyb>」「数字」
はかなり直感と乖離していて問題があります。</p><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> 
まず、 <code>LetterDigits</code> には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結合文字</anchor>が多く含まれています。
これはアクセント付きラテン文字のようなものを考えるとある種当然ともいえるのですが、
問題となるのは <code>LetterDigits</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="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> 
「「「普通」の文字や数字」の列」だけを認めるつもりで <code>LetterDigits</code> 
を使うと、「<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="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> 
<code>OtherLetterDigits</code> 
を眺めるとこれは確かに「普通」ではないなと思わせる記号的なものなどが並んでいますが、
中に混じってなぜ「普通」でないことにされているのか疑問なものも混ざっています。
<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="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> 
従ってほとんどの用途において <code>LetterDigits</code> も <code>OtherLetterDigits</code>
も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">帯に短し襷に長し</anchor>な印象があります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDN</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PRECIS</anchor> 以外では使うべきではないでしょう。</p></section></body></html>