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