Handle other common C++ header file extensions.
[enscript.git] / README
1
2                              GNU Enscript
3                              ============
4
5     SPECIAL NOTE TO ALL AMERICAN (USA) USERS.
6
7     Enscript's default output media (paper size) is A4.  It is *not*
8     Letter.  To change the default, give the configure script the
9     option `--with-media=Letter'.  It goes like this:
10
11       $ ./configure --with-media=Letter
12
13     You have been warned.... ;-)        // mtr@iki.fi
14
15 GNU Enscript is a drop-in replacement for the enscript program.
16 Enscript converts ASCII files to PostScript and stores generated
17 output to a file or sends it directly to the printer.
18
19
20 Enscript is free software: you can redistribute it and/or modify
21 it under the terms of the GNU General Public License as published by
22 the Free Software Foundation, either version 3 of the License, or
23 (at your option) any later version.
24
25 Enscript is distributed in the hope that it will be useful,
26 but WITHOUT ANY WARRANTY; without even the implied warranty of
27 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
28 GNU General Public License for more details.
29
30 You should have received a copy of the GNU General Public License
31 along with Enscript.  If not, see <http://www.gnu.org/licenses/>.
32
33
34 * Supported Character Sets
35
36 Enscript supports following character sets:
37
38   - ISO-8859-1          ISO Latin1 (default)
39   - ISO-8859-2          ISO Latin2
40   - ISO-8859-3          ISO Latin3
41   - ISO-8859-4          ISO Latin4
42   - ISO-8859-5          ISO Cyrillic
43   - ISO-8859-7          ISO Greek
44   - ascii               7 bit ascii
45   - ascii fi se         7 bit ascii with following encodings:
46                           '{'  = ä (adieresis)
47                           '|'  = ö (odieresis)
48                           '}'  = å (aring)
49                           '['  = Ä (Adieresis)
50                           '\\' = Ö (Odieresis)
51                           ']'  = Å (Aring)
52   - ascii dk no         7 bit ascii with following encodings:
53                           '{'  = æ (ae)
54                           '|'  = ø (oslash)
55                           '}'  = å (aring)
56                           '['  = Æ (AE)
57                           '\\' = Ø (Oslash)
58                           ']'  = Å (Aring)
59   - IBM/PC              standard PC/DOS character set
60   - Mac                 Macintosh character set
61   - VMS                 VMS multinational charset
62   - hp8                 HP Roman-8 charset
63   - koi8                Adobe Standard Cyrillic Font KOI8 charset
64   - ps                  PostScript font's default encoding
65   - pslatin1            PostScript interpreter's `ISOLatin1Encoding'
66
67
68 * Special Escapes
69
70 Enscript supports special escapes sequences that can be used to add
71 simple page formatting commands to ASCII documents.  User can inline
72 EPS files, change font on-the-fly insert comments and shade regions of
73 text.  See file README.ESCAPES for details.
74
75
76 * Language sensitive highlighting
77
78 Enscript supports language sensitive code highlighting.  Highlighting
79 is implemented by a special `states' program which processes the input
80 files and annotates them with enscript's special escapes.  The states
81 definition file `enscript.st' is a machine independent ASCII file and
82 it can be updated without re-compilation of the enscript program.  The
83 most recent version of this file can be downloaded from the GNU
84 enscript WWW home page: <http://www.iki.fi/~mtr/genscript/>.
85
86 New highlighting definitions for different languages are welcome,
87 please send them directly to me: <mailto:mtr@iki.fi>.
88
89
90 * PostScript font support
91
92 ** AFM files
93
94 Enscript supports AFM (Adobe Font Metrics) files.  AFM files contain
95 font metrics information (character widths, etc); if there is an AFM
96 file for the current font, enscript can count line widths and tab
97 stops correctly.  Enscript distribution contains AFM files for the
98 most common PostScript fonts.  These AFM files are installed to the
99 directory <prefix>/share/enscript/.
100
101 ** Fonts (.pfa or .pfb)
102
103 Enscript supports also additional PostScript fonts which are defined
104 in the `.pfa' or `.pfb' font files.  Enscript automatically
105 down-loads font's description to your PostScript document whenever you
106 use an external disk font.  Font down-loading requires that you have
107 both the `.afm' and `.pf{a,b}' files for you extra fonts and you have
108 created a font mapping file called `font.map' to your font directory.
109
110 These are the steps that are needed to make your extra fonts usable in
111 enscript:
112
113 1) Install the `.afm' and `.pf{a,b}' files to some appropriate
114    directory.  Note! for a single font, both the .afm and .pf{a,b}
115    files must have  the same prefix, filenames can differ only from
116    the suffix part.  For example, if font `FooFont' is defined in the
117    file `foo.pfa', then the AFM file must be named `foo.afm'.
118
119 2) Create a font map file for the font directory.  Enscript's
120    distribution has an utility called `mkafmmap' which does the job;
121    just give command:
122
123         mkafmmap *.afm
124
125    in your font directory.  This command creates a file called
126    `font.map' to your font directory.  File contains one row for each
127    .afm file, each row has two columns: font's PostScript name and
128    the prefix for the corresponding .afm file.
129
130 3) Notify enscript that it has new fonts to play with.  This is done
131    by editing the global configuration file `enscript.cfg' or the
132    personal configuration file `$HOME/.enscriptrc'.  Global
133    configuration file has an entry called 'AFMPath' which contains the
134    current font search path.  Add your new font directory to this
135    path:
136
137         AFMPath: /usr/local/share/enscript/afm:/usr/local/lib/ps:/usr/lib/ps:/fonts/myfontdir
138
139   where `/fonts/myfontdir' is the new font directory.
140
141 So how does the font down-loading work?  Enscript automatically
142 down-loads font files for header and body fonts, if it can find the
143 corresponding `.pfa' or `.pfb' files from the AFMPath.  Enscript do
144 *not* down-load fonts that are specified in `^@font' escapes, however
145 you can down-load these font by specifying command line option
146 `--download-font=name' for each font.  You can also specify
147 down-loadable fonts in the global configuration file `enscript.cfg'
148 or in your personal configuration file `$HOME/.enscriptrc' by giving
149 option `DownloadFont: name'.
150
151 \f
152 * What's different as compared to the Adobe's Enscript application?
153
154 - Adobe enscript's option `-o' has been changed.  In Adobe enscript
155   option `-o' lists missing characters.  In GNU enscript `-o' is an
156   alias for `-p' and missing characters are listed with an option `-O'.
157
158
159 * Misc
160
161 I am dedicated to make the GNU enscript the best a2ps converter ever,
162 this includes adding all the GNU features and cookies to it ;)
163
164 Comments, suggestions, bug fixes, bug reports, etc. are welcome.
165
166
167         Markku Rossi
168
169         <mtr@iki.fi> <http://www.iki.fi/~mtr/>
170
171         GNU Enscript WWW home page:
172         <http://www.iki.fi/~mtr/genscript/>