[1] [CODE@en[[[ToASCII]]]] [[演算]]や [CODE@en[[[ToUnicode]]]] [[演算]]には、[[入力]]として[[フラグ]] [DFN[[CODE@en[[VAR[UseSTD3ASCIIRules]]]]]] があります。 これは、[[入力]]である[[ラベル]]に対して、 [[STD 3]] が規定する [[ASCII文字]]に関する制約を適用するかを指定します。 この検査を行うかどうかの従来の動作を維持するために用意されています。 * 仕様書 - [2] [[IDNA2003]] [CITE@en[RFC 3490 - Internationalizing Domain Names in Applications (IDNA)]] ([TIME[2011-01-08 12:07:35 +09:00]] 版) - [4] [CITE@en-us[UTS #46: Unicode IDNA Compatibility Processing]] ([TIME[2010-10-30 01:01:25 +09:00]] 版) * IDNA2003 での意味 [5] [[IDNA2003]] では [[ToASCII]] [[演算]]や [[ToUnicode]] [[演算]]で [[UseSTD3ASCIIRules]] [[フラグ]]が使われています。 [3] この「[[STD 3]] の制約」というのが何を指すのかあまりはっきりとは書いてありませんが、 [[ToASCII]] [[演算]]の定義によれば [[LDH]] でない[[ASCII文字]]を排除することを指すようです。 ;; [6] [CODE(char)[[[-]]]] を最初や最後で使ってはいけないという制約はこの[[フラグ]]とは別途チェックされています。 [7] [[ToASCII]] [[演算]]では、この[[フラグ]]が設定されていれば、 [[LDH]] でない[[ASCII文字]]が含まれていると[[失敗]]とみなされます。 [8] [[ToUnicode]] [[演算]]では、この[[フラグ]]が設定されていれば、 [[LDH]] でない[[ASCII文字]]が含まれていると元の[[入力]]と同じものが[[出力]]となります。 * UTS #46 * メモ