[2] Unicode 用字系特性値は、Unicode における用字系を表す識別子です。
[11]
Arabic
や
Nyiakeng_Puachue_Hmong
のような値が各用字系に割り当てられています。
Unicode
に新規用字系が追加されるたびに値も割当られます
>>14。
[13]
別名として4文字の短縮形等も付与されています。
[15] 具体的な用字系を表す値は明示値と呼ばれます。 >>14
[16]
特別な意味を表す暗示値が3つあります (Inherited
,
Common
,
Unknown
)。
>>14
[58]
Unicode符号点の Script
や
Script_Extensions
がどのような基準で決められるかは、
Script (UCD)
参照。
[36] 点字は他の用字系と同じレベルの用字系とは言えないものではありますが、 1つの用字系 (明示値) として扱われています。 >>14
[59] 用字系として区別するかどうかの基準は、 Unicode が文字として区別するかどうかによります。
Inherited
[17]
Inherited
は、
複数の用字系で使われる文字で、
前の基底文字の用字系を継承するものです。
>>14
[18]
例えば
nonspacing combining mark,
enclosing combining mark,
ZWNJ
,
ZWJ
が該当します。
>>14
[38] 「複数」は n = 1 のこともあるようです。
Common
[19]
Common
はその他 (Inherited
以外) の複数の用字系で用いられる文字です。
>>14
[24]
Unicode では句読点等の記号の多くが特定の用字系に属さないで共用とされていて、
Script
が Common
になっています。
[39] 「複数」は n = 1 のこともあるようです。
[25]
Unicode では用字系はフラットで排他的なので、
1つの用字系に確定できないものは複数に属すると判定されているようです。
Common
となっています。
[40]
丸付き文字なども Common
になっていることがあります。
Unknown
[20]
Unknown
は未割当符号点,
私用符号点,
非文字符号点,
サロゲート符号点です。
>>14
[9]
UCD
の
Script
や
Script_Extensions
の値で使われます。
[12]
UCD の special tag <script>
で使われます。
[6] XForms の inputmode
属性の値の一部として用いられています。ただし
inputmode
属性ではいくつか追加の値が用意されています。
[41]
Unicode ではすべての符号点に Script
で1つ、
Script_Extensions
で1つ以上の用字系が割り当てられており、
UCD で提供されています。
UAX #24 ではその処理方法は特に規定がありませんが、
文字列に対する各種処理で活用することが想定されています。
[43] 暗示値は用字系の情報が無いに等しいので、 処理によっては類推した明示値に置き換えることになります。
[44]
符号点には Script
と Script_Extensions
があります。
Script
が Common
や Inherited
でも、
Script_Extensions
は明示値になっていることがあります。
[46]
Inherited
は前の文字の用字系を引き継ぐとされています。
UAX #24 では具体的な解決手順は決められていませんが、
前の暗示値がある文字まで戻ってそれを使うことになります。
[54]
文字列中の用字系の境界決定時には基底文字と
combining mark (Mc
, Mn
, Me
)
の間で分離されるべきではありません。
つまり combining mark は、その Script
の値が何であれ、基底文字と同じ値に解決されるべきということになります。
>>48
[56]
実装は結合文字列や拡張書記素クラスターにおいて、
Inherited
でも Common
でもない最初の文字の
Script
(なければ Common
)
をすべての文字に適用するべきです。
>>48
Script
を持っています >>48。
ということは普通の使われ方をしていれば基底文字と同じになるはずですが、
そうでないときは基底文字と違う Script
のことも出てきます。
nonspacing mark は普通は Script
が Inherit
になっていますが、特定の用字系でしか使われないものなど例外もあります >>48。[49]
連なりの境界を探すにあたって Common
等を解決する必要が生じることがあります。
>>48
[51] 最も単純な発見的方法は、 前の文字の用字系に依るというものです。 この方法は実際わりとうまくいきます。 が、いつでもうまくいくとは限りません。 >>48
[52] 普通は組になった句読点 (括弧や引用符の類) はその周りに属するとみなし、 周りの文字列の用字系と同じになるべきです。 できれば開き側と閉じ側の句読点は同じ用字系になるべきです。 >>48
[63]
なお Unicode正規表現の \p
にはこのような処理の規定はありません。
ということは \p
の評価では前後の符号点が参照されることはなく、
個々の符号点が UCD で持つ特性値によって
(それが Common
や Inherited
であろうとも)
一致するかが決定されます。
[3] ISO 15924 も同様な用字系符号を定義しています。ただし Unicode と ISO 15924 では用字系の粒度が異なっているため、必ずしも一対一対応していません。
[5] ISO 15924 の登録簿 (>>4) には、両者の対応関係も記載されています。
[29] Unicode は、対応関係にある ISO 15924 符号を出来るだけ別名に設定している >>28 と説明しています。
[31]
ISO 15924
で私用に当たる Q
から始まる符号の一部を
Unicode
側の値でも使っています。
将来変更の際も後方互換性のため別名として残すとされています。
>>28
[32]
実際に Inherited
の旧別名 Qaai
は、
新たな別名 Zinh
が追加されましたが、そのまま残されています。
>>28
他に Qaac
の例があります。
現在定義されているのはその2例だけです。
[30] なお ISO 15924 の RA は Unicode Consortium が受託しており、 ISO 15924 の符号の登録と Unicode の値の追加は協調して行われているようです。
[37] 文字の名前の先頭には用字系が付されていることが多いです。 文字の名前と用字系の長い名前は対応関係が保たれる形で決められています。 >>11
[8] 用字系の名前はブロック名と似ていることが多いですが、両者は異なります。 文字が割り当てられているブロックと用字系の関係も絶対的なものではありません。
Inherited
と決められているわけではないようです。