<font face="times new roman,serif">For ICU I filed a bug.</font><div><font face="times new roman,serif"><br clear="all"></font><font face="'times new roman', serif">Mark<br><br><i>— Il meglio è l’inimico del bene —</i></font><br>

<br><br><div class="gmail_quote">On Fri, May 27, 2011 at 08:40, Simon Josefsson <span dir="ltr"><<a href="mailto:simon@josefsson.org">simon@josefsson.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">Mark Davis ☕ <<a href="mailto:mark@macchiato.com">mark@macchiato.com</a>> writes:<br>
<br>
> toNKFC is defined over all code points, including U+D800.<br>
<br>
</div>At least two common NFKC implementations, Libunistring and ICU, appears<br>
to reject U+D800.  For ICU, the link below illustrate this.<br>
<div class="im"><br>
> The condition is moot anyway, since D800 is excluded by other clauses.<br>
<br>
</div>Yes, the final 'Else DISALLOWED' clause, according to my code.<br>
<font color="#888888"><br>
/Simon<br>
</font><div><div></div><div class="h5"><br>
><br>
> Mark<br>
><br>
> *— Il meglio è l’inimico del bene —*<br>
><br>
><br>
> On Fri, May 27, 2011 at 02:43, Simon Josefsson <<a href="mailto:simon@josefsson.org">simon@josefsson.org</a>> wrote:<br>
><br>
>> I'm looking at RFC 5892 section 2.2 which says:<br>
>><br>
>>   2.2.  Unstable (B)<br>
>><br>
>>   B: toNFKC(toCaseFold(toNFKC(cp))) != cp<br>
>><br>
>>   This category is used to group the characters that are not stable<br>
>>   under Normalization Form K (NFKC) and case folding.  In general,<br>
>>   these code points are not suitable for use for IDN.<br>
>><br>
>>   The toCaseFold() operation is defined in Section 3.13 of The Unicode<br>
>>   Standard [Unicode].<br>
>><br>
>>   The toNFKC() operation returns the code point in normalization form<br>
>>   KC.  For more information, see Section 5 of Unicode Standard Annex<br>
>>   #15 [TR15].<br>
>><br>
>>   It should be noted that NFKC is used, although Normalization Form C<br>
>>   (NFC) is used in the "IDNA Protocol" document [RFC5891].<br>
>><br>
>> The toNFKC operation fails for some code points that aren't characters.<br>
>> For example U+D800 is not a character, and normalization will fail:<br>
>><br>
>> <a href="http://demo.icu-project.org/icu-bin/nbrowser?t=&s=D800&uv=0" target="_blank">http://demo.icu-project.org/icu-bin/nbrowser?t=&s=D800&uv=0</a><br>
>><br>
>> How should the "Unstable" property be evaluated when toNFKC fails?<br>
>><br>
>> Am I correct in using toNFKC(cp) = UNDEFINED for this situation, and<br>
>> specify that toCaseFold(UNDEFINED) = UNDEFINED and toNFKC(UNDEFINED) =<br>
>> UNDEFINED and then also that UNDEFINED is never equal to any code point?<br>
>><br>
>> /Simon<br>
>> _______________________________________________<br>
>> Idna-update mailing list<br>
>> <a href="mailto:Idna-update@alvestrand.no">Idna-update@alvestrand.no</a><br>
>> <a href="http://www.alvestrand.no/mailman/listinfo/idna-update" target="_blank">http://www.alvestrand.no/mailman/listinfo/idna-update</a><br>
>><br>
> _______________________________________________<br>
> Idna-update mailing list<br>
> <a href="mailto:Idna-update@alvestrand.no">Idna-update@alvestrand.no</a><br>
> <a href="http://www.alvestrand.no/mailman/listinfo/idna-update" target="_blank">http://www.alvestrand.no/mailman/listinfo/idna-update</a><br>
_______________________________________________<br>
Idna-update mailing list<br>
<a href="mailto:Idna-update@alvestrand.no">Idna-update@alvestrand.no</a><br>
<a href="http://www.alvestrand.no/mailman/listinfo/idna-update" target="_blank">http://www.alvestrand.no/mailman/listinfo/idna-update</a><br>
</div></div></blockquote></div><br></div>