IDNA写像表

IDNA 写像表

[1] IDNA 写像表 (Mapping Table) は、 UTS #46 で規定されている算法 Unicode IDNA互換性処理で使われる表です。Unicode符号位置に対して状態値写像値が示されており、 算法中の「写像」の段階や、 ラベル妥当性の定義で用いられています。

仕様書

写像表

[25] IDNA写像表は、 (Unicode符号位置UseSTD3ASCIIRules) から (状態値写像値) への写像です。

状態値

[3] Unicode のすべての符号位置に対して、 状態値 (status value) が定義されています >>2

[26] 状態値には、次のものがあります。

v
d
説明
l
一覧
v
[4] 妥当 (valid) >>2
d
Unicode IDNA互換性処理で変更されずにそのまま出力されます。
l
Character set "IDNA Mapping Table valid" () https://chars.suikawiki.org/set/%24uts46%3Avalid
v
[5] 無視 (ignored) >>2
d
Unicode IDNA互換性処理で削除されます。
l
Character set "IDNA Mapping Table ignored" () https://chars.suikawiki.org/set/%24uts46%3Aignored
v
[6] 写像 (mapped) >>2
d
Unicode IDNA互換性処理で他の文字列に置き換えられます。
l
Character set "IDNA Mapping Table mapped" () https://chars.suikawiki.org/set/%24uts46%3Amapped
v
[7] 偏差 (derivation) >>2
d
Unicode IDNA互換性処理写像のように他の文字列に置き換えられるか、 妥当のようにそのまま出力されます。 どちらかはUnicode IDNA互換性処理処理オプション移行的処理非移行的処理かによります。 (IDNA2003IDNA2008 とで扱いが異なる4文字がこの値になっています。)
l
Character set "IDNA Mapping Table deviation" () https://chars.suikawiki.org/set/%24uts46%3Adeviation
v
[8] 禁止 (disallowed) >>2
d
Unicode IDNA互換性処理でそのまま出力されますが、 誤りとみなされます。
l
Character set "IDNA Mapping Table disallowed" () https://chars.suikawiki.org/set/%24uts46%3Adisallowed

[16] 次に該当する符号位置は、 UseSTD3ASCIIRules によって状態値が変化します。

v
IDNA写像表上の値
t
UseSTD3ASCIIRulesの場合
f
UseSTD3ASCIIRulesの場合
l
一覧
v
[17] disallowed_STD3_valid
t
禁止 >>2
f
妥当として扱うことができます >>2
l
Character set "IDNA Mapping Table disallowed_STD3_valid" () https://chars.suikawiki.org/set/%24uts46%3Adisallowed_STD3_valid
v
[18] disallowed_STD3_mapped
t
禁止 >>2
f
写像として扱うことができます >>2
l
Character set "IDNA Mapping Table disallowed_STD3_mapped" () https://chars.suikawiki.org/set/%24uts46%3Adisallowed_STD3_mapped

[28] の場合は「することができる」という謎の曖昧表現ですが、 実際にはそれぞれ妥当写像として扱うべきと思われます。

[27] UseSTD3ASCIIRules も参照。

写像値

[19] 状態値写像disallowed_STD3_mapped偏差符号位置には、 写像値 (mapping value) も規定されています。 >>2

[14] 写像先は、0個以上符号位置の列です。

[13] U+200CU+200D では写像先が空文字列となるので、 取扱いに注意が必要です。

安定性

[9] Unicode 5.1 以降で写像表が定義されており、以後、 前の版で禁止だった符号位置のみ新しい版で状態値写像値が変更される可能性があります >>2

ファイル

[21] IDNA写像表>>20 で配布されています。

[22] 配布されているファイルの形式は http://www.unicode.org/reports/tr46/#IDNA_Mapping_Table で、導出方法は http://www.unicode.org/reports/tr46/#Mapping_Table_Derivation で説明されています。

[10] なお、 UTS #46 にはこの表の導出方法の説明もありますが、その説明ではなく、 この配布されているファイル自体が正式なものとされています。

文脈

[12] Unicode IDNA互換性処理妥当性基準で参照されます。

歴史

[23] XBL 2.0 ( ( 版)) http://dev.w3.org/2006/xbl2/Overview.html#ignoring

[24] XML Binding Language (XBL) 2.0 ( ( 版)) http://www.w3.org/TR/2007/CR-xbl-20070316/#ignoring

[29] Meta: add <dfn>s for list item and map entry, key, and value (tobie著, ) https://github.com/whatwg/infra/commit/5bc75037feddd79c7c73d9cefce08fbf7a3c522b

[30] Editorial: use Infra "for each" as IDL "mapping" got removed (annevk著, ) https://github.com/whatwg/url/commit/8386c7a20435b2fb300038e8f1346dc6254ac710

[31] XQuery 3.1: An XML Query Language () https://www.w3.org/TR/2017/REC-xquery-31-20170321/#id-maps

[32] Add structs, tuples, and pairs (annevk著, ) https://github.com/whatwg/infra/commit/139484a9b0fddfc3a6ad48e13cb330ce4c44babe

[33] Add cloning for maps (domenic著, ) https://github.com/whatwg/infra/commit/d109ae2aa512c88b78529e5ca4f8911043a00870

[34] Add cloning for maps by domenic · Pull Request #265 · whatwg/infra () https://github.com/whatwg/infra/pull/265