2 What's new in GNU enscript
3 --------------------------
5 Noteworthy changes in enscript version 1.6.3:
7 * Changes in the highlighting / pretty printing
9 - The `States*' config file options have changed. The new options
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)
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'
30 - Support for state inheritance.
32 * new highlighting rules:
34 - bash, csh, ksh, tcsh, zsh
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
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
48 - new output language `ansi' to print color outputs on color xterm,
53 - 88599 ISO-8859-9 (ISO Latin5)
54 - 885910 ISO-8859-10 (ISO Latin6)
58 - -3, -4, -5, -6, -7, -8, -9 select 3-9 columns
59 - --nup-columnwise layout pages in the N-up printing
61 - --swap-even-page-margins swap left and right side margins for
63 - --extended-return-values encode more status information in the
64 return value of the program
65 - --footer=STRING specify the page footer string
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
81 - Removed the `--list-options' option. It was an old debugging
82 option. I can remember when I have used or updated it.
85 Noteworthy changes in enscript version 1.6.1:
89 - --ps-level=LEVEL, PostScriptLevel
90 set the PostScript language level that
91 enscript should use for its output
93 Rotate each even-numbered page 180 degrees.
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
102 Noteworthy changes in enscript version 1.6:
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
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
123 * new highlighting rules:
125 - ada Ada95 programming language
126 - asm assembler listings
127 - awk awk scripting language
128 - delphi Delphi programming language
130 - diffu unified diff files
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
143 - vba Visual Basic (for Applications)
145 - improved C, C++ and Objective-C highlighting
147 * new special escapes:
149 - ^@bggray{GRAY} change text's background color
150 - ^@escape{CODE} changes the escape character
154 - 88594 ISO-8859-4 (ISO Latin4)
155 - 88597 ISO-8859-7 (ISO Greek)
159 - interpret formatting escapes from the page header strings
160 - page header string can contain left, center and right aligned
162 - support for HTML, RTF (Rich Text Format) and overstrike output
164 - fixed tabulator character handling with variable width fonts
165 - added support for regular expression character syntax tables in
167 - generates the PageSize page device setting to the PostScript
168 output -- this should make the printer to select the correct paper
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
175 Noteworthy changes in enscript version 1.5:
179 -A ALIGN, --file-align=ALIGN
180 align separate input files to even ALIGN page
182 -E, --pretty-print pretty print program source files with states
183 -U NUM, --nup=NUM print NUM logical pages on each output page
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
190 * config file options:
192 - TOCFormat set the table-of-contents line format
193 - NoJobHeaderSwitch set the spooler switch which disables job
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
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.
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 {|}[\]
214 - asciidkno 7 bit ascii with dk and no encodings for {|}[\]
218 - ^@color{r g b} special escape
219 - if input file (all input files) does not exist, enscript doesn't
221 - -E, --pretty-print highlighting for: C, ChangeLog, C++, mail,
222 Makefile, nroff output, Objective-C, Scheme, States, Synopsys,
226 Noteworthy changes in enscript version 1.4:
228 * new and changed options:
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
244 - renamed option `--page-header' to `--header'
245 - renamed option `--pass-through-ps-files' to `--pass-through'
247 * config file options:
249 - AcceptCompositeCharacters
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
256 * new fancy headers: mp, frame
260 - font works now over page boundaries
261 - ps include raw PostScript code to the output
262 - shade new escape to highlight text regions
270 * internationalization support with the GNU gettext
272 * changed to use GNU Automake
274 * program renamed from genscript to enscript
276 * new utility scripts:
277 - diffpp - pretty-print diff outputs
280 Noteworthy changes in enscript version 1.3:
284 - pslatin1 PostScript interpreter's ISOLatin1Encoding
286 * new fancy header: edd, a2ps
289 - option -Z, --pass-through-ps-files no longer wraps PS document
290 inside enscript prolog and epilog.
292 - renamed some options to conform the GNU coding standards:
293 --output-file => --output
295 --tab-size => --tabsize
297 - new command line / config file options:
299 --ul-angle UnderlayAngle
300 --ul-position UnderlayPosition
301 --non-printable-format NonPrintableFormat
303 * added some customization options to header description files:
304 %Format format and define string constants according
306 %HeaderHeight explicit set the fancy header height
307 %FooterHeight allocate space for the page footer
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:
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}
320 Check `lib/*.hdr' to see them in action.
322 * the library directory has changed from `<prefix>/lib/enscript' to
323 `<prefix>/share/enscript'
325 * new Makefile targets: check, uninstall
327 * enscript must no longer be installed before it can be tested; you
328 can print files directly after you have compiled enscript.
330 * support for Windows95/NT via the Win32 api