idnkit -- internationalized domain name toolkit -- version 2 Japan Registry Services Co., Ltd.(JPRS) Table of contents of this file: 1. Overview 2. Components 3. Directory structure of this distribution 4. Supported systems 5. Contact information See the file INSTALL for compilation and installation instructions. See the file NEWS for a list of major changes in the current release. See the file UPDATE-TABLES, if you would like to update code point tables derived from Unicode Character Database (UCD) or IDNA parameters. 1. Overview idnkit, which was originally known as mDNkit, is a toolkit for handling internationalized domain names (IDN). idnkit version 1 (1.0, 1.1, ...) supports IDNA2003 which consists of the following RFCs: + RFC3454: Preparation of Internationalized Strings ("stringprep") + RFC3490: Internationalizing Domain Names in Applications (IDNA) + RFC3491: Nameprep: A Stringprep Profile for Internationalized Domain Names (IDN) + RFC3492: Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA) idnkit version 2 (2.0, 2.1, ...), supports IDNA2008 which consists of RFCs listed below: + RFC3492: Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA) + RFC5890: Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework + RFC5891: Internationalized Domain Names for Applications (IDNA): Background, Explanation, and Rationale + RFC5892: The Unicode code points and IDNA + RFC5893: Right-to-left scripts for IDNA + RFC5894: Internationalized Domain Names in Applications (IDNA): Protocol + RFC5895: Mapping Characters in IDNA2008 + RFC6452: The Unicode Code Points and Internationalized Domain Names for Applications (IDNA) - Unicode 6.0 Please note that idnkit version 2 doesn't support IDNA2003 any longer. 2. Compnenets idnkit provides the following components. + library for handling internationalized domain names (libidnkit, libidnkitlite) Those libraries implement encoding/decoding conversions of internationalized domain name. They provide easy-to-use APIs for handling internationalized domain name in your applications. Both libraries provide almost the same API. The difference between them is that libidnkit internally uses iconv() function to provide encoding conversion from UTF-8 to the local encoding (such as iso-8859-1, usually determined by the current locale), and vise versa. 'idncheck', 'idncmp' and 'idnconv2' commands in this toolkit use libidnkit. libidnkitlite is lightweight version of libidnkit. Since it always assumes the local encoding is UTF-8, it never uses iconv(). The libraries also provides some functions convenient for applications to operate internationalized domain name. See the online manual libidnkit(3) for more details. + 'idnconv2' command This command can convert internationalized domain name written in local encoding (e.g. EUC-JP) to Punycode or the opposite direction. It can also convert named.conf and zone master files for BIND. For users who want install idnkit version 1 and 2 on the same system, the command in idnkit version 2 has been renamed from 'idnconv' to 'idnconv2'. + 'idncmp' command This command takes two domain names as its command line arguments, and checks whether the domain names are equivalent or not in view of IDNA2008. The result is written to standard error. + 'idncheck' command This command takes a domain names as its command line argument, and checks whether it is a valid domain name. The result is written to standard error. + patch to idnkit version 1.0 A patch file to fix bugs in idnkit version 1.0. 3. Directory structure of this distribution The following is a directory structure of this distribution with some important files and their brief description. +README this file +README.ja .. in Japanese +INSTALL compilation and installation instructions. +INSTALL.ja .. in Japanese +LICENSE.txt license +UPDATE-TABLES how to update code point tables +NEWS what's new in this version +ChangeLog list of changes +configure the 'configure' script +conf/ sample configuration files +data/ data files used to generate code point tables +man/ online manuals +map/ sample map files +include/ | +idn/ header files for libidnkit and libindkitlite | +auto/ header files generated by utilities +lib/ source for libidnkit and libidnkitlite | +auto/ source files generated by utilities +patch/ patch for idnkit version 1.0 +test/ test suite +tools/ | +idncheck/ source for idncheck command | +idncmp/ source for idncmp command | +idnconv/ source for idnconv2 command +util/ scripts to generate code point tables 4. Supported systems We've tested on the following systems: -------------------------------------------------------------------- OS iconv library configure options ==================================================================== CentOS release 5.4 standard library (none) for Intel x86 (glibc) -------------------------------------------------------------------- Cygwin 1.7.5 GNU libiconv (none) (Windows XP Professional SP3) for Intel x86 1.13 -------------------------------------------------------------------- Solaris 10 standard library (none) for Sparc (libc) -------------------------------------------------------------------- 5. Contact information The latest version and information about idnkit can be found at: http://jprs.co.jp/idn/ Send bug reports and comments to idnkit-info@jprs.co.jp