
				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
