[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[idn] AMC-ACE-Z has a name: Punycode
AMC-ACE-Z, which has always been a working name, now has a real name:
Punycode. I just submitted draft-ietf-idn-punycode-00.txt. It can be
obtained now from:
Why "Punycode"? It rhymes with Unicode and is intended to encode
Unicode strings. It is "puny" in three senses: The repertoire of
characters used in the encoded strings is small, the encoded strings are
short, and the implementation is small.
No changes have been made to the algorithm. Here is a summary of
changes since the previous draft:
* AMC-ACE-Z has been renamed to Punycode.
* Usage of the term "ACE" has been made consistent with the latest
* An incorrect claim regarding the conditions under which the encoded
string can begin with a hyphen has been corrected.
* A paragraph has been added to section 6.4 (Alternative methods for
handling overflow) pointing out that if the Punycode decoder is used
only inside the ToUnicode operation (see the IDNA draft), then it
doesn't need to check for overflow. (It also explains why.)
* A Disclaimer and License appendix has been added:
Regarding this entire document or any portion of it (including
the pseudocode and C code), the author makes no guarantees and
is not responsible for any damage resulting from its use. The
author grants irrevocable permission to anyone to use, modify,
and distribute it in any way that does not diminish the rights
of anyone else to use, modify, and distribute it, provided that
redistributed derivative works do not contain misleading author or
version information. Derivative works need not be licensed under
* In the sample implementation the mixed-case annotation handling in
the encoder has changed slightly. The previous version, when faced
with ASCII letters inconsistent with their case flags, would ignore
the case flags and copy the letters verbatim. The present version
honors the case flags and forces the letters to the case indicated
by the flag. The new behavior is more useful and more intuitive.
The change has no effect when the input is nameprepped (already
lowercase) and the case flags are absent (all unset == lowercase).