Introduction
============

libtranscript is a character-set conversion library, much like the iconv set of
functions. The library allows great control over the conversions. It was
designed for use in programs which use Unicode internally, using UTF-8, UTF-16
or UTF-32/UCS-4.

libtranscript is licensed under the GNU General Public License version 3. See
the file COPYING for details.


Documentation
=============

The full documentation for libtranscript can be generated using doxygen. The
documentation for the current version can be found at
https://os.ghalkes.nl/doc/libtranscript.


Prerequisites and installation
==============================

libtranscript requires the GNU libtool utility to be compiled, and a Pthread
library (on Windows pthread-win32 can be used). Furthermore, either the POSIX
dlopen/dlsym/dlclose/dlerror intreface needs to be available, or the libltdl
library distributed with GNU libtool.

libtranscript relies on the GNU gettext library for providing localised
messages. libtranscript can be compiled without support the gettext libraries,
which means all messages will be in English using the ASCII encoding.

There are two ways in which to compile libtranscript:

Using the configure script:
---

$ ./configure
or
$ ./configure --prefix=/usr
(see ./configure --help for more tuning options)
$ make all
$ make install
(assumes working install program)
If you want to develop converter modules for libtranscript, you will also need:
$ make install-moddev

Manually editing the Makefiles to suit your computer:
---

$ cp Makefile.in Makefile
$ cp mk/libtranscript.in mk/libtranscript
$ cp mk/linkltc.in mk/linkltc
$ cp mk/ucm2ltc.in mk/ucm2ltc

Edit the values for the different variables, using the comments in the
Makefiles for guidance, to suit your environment.

$ make all
$ make install
(assumes working install program)
If you want to develop converter modules for libtranscript, you will also need:
$ make install-moddev

The Makefiles in the distribution should work on all POSIX compatible make's.
They have been tested using both GNU make and BSD make.

libtranscript uses several POSIX functions, namely: opendir, readdir, closedir,
symlink, unlink, lstat, and eitehr nl_langinfo or setlocale, (and for the
optional ucm2ltc: snprintf). libtranscript should compile on any Un*x system
that provides these functions.


Reporting bugs
==============

If you think you have found a bug, please check that you are using the latest
version of libtranscript [https://os.ghalkes.nl/libtranscript.html]. When
reporting bugs, please include a minimal example that demonstrates the problem.


Author
======

Gertjan Halkes <libtranscript@ghalkes.nl>

Language files were contributed by the authors named in them.
