+===========+
|  utf2any  |
+===========+

utf2any translates a file encoded in UTF-7 or UTF-8 (Unicode) into any
7- or 8-bit text format. Currently, mapping tables are supplied for
LaTeX, HTML, iso-8859-1, iso-8859-15 and rfc-1345. These tables don't
provide a complete mapping, but they can be easily extended to personal
needs.

Usage: utf2any -7|-8 [-f mapfile] [-v] [-w] [infile]

 -7 : Input is UTF-7
 -8 : Input is UTF-8
 -f : File with definitions of the symbol mappings
 -v : Verbose
 -w : Warning messages

If multiple -f options are given, the files are processed in turn.
If name of mapfile has no path, it will be search for in:
   1. current directory
   2. compiled-in default directory
If no -f option is given, a default mapping will be used.

If no infile is given, the program will read from stdin.


Syntax of symbol map file:
--------------------------

Empty lines, and lines starting with a hash (#) are ignored.


Another mapfile can be included:

   I filename

If filename does not contain a path, it will be searched for in the
following directories:
   1. current directory
   2. the same directory as the file this map was included from


A default mapping for a range of characters can be defined as follows:

   D first last size format
   D first last action

first: Unicode number of first symbol in default range
last: Unicode number of last symbol in default range
size: this should be one of: uchar unsigned ulong
format: a format given to the C printf function to display the symbol.
 The format receives one argument: the code number. This number will be
 cast to one of:
   (unsigned char) if size equals uchar
   (unsigned)      if size equals unsigned
   (long unsigned) if size equals ulong
action: one of:
 #ECHO#  : print the character as is, only possible for codes up to 255
 #SKIP#  : don't print anything
 #SPACE# : print a space

Numbers can be given as:

   Unicode type number: hexadecimal number with prefix U+
   decimal
   octal: number with prefix 0
   hexadecimal: number with prefix 0x


Default ranges take lower precedence than explicit codes (see below),
accept in the range 0 to 255, where they overwrite explicit definitions.
To be safe, define all default mappings before explicit mappings.


Explicit mapping, a number followed by a string:

   number action
   number string

number: a Unicode number, in the same format as with default ranges
action: the same as with default ranges
string: a literal string


+===========+
|  utfcode  |
+===========+

utfcode translates one or more Unicode numbers into UTF-7 and/or UTF-8.

Usage: utfcode [-7|-8] [number...]

-7 : utf-7 only
-8 : utf-8 only

Numbers can be given in the same format as in the mapfiles for utf2any.


====================================

(c) Peter Kleiweg 2000
http://www.let.rug.nl/~kleiweg/

This is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
version.