2 What's new in GNU enscript
3 --------------------------
5 Summary of changes in enscript version 1.6.5.1:
7 * Typo corrections in the manual pages.
9 * Reorganise source tree to use a single ChangeLog file.
11 * Actually ship f90.st in the tarball.
13 * Reorganise INSTALL and README.
16 Noteworthy changes in enscript version 1.6.5:
20 * Licensing change: GNU Enscript is now distributed under version 3 or
23 * Build system fixes - distcheck now passes.
25 * At least four security bug fixes:
29 - CVE-2008-3863, CVE-2008-4306
31 * Syntax highlighting fixes.
32 - shell escaping rules from Shawn McMahon.
33 - JavaScript regexps now recognised.
34 - New highlighting rules for Fortran 90 from David Bowler.
36 See changelogs for more detailed notes.
39 Noteworthy changes in enscript version 1.6.4:
41 * Unknown - to be filled in at a later date.
44 Noteworthy changes in enscript version 1.6.3:
46 * Changes in the highlighting / pretty printing
48 - The `States*' config file options have changed. The new options
50 - StatesBinary specify an absolute path for `states'
51 - StatesColor use colors in the highlighting outputs?
52 - StatesConfigFile config file name (enscript.st)
53 - StatesHighlightStyle highlighting style
54 - StatesPath path from which the states is looking
55 up the state definition files (.st)
57 - Support for user defined local highlighting definitions and styles.
58 - new option `--style=STYLE' to specify the highlighting style
59 - Verbose highlighting for the C, C++, and Objective-C languages.
60 In the verbose highlighting, some mathematical constructs (&&, ||,
61 !=, etc.) are replaced with the corresponding mathematical symbols
62 (logical and, logical or, not equal, etc.). The mode can be
63 enabled with option `--style=emacs_verbose'.
64 - renamed `--pretty-print' and `--help-pretty-print' options to
65 `--highlight' and `--help-highlight'
69 - Support for state inheritance.
71 * new highlighting rules:
73 - bash, csh, ksh, tcsh, zsh
75 - m4 m4 macro preprocessor
76 - skill Cadence Design Systems lispy language
77 - vrml Virtual Reality Modeling Language (VRML97)
78 - rfc fix broken page breaks in RFCs and in Internet Drafts
79 - inf GUI INF Script language
81 - outline Emacs' outline text
82 - tex TeX/LaTeX source files.
83 - diffs side diff files
84 - fortran_pp fortran 77 with preprocessor
85 - wmlscript WMLScript language
87 - new output language `ansi' to print color outputs on color xterm,
92 - 88599 ISO-8859-9 (ISO Latin5)
93 - 885910 ISO-8859-10 (ISO Latin6)
97 - -3, -4, -5, -6, -7, -8, -9 select 3-9 columns
98 - --nup-columnwise layout pages in the N-up printing
100 - --swap-even-page-margins swap left and right side margins for
102 - --extended-return-values encode more status information in the
103 return value of the program
104 - --footer=STRING specify the page footer string
108 - It is possible to specify the font encoding in the ^@font{}
109 escape. But, it allows only `ps' or the enscript's global input
110 encoding values. For example, ^@font{Symbol@7:ps}b^@font{default}
111 prints the beta symbol
112 - New escape ^@bgcolor{} to change the text background color.
113 - New fancy headers `squeeze' and `enscript-color'.
114 - Minor fixes in the 88593 and 88594 encodings.
115 - New highlighting style `msvc'.
116 - Support for the matrix printers. Try `enscript -fMatrix10' ;-)
117 - Fixed some buffer overrun bugs. Now all buffer space for unknown
118 items (filenames, user-supplied tokens, etc.) is allocated
120 - Removed the `--list-options' option. It was an old debugging
121 option. I can remember when I have used or updated it.
124 Noteworthy changes in enscript version 1.6.1:
128 - --ps-level=LEVEL, PostScriptLevel
129 set the PostScript language level that
130 enscript should use for its output
131 - --rotate-even-pages
132 Rotate each even-numbered page 180 degrees.
136 - updated C, C++, and Objective-C highlighting
137 - set the states to process the stdin if argument "-" is given
138 - bug and portability fixes
141 Noteworthy changes in enscript version 1.6:
145 - StatesPath define absolute path for the states program
146 - GeneratePageSize specify wheter the PageSize page device
147 setting is generated to the output
148 - -C, --line-numbers option takes an optional argument to specify
149 the number of the first line in the input
150 - -W, --language=LANG set ouput language to LANG
151 - --h-column-height=HEIGHT
152 set the horizontal column height to HEIGHT
154 - --mark-wrapped-lines[=STYLE], MarkWrappedLines
155 mark wrapped lines in the printout with STYLE
156 - --margins=LEFT:RIGHT:TOP:BOTTOM
157 adjust page marginals
158 - --nup-xpad=NUM set the page x-padding of N-up printing to NUM
159 - --nup-ypad=NUM set the page y-padding of N-up printing to NUM
160 - --word-wrap wrap long lines from word boundaries
162 * new highlighting rules:
164 - ada Ada95 programming language
165 - asm assembler listings
166 - awk awk scripting language
167 - delphi Delphi programming language
169 - diffu unified diff files
171 - fortran Fortran77 programming language
172 - haskell Haskell programming language
173 - idl CORBA interface definition language
174 - java Java programming language
175 - javascript JavaScript language
176 - pascal Pascal programming language
177 - perl Perl programming language
178 - postscript PostScript
179 - python Python programming language
180 - sh Bourne shell scripts
182 - vba Visual Basic (for Applications)
184 - improved C, C++ and Objective-C highlighting
186 * new special escapes:
188 - ^@bggray{GRAY} change text's background color
189 - ^@escape{CODE} changes the escape character
193 - 88594 ISO-8859-4 (ISO Latin4)
194 - 88597 ISO-8859-7 (ISO Greek)
198 - interpret formatting escapes from the page header strings
199 - page header string can contain left, center and right aligned
201 - support for HTML, RTF (Rich Text Format) and overstrike output
203 - fixed tabulator character handling with variable width fonts
204 - added support for regular expression character syntax tables in
206 - generates the PageSize page device setting to the PostScript
207 output -- this should make the printer to select the correct paper
209 - replaced all stdarg functions with macros
210 - fixed N-up printing to cooperate with the page margins
211 - renamed the ISO-8859-* input encoding names to conform their
214 Noteworthy changes in enscript version 1.5:
218 -A ALIGN, --file-align=ALIGN
219 align separate input files to even ALIGN page
221 -E, --pretty-print pretty print program source files with states
222 -U NUM, --nup=NUM print NUM logical pages on each output page
224 --help-pretty-print describe all supported --pretty-print
225 languages and file formats
226 --slice print vertical slices of input files
227 --toc print table of contents
229 * config file options:
231 - TOCFormat set the table-of-contents line format
232 - NoJobHeaderSwitch set the spooler switch which disables job
234 - OutputFirstLine set output's fist line
235 - StatesColorModel define color model for states
236 - StatesConfigFile set states' config file
237 - StatesHighlightLevel
238 define highlight level for states
242 - sliceprint print documents with long lines
243 - states awk like state machine to highlight program listings
244 - many2html convert files to HTML. Program supports all file
245 formats which can be pretty-printed with enscript.
249 - koi8 Adobe Standard Cyrillic Font KOI8 charset
250 - 88595 ISO-8859-5 (ISO Cyrillic)
251 - asciifise 7 bit ascii with fi and se encodings for {|}[\]
253 - asciidkno 7 bit ascii with dk and no encodings for {|}[\]
257 - ^@color{r g b} special escape
258 - if input file (all input files) does not exist, enscript doesn't
260 - -E, --pretty-print highlighting for: C, ChangeLog, C++, mail,
261 Makefile, nroff output, Objective-C, Scheme, States, Synopsys,
265 Noteworthy changes in enscript version 1.4:
267 * new and changed options:
269 -a, --pages select pages to print
270 -e, --escapes option takes an optional argument which
271 changes the escape character
272 -h, --no-job-header supress the job header page
273 --title sets the name of stdin
274 -I, --filter set input filter
275 -j, --borders print borders around columns
276 -k, --page-prefeed enable page prefeed
277 -K, --no-page-prefeed disable page prefeed
278 --highlight-bars enable highlight bars
279 --highlight-bar-gray set the gray-level for highlight bars
280 --printer-options pass extra options to the printer command
281 --ul-style specify how the underlay strings are printed
283 - renamed option `--page-header' to `--header'
284 - renamed option `--pass-through-ps-files' to `--pass-through'
286 * config file options:
288 - AcceptCompositeCharacters
290 - FormFeedType what to do when a formfeed character is
291 encountered from input
292 - EscapeChar specify the escape character
293 - UnderlayStyle how underlays are printed: outline / filled
295 * new fancy headers: mp, frame
299 - font works now over page boundaries
300 - ps include raw PostScript code to the output
301 - shade new escape to highlight text regions
309 * internationalization support with the GNU gettext
311 * changed to use GNU Automake
313 * program renamed from genscript to enscript
315 * new utility scripts:
316 - diffpp - pretty-print diff outputs
319 Noteworthy changes in enscript version 1.3:
323 - pslatin1 PostScript interpreter's ISOLatin1Encoding
325 * new fancy header: edd, a2ps
328 - option -Z, --pass-through-ps-files no longer wraps PS document
329 inside enscript prolog and epilog.
331 - renamed some options to conform the GNU coding standards:
332 --output-file => --output
334 --tab-size => --tabsize
336 - new command line / config file options:
338 --ul-angle UnderlayAngle
339 --ul-position UnderlayPosition
340 --non-printable-format NonPrintableFormat
342 * added some customization options to header description files:
343 %Format format and define string constants according
345 %HeaderHeight explicit set the fancy header height
346 %FooterHeight allocate space for the page footer
348 Note! If you have defined your own fancy header, it will probably
349 not work on enscript-1.3 without modifications. Following constants
350 are removed from the enscript prolog so you must define them with
351 the `%Format' comment:
353 usadatestr = %Format: usadatestr %W
354 eurdatestr = %Format: eurdatestr %E
355 findatestr = %Format: findatestr %F
356 timestr = %Format: timestr %C
357 fmodstr = %Format: fmodstr $D{%a %b %e %T %Y}
359 Check `lib/*.hdr' to see them in action.
361 * the library directory has changed from `<prefix>/lib/enscript' to
362 `<prefix>/share/enscript'
364 * new Makefile targets: check, uninstall
366 * enscript must no longer be installed before it can be tested; you
367 can print files directly after you have compiled enscript.
369 * support for Windows95/NT via the Win32 api