aclocal.m4: Deleted. Can be generated with `aclocal'.
[enscript.git] / NEWS
1
2                       What's new in GNU enscript
3                       --------------------------
4
5 Noteworthy changes in enscript version 1.6.3:
6
7 * Changes in the highlighting / pretty printing
8
9   - The `States*' config file options have changed.  The new options
10     are:
11       - StatesBinary            specify an absolute path for `states'
12       - StatesColor             use colors in the highlighting outputs?
13       - StatesConfigFile        config file name (enscript.st)
14       - StatesHighlightStyle    highlighting style
15       - StatesPath              path from which the states is looking
16                                 up the state definition files (.st)
17
18   - Support for user defined local highlighting definitions and styles.
19   - new option `--style=STYLE' to specify the highlighting style
20   - Verbose highlighting for the C, C++, and Objective-C languages.
21     In the verbose highlighting, some mathematical constructs (&&, ||,
22     !=, etc.) are replaced with the corresponding mathematical symbols
23     (logical and, logical or, not equal, etc.).  The mode can be
24     enabled with option `--style=emacs_verbose'.
25   - renamed `--pretty-print' and `--help-pretty-print' options to
26     `--highlight' and `--help-highlight'
27
28 * states:
29
30   - Support for state inheritance.
31
32 * new highlighting rules:
33
34   - bash, csh, ksh, tcsh, zsh
35                 Unix shells
36   - m4          m4 macro preprocessor
37   - skill       Cadence Design Systems lispy language
38   - vrml        Virtual Reality Modeling Language (VRML97)
39   - rfc         fix broken page breaks in RFCs and in Internet Drafts
40   - inf         GUI INF Script language
41   - matlab      Matlab files
42   - outline     Emacs' outline text
43   - tex         TeX/LaTeX source files.
44   - diffs       side diff files
45   - fortran_pp  fortran 77 with preprocessor
46   - wmlscript   WMLScript language
47
48   - new output language `ansi' to print color outputs on color xterm,
49     etc.
50
51 * new encodings:
52
53   - 88599       ISO-8859-9 (ISO Latin5)
54   - 885910      ISO-8859-10 (ISO Latin6)
55
56 * new options:
57
58   - -3, -4, -5, -6, -7, -8, -9  select 3-9 columns
59   - --nup-columnwise            layout pages in the N-up printing
60                                 columnwise
61   - --swap-even-page-margins    swap left and right side margins for
62                                 even numbered pages
63   - --extended-return-values    encode more status information in the
64                                 return value of the program
65   - --footer=STRING             specify the page footer string
66
67 * misc:
68
69   - It is possible to specify the font encoding in the ^@font{}
70     escape.  But, it allows only `ps' or the enscript's global input
71     encoding values.  For example, ^@font{Symbol@7:ps}b^@font{default}
72     prints the beta symbol
73   - New escape ^@bgcolor{} to change the text background color.
74   - New fancy headers `squeeze' and `enscript-color'.
75   - Minor fixes in the 88593 and 88594 encodings.
76   - New highlighting style `msvc'.
77   - Support for the matrix printers.  Try `enscript -fMatrix10' ;-)
78   - Fixed some buffer overrun bugs.  Now all buffer space for unknown
79     items (filenames, user-supplied tokens, etc.) is allocated
80     dynamically.
81   - Removed the `--list-options' option.  It was an old debugging
82     option.  I can remember when I have used or updated it.
83
84 \f
85 Noteworthy changes in enscript version 1.6.1:
86
87 * new options:
88
89   - --ps-level=LEVEL, PostScriptLevel
90                         set the PostScript language level that
91                         enscript should use for its output
92   - --rotate-even-pages
93                         Rotate each even-numbered page 180 degrees.
94
95 * misc
96
97   - updated C, C++, and Objective-C highlighting
98   - set the states to process the stdin if argument "-" is given
99   - bug and portability fixes
100
101 \f
102 Noteworthy changes in enscript version 1.6:
103
104 * new options:
105
106   - StatesPath          define absolute path for the states program
107   - GeneratePageSize    specify wheter the PageSize page device
108                         setting is generated to the output
109   - -C, --line-numbers  option takes an optional argument to specify
110                         the number of the first line in the input
111   - -W, --language=LANG set ouput language to LANG
112   - --h-column-height=HEIGHT
113                         set the horizontal column height to HEIGHT
114                         PostScript points
115   - --mark-wrapped-lines[=STYLE], MarkWrappedLines
116                         mark wrapped lines in the printout with STYLE
117   - --margins=LEFT:RIGHT:TOP:BOTTOM
118                         adjust page marginals
119   - --nup-xpad=NUM      set the page x-padding of N-up printing to NUM
120   - --nup-ypad=NUM      set the page y-padding of N-up printing to NUM
121   - --word-wrap         wrap long lines from word boundaries
122
123 * new highlighting rules:
124
125   - ada         Ada95 programming language
126   - asm         assembler listings
127   - awk         awk scripting language
128   - delphi      Delphi programming language
129   - diff        diff files
130   - diffu       unified diff files
131   - elisp       Emacs Lisp
132   - fortran     Fortran77 programming language
133   - haskell     Haskell programming language
134   - idl         CORBA interface definition language
135   - java        Java programming language
136   - javascript  JavaScript language
137   - pascal      Pascal programming language
138   - perl        Perl programming language
139   - postscript  PostScript
140   - python      Python programming language
141   - sh          Bourne shell scripts
142   - sql         Sybase 11 SQL
143   - vba         Visual Basic (for Applications)
144
145   - improved C, C++ and Objective-C highlighting
146
147 * new special escapes:
148
149   - ^@bggray{GRAY} change text's background color
150   - ^@escape{CODE} changes the escape character
151
152 * new encodings:
153
154   - 88594       ISO-8859-4 (ISO Latin4)
155   - 88597       ISO-8859-7 (ISO Greek)
156
157 * misc:
158
159   - interpret formatting escapes from the page header strings
160   - page header string can contain left, center and right aligned
161     fields
162   - support for HTML, RTF (Rich Text Format) and overstrike output
163     languages
164   - fixed tabulator character handling with variable width fonts
165   - added support for regular expression character syntax tables in
166     the states program
167   - generates the PageSize page device setting to the PostScript
168     output -- this should make the printer to select the correct paper
169     tray automatically
170   - replaced all stdarg functions with macros
171   - fixed N-up printing to cooperate with the page margins
172   - renamed the ISO-8859-* input encoding names to conform their
173     ISO names
174 \f
175 Noteworthy changes in enscript version 1.5:
176
177 * new options:
178
179   -A ALIGN, --file-align=ALIGN
180                         align separate input files to even ALIGN page
181                         count
182   -E, --pretty-print    pretty print program source files with states
183   -U NUM, --nup=NUM     print NUM logical pages on each output page
184                         (N-up printing)
185   --help-pretty-print   describe all supported --pretty-print
186                         languages and file formats
187   --slice               print vertical slices of input files
188   --toc                 print table of contents
189
190 * config file options:
191
192   - TOCFormat           set the table-of-contents line format
193   - NoJobHeaderSwitch   set the spooler switch which disables job
194                         header (-h)
195   - OutputFirstLine     set output's fist line
196   - StatesColorModel    define color model for states
197   - StatesConfigFile    set states' config file
198   - StatesHighlightLevel
199                         define highlight level for states
200
201 * new utilities:
202
203   - sliceprint  print documents with long lines
204   - states      awk like state machine to highlight program listings
205   - many2html   convert files to HTML.  Program supports all file
206                 formats which can be pretty-printed with enscript.
207
208 * new encodings:
209
210   - koi8                Adobe Standard Cyrillic Font KOI8 charset
211   - 88595               ISO-8859-5 (ISO Cyrillic)
212   - asciifise           7 bit ascii with fi and se encodings for {|}[\]
213                         (old asciiscands)
214   - asciidkno           7 bit ascii with dk and no encodings for {|}[\]
215
216 * misc
217
218   - ^@color{r g b} special escape
219   - if input file (all input files) does not exist, enscript doesn't
220     generate any output
221   - -E, --pretty-print highlighting for: C, ChangeLog, C++, mail,
222     Makefile, nroff output, Objective-C, Scheme, States, Synopsys,
223     Tcl, Verilog, VHDL
224
225 \f
226 Noteworthy changes in enscript version 1.4:
227
228 * new and changed options:
229
230   -a, --pages           select pages to print
231   -e, --escapes         option takes an optional argument which
232                         changes the escape character
233   -h, --no-job-header   supress the job header page
234   --title               sets the name of stdin
235   -I, --filter          set input filter
236   -j, --borders         print borders around columns
237   -k, --page-prefeed    enable page prefeed
238   -K, --no-page-prefeed disable page prefeed
239   --highlight-bars      enable highlight bars
240   --highlight-bar-gray  set the gray-level for highlight bars
241   --printer-options     pass extra options to the printer command
242   --ul-style            specify how the underlay strings are printed
243
244   - renamed option `--page-header' to `--header'
245   - renamed option `--pass-through-ps-files' to `--pass-through'
246
247 * config file options:
248
249   - AcceptCompositeCharacters
250   - AppendCtrlD
251   - FormFeedType        what to do when a formfeed character is
252                         encountered from input
253   - EscapeChar          specify the escape character
254   - UnderlayStyle       how underlays are printed: outline / filled
255
256 * new fancy headers: mp, frame
257
258 * escapes:
259
260   - font        works now over page boundaries
261   - ps          include raw PostScript code to the output
262   - shade       new escape to highlight text regions
263   - setfilename
264   - setpagenumber
265   - newpage
266
267 * new encodings:
268   - hp8         HP Roman-8
269
270 * internationalization support with the GNU gettext
271
272 * changed to use GNU Automake
273
274 * program renamed from genscript to enscript
275
276 * new utility scripts:
277   - diffpp - pretty-print diff outputs
278
279 \f
280 Noteworthy changes in enscript version 1.3:
281
282 * new encodings:
283   - 88593       ISO-8859-3
284   - pslatin1    PostScript interpreter's ISOLatin1Encoding
285
286 * new fancy header: edd, a2ps
287
288 * option changes:
289   - option -Z, --pass-through-ps-files no longer wraps PS document
290     inside enscript prolog and epilog.
291
292   - renamed some options to conform the GNU coding standards:
293       --output-file     =>      --output
294       --queue           =>      --printer
295       --tab-size        =>      --tabsize
296
297   - new command line / config file options:
298     -z, --no-formfeed
299     --ul-angle                  UnderlayAngle
300     --ul-position               UnderlayPosition
301     --non-printable-format      NonPrintableFormat
302
303 * added some customization options to header description files:
304     %Format             format and define string constants according
305                         to format string
306     %HeaderHeight       explicit set the fancy header height
307     %FooterHeight       allocate space for the page footer
308
309   Note!  If you have defined your own fancy header, it will probably
310   not work on enscript-1.3 without modifications.  Following constants
311   are removed from the enscript prolog so you must define them with
312   the `%Format' comment:
313
314     usadatestr = %Format: usadatestr    %W
315     eurdatestr = %Format: eurdatestr    %E
316     findatestr = %Format: findatestr    %F
317     timestr    = %Format: timestr       %C
318     fmodstr    = %Format: fmodstr       $D{%a %b %e %T %Y}
319
320   Check `lib/*.hdr' to see them in action.
321
322 * the library directory has changed from `<prefix>/lib/enscript' to
323   `<prefix>/share/enscript'
324
325 * new Makefile targets: check, uninstall
326
327 * enscript must no longer be installed before it can be tested; you
328   can print files directly after you have compiled enscript.
329
330 * support for Windows95/NT via the Win32 api