summaryrefslogtreecommitdiff
path: root/support/utf2any/README
blob: d8b700227d3547336d98977ba43e431eecdd5bc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109

+===========+
|  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.