recode  3.7.8
About: recode is a charset converter tool and library (fork of the original and now unmaintained GNU recode).
  Fossies Dox: recode-3.7.8.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

recode Documentation

Some Fossies usage hints in advance:

  1. To see the Doxygen generated documentation please click on one of the items in the steelblue colored "quick index" bar above or use the side panel at the left which displays a hierarchical tree-like index structure and is adjustable in width.
  2. If you want to search for something by keyword rather than browse for it you can use the client side search facility (using Javascript and DHTML) that provides live searching, i.e. the search results are presented and adapted as you type in the Search input field at the top right.
  3. Doxygen doesn't incorporate all member files but just a definable subset (basically the main project source code files that are written in a supported language). So to search and browse all member files you may visit the Fossies recode-3.7.8.tar.gz contents page and use the Fossies standard member browsing features (also with source code highlighting and additionally with optional code folding).
#+TITLE: README for Recode
#+OPTIONS: H:2 toc:2

* Introduction
** What is Recode?
The Recode library converts files between character sets and usages.
It recognises or produces over 200 different character sets (or about
300 if combined with an *iconv* library) and transliterates files
between almost any pair.  When exact transliteration are not possible,
it gets rid of offending characters or falls back on approximations.
The *recode* program is a handy front-end to the library.

Glance through this =README= file before starting configuration.  Make
sure you read files =ABOUT-NLS= and =INSTALL= if you are not familiar with
them already.

The Recode program and library have been written by Fran├žois Pinard,
yet it significantly reuses tabular works from Keld Simonsen.  It is
an evolving package, and specifications might change in future

On various Unix systems, Recode is usually compiled from sources, see
the [[Installation]] section below.  On Linux, it often comes bundled.
Recode had been ported to other popular systems.  See both
[[http:/contrib.html][contrib/README]] and the [[Non-Unix ports]] section below, to find some more
information about these.

** Reports and collaboration
Please file bug reports as [[][GitHub Issues]].  If you cannot use GitHub, do
write directly to [[]] A bug report is an adequate
description of the problem: your input, what you expected, what you got, and
why this is wrong.  Patches are welcome, but they only describe a solution,
from which the problem might be uneasy to infer.  If needed, submit actual
data files with your report.

Your feedback will help us to make a better and more portable package.
Consider documentation errors as bugs, and report them as such.  If
you develop anything pertaining to Recode or have suggestions, please
share them on GitHub.

The [[][Git repository]] for Recode gives access, through the magic of Git and
GitHub, to all distribution releases, be they actual or past, pretest or
official, as well as individual files.

* Installation
** In a hurry?
See =INSTALL=. (For installing from git, see

More fine-grained instructions follow.

** Prerequisites
Simple installation of Recode requires the usual tools and facilities as
those needed for most GNU packages.  If not already bundled with your
system, you also need to install [[][Python]], version 3.5 or later.

It is also convenient to have some *iconv* library already present on your
system, this much extends Recode capabilities, especially in the area of
Asiatic character sets.  GNU *libc*, as found on Linux systems and a few
others, already has such an *iconv* library.  Otherwise, you might consider
installing the [[][portable libiconv]], written by Bruno Haible.

** Getting a release
Source files and various distributions (either latest, prestest, or
archive) are available through [[][GitHub]].

** Configure options
Once you have an unpacked distribution, see files:

  | File name   | Description                                    |
  | =ABOUT-NLS=   | how to customise this program to your language |
  | =COPYING=     | copying conditions for the program             |
  | =COPYING.LIB= | copying conditions for the library             |
  | =INSTALL=     | compilation and installation instructions      |
  | =NEWS=        | major changes in the current release           |
  | =THANKS=      | partial list of contributors                   |

Besides those configure options documented in files =INSTALL= and
=ABOUT-NLS=, a few extra options may be accepted by =./configure=:

- Option =--with-dmalloc=

  to trigger a debugging feature for looking at memory management
  problems, it pre-requires Gray Watson's [[][dmalloc package]].