[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [idn] Punicode: Upper-case in example



Martin Duerst <duerst@w3.org> writes:

> I see. I don't think this is a very good idea to use the U+ for
> distinction, for the following reasons:
> 
> 1) The u+ -> lower case, U+ -> upper case is not documented anywhere
>     in the punycode draft (or at least I didn't find it). If used at
>     all, it should be documented straight at the start of the examples.

This is no issue, since the case is not normative. To produce test
vectors, I find it reasonable to include mixed case, so that
implementors may find problems in their implementations when
confronted with mixed case.

> 2) The above convention is very easy to overlook, in particular
> because u+ and U+ look so very similar. It is close to a widely
> established convention, but differs slightly.

So what? Again, we are talking about test vectors here. The casing of
the output is not normative - let alone the syntax of the input;
usually, input won't be ASCII in the u+ notation anyway.

> 3) Punycode can be used in different ways, on mixed strings, on
>     lc strings that still contain the original casing info, and
>     on pure lc strings. Maybe there should be separate examples
>     for all these three uses.

While this may be true for Punycode, that is not true for IDNA.  In
IDNA, nameprep will lower-case the input before applying Punycode.

Regards,
Martin