[1] [DFN[CONTEXT]] ([DFN[CONTEXTUAL RULE REQUIRED]]、[DFN[文脈的規則必須]]) は、 その[[符号位置]]が[[ラベル]]では特定の[[文字]]や[[特性]]が満たされない限り利用でき''ない''ことを表す[[導出特性値]]です [SRC[>>2]]。 * 仕様書 - [7] [CITE@en[RFC 5892 - The Unicode Code Points and Internationalized Domain Names for Applications (IDNA)]] -- [2] '''''' -- [8] - [24] [CITE@en[RFC 5894 - Internationalized Domain Names for Applications (IDNA): Background, Explanation, and Rationale]] ([TIME[2011-02-05 07:34:29 +09:00]] 版) - [10] [CITE[IDNA Parameters]] * 分類 - [4] [DFN[[[CONTEXTJ]]]] ([DFN[[[CONTEXT-JOINER]]]]): [[CONTEXT]] のうち、 [[Join_controls]] に属するもの [SRC[>>2]] - [5] [DFN[[[CONTEXTO]]]] ([DFN[[[CONTEXT-OTHER]]]]): [[CONTEXT]] のうち、その他のもの [SRC[>>2]] * 文脈的規則 [6] [[CONTEXT]] の[[符号位置]]が利用できるかどうかは、その[[ラベル]]の他の[[符号位置]]に依存します。 この利用できるかどうかを決定する規則を[DFN[[RUBYB[文脈的規則]@en[contextual rule]]]]と呼び、 [[IANA登録簿]] (>>10) が用意されています。 ;; [9] [[IANA登録簿]]への追加や変更には [[IETF評価]]が必要です [SRC[>>8]]。 [21] [[文脈的規則]]は[[登録]]の際に適用されます。[[lookup]] の際にも適用されるか否かは各規則によって異なります。 [22] [[文脈的規則]]は、仕様上は[[擬似コード]]によって記述されており、 その[[符号位置]]が含まれる[[ラベル]]について評価した結果[[真]]、[[偽]]、[[未定義]]のいずれかが得られます。 [11] [[導出特性値]]が [[CONTEXT]] であるすべての[[符号位置]]に対して[[文脈的規則]]が定義されているわけではありません。 現在、次の[[符号位置]]に対して[[文脈的規則]]が定義されています [SRC[>>10]]。 [TIME[2011-03-29T14:09:24.000Z]] ;; [23] [[Unicode 5.2]] における [[CONTEXT]] な[[符号位置]]のすべてに対して[[文脈的規則]]が定義されています。 ** CONTEXTJ の文脈的規則 - [18] [CODE(char)[[[U+200C]]]] [CODE(charname)@en[[[ZERO WIDTH NON-JOINER]]]] - [19] [CODE(char)[[[U+200D]]]] [CODE(charname)@en[[[ZERO WIDTH JOINER]]]] ** CONTEXTO の文脈的規則 - [12] [CODE(char)[[[U+00B7]]]] [CODE(charname)@en[[[MIDDLE DOT]]]] - [13] [CODE(char)[[[U+0375]]]] [CODE(charname)@en[[[GREEK LOWER NUMERAL SIGN (KERAIA)]]]] - [14] [CODE(char)[[[U+05F3]]]] [CODE(charname)@en[[[HEBREW PUNCTUATION GERESH]]]] - [15] [CODE(char)[[[U+05F4]]]] [CODE(charname)@en[[[HEBREW PUNCTUATION GERSHAYIM]]]] - [16] [CODE(char)[[[U+0660]]]] ... [CODE(char)[[[U+0669]]]] [CODE(charname)@en[[[ARABIC-INDIC DIGITS]]]] - [17] [CODE(char)[[[U+06F0]]]] ... [CODE(char)[[[U+06F9]]]] [CODE(charname)@en[[[EXTENDED ARABIC-INDIC DIGITS]]]] - [20] [CODE(char)[[[U+30FB]]]] [CODE(charname)@en[[[KATAKANA MIDDLE DOT]]]] * メモ [3] [[CONTEXT]] に分類されている[[符号位置]]は、特定の文脈で不可視であるなどの性質から無条件に利用を認めることができ''ない''ものとなっています [SRC[>>2]]。 [25] [[CONTEXT]] の制約は、混乱を引き起こすおそれがある[[文字]]の用法を完全に制限することを目的としたものではなく、 [[ゾーン管理者]]が十分知識を持たない[[用字系]]でのみ有用な、それ以外では有害な[[文字]]の使用を限定することを目指したもののようです。 [SRC[>>24]] ;; [26] 例えば [CODE(charname)@en[[[ZERO WIDTH JOINER]]]] は[[インド系諸文字]]と共に使われますが、 [[ラテン文字]]と一緒には使いません。主に[[ラテン文字]]を扱う[[ゾーン]]の管理者はこの[[文字]]の取り扱いについて十分な知識を持っていないでしょう。 主に[[インド系諸文字]]を扱う[[ゾーン]]の管理者なら、どこでは使っても良くどこでは使う必要がない、使ってはいけないかを判断できる可能性が高いです。したがって[[ラテン文字]]の[[ゾーン]]の管理者が気にしなくても良い程度に利用を制限するのが [[CONTEXT]] の制約の趣旨のようです。