This directory contains CCS conversion tables - both C files and .cct files.
.cct files are for dynamic loading, .c files are for static linking with Newlib.
Both .c and .cct files are generated by 'iconv_mktbl' perl script from
special source files (call them .txt files). These .txt files can be taken
from Unicode.org site, addresses are given in the end.

.c files are linked with Newlib if correspondent 'configure' script option
was given. This helps to use iconv on targets without file system support.
If CCS table wasn't configured to be linked, iconv library tries to load it 
dynamically from correspondent .cct file.

The following are commands to build .c and .cct CCS rable files from .txt 
files for several supported encodings.
--------------------------------------------------------------------------
cp775
iconv_mktbl -Co cp775.c cp775.txt
iconv_mktbl -o cp775.cct cp775.txt

cp850
iconv_mktbl -Co cp850.c cp850.txt
iconv_mktbl -o cp850.cct cp850.txt

cp852
iconv_mktbl -Co cp852.c cp852.txt
iconv_mktbl -o cp852.cct cp852.txt

cp855
iconv_mktbl -Co cp855.c cp855.txt
iconv_mktbl -o cp855.cct cp855.txt

cp866
iconv_mktbl -Co cp866.c cp866.txt
iconv_mktbl -o cp866.cct cp866.txt

iso-8859-1
iconv_mktbl -Co iso-8859-1.c iso-8859-1.txt
iconv_mktbl -o iso-8859-1.cct iso-8859-1.txt

iso-8859-4
iconv_mktbl -Co iso-8859-4.c iso-8859-4.txt
iconv_mktbl -o iso-8859-4.cct iso-8859-4.txt

iso-8859-5
iconv_mktbl -Co iso-8859-5.c iso-8859-5.txt
iconv_mktbl -o iso-8859-5.cct iso-8859-5.txt

iso-8859-2
iconv_mktbl -Co iso-8859-2.c iso-8859-2.txt
iconv_mktbl -o iso-8859-2.cct iso-8859-2.txt

iso-8859-15
iconv_mktbl -Co iso-8859-15.c iso-8859-15.txt
iconv_mktbl -o iso-8859-15.cct iso-8859-15.txt

big5
iconv_mktbl -Co big5.c big5.txt
iconv_mktbl -o big5.cct big5.txt

ksx1001
iconv_mktbl -Co ksx1001.c ksx1001.txt
iconv_mktbl -o ksx1001.cct ksx1001.txt

gb_2312
iconv_mktbl -Co gb_2312-80.c gb_2312-80.txt
iconv_mktbl -o gb_2312-80.cct gb_2312-80.txt

jis_x0201
iconv_mktbl -Co jis_x0201.c jis_x0201.txt
iconv_mktbl -o jis_x0201.cct jis_x0201.txt

shift_jis
iconv_mktbl -Co shift_jis.c shift_jis.txt
iconv_mktbl -o shift_jis.cct shift_jis.txt

jis_x0208
iconv_mktbl -C -c 1 -u 2 -o jis_x0208-1983.c jis_x0208-1983.txt
iconv_mktbl -c 1 -u 2 -o jis_x0208-1983.cct jis_x0208-1983.txt

jis_x0212
iconv_mktbl -Co jis_x0212-1990.c jis_x0212-1990.txt
iconv_mktbl -o jis_x0212-1990.cct jis_x0212-1990.txt

cns11643-plane1
iconv_mktbl -C -p 0x1 -o cns11643-plane1.c cns11643.txt
iconv_mktbl -p 0x1 -o cns11643-plane1.cct cns11643.txt

cns11643-plane2
iconv_mktbl -C -p 0x2 -o cns11643-plane2.c cns11643.txt
iconv_mktbl -p 0x2 -o cns11643-plane2.cct cns11643.txt

cns11643-plane14
iconv_mktbl -C -p 0xE -o cns11643-plane14.c cns11643.txt
iconv_mktbl -p 0xE -o cns11643-plane14.cct cns11643.txt

koi8-r
iconv_mktbl -Co koi8-r.c koi8-r.txt
iconv_mktbl -o koi8-r.cct koi8-r.txt

koi8-u
iconv_mktbl -Co koi8-u.c koi8-u.txt
iconv_mktbl -o koi8-u.cct koi8-u.txt

us-ascii
iconv_mktbl -Cao us-ascii.c iso-8859-1.txt
iconv_mktbl -ao us-ascii.cct iso-8859-1.txt
--------------------------------------------------------------------------
Source files for CCS tables can be taken from at least two places:

1. http://www.unicode.org/Public/MAPPINGS/ contains a lot of encoding 
   map files.
2. http://www.dante.net/staff/konstantin/FreeBSD/iconv/ contains original 
   iconv sources and encoding map files.

Makefile in this directory contains rules to make .cct and .c files from 
source encoding map files. It has rules to make the following tables (with
source map file URL):

big5 
http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT

cns11643_plane14, cns11643_plane1 and cns11643_plane2
http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/CNS11643.TXT

cp775, cp850, cp852, cp855, cp866
http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/

gb_2312_80
http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/GB/GB2312.TXT
  
iso_8859_15, iso_8859_1, iso_8859_2, iso_8859_4, iso_8859_5
http://www.unicode.org/Public/MAPPINGS/ISO8859/

jis_x0201, jis_x0208_1983, jis_x0212_1990, shift_jis
http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/JIS0201.TXT

koi8_r 
http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT

ksx1001
  http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/KSC/KSX1001.TXT
  
koi8-u can be given from original FreeBSD iconvi library distribution
http://www.dante.net/staff/konstantin/FreeBSD/iconv/

Moreover, http://www.dante.net/staff/konstantin/FreeBSD/iconv/ contains a 
lot of additional CCS tables that you can use with Newlib.

If you will try to add another CCS table, be
careful with 'iconv_mktbl' script since it can contain bugs. Try to take
'iconv_mktbl' from original FreeBSD iconv library distribution. Rules
to build .c and .ccs files are also can be given in original iconv library
distribution. 

                                             Artem B. Bityuckiy,
                                             SoftMine Corporation,
                                             <abitytsky@softminecorp.com>,
                                             <dedekind@mail.ru>,
                                             Dec, 2003.

