TODO enscript epsf[r n y-1]{Construction.eps} * Defaults.py.in => strip the `.in' before the highlight rule detection. * Fix config file parsing so that it is possible to set the value to an empty string. For example, on HP-UX 9.x/10.x there are no NoJobHeaderSwitch, so the users might want to set: NoJobHeaderSwitch: * > - The --help string should say something like `Convert plain text, > possibly with embedded formatting codes, to PostScript' after the Usage: > line, so users can know what the program does. * The states program should be called gstates if the enscript was configured with option "--program-prefix=g". * Option to include PS stuffs to the enscript.pro. This allows users to define an image at the enscript.pro and to use it in the headers, instead of defining the image at every page. * It might be nice if there were a method for which people could define their own options to genscript which would be aliases for other commands. Perhaps defined in the enscript.cfg file or the .enscriptrc file. What I mean, is it would be nice to be able to define an alias for something like: UserOption: tray1 -DMediaPosition:1 perhaps: -otray1 * New option to to process its argument as if it was read from the configuration file. * It would be nice if the AFM directory could be located using an environment variable. * Bugs ** Automake First, you need to update to the latest copies of ansi2knr.[c1] from automake-1.3 and put them in the afmlib and src directories. Second, I believe there is a bug in automake-1.3 and the following untested patch to automake-1.3 *might* fix it. Essentially, automake generates Makefiles which do: --- clip ------ clip ------ clip ------ clip ------ clip ------ clip --- --- automake.in~ Mon Apr 6 00:47:00 1998 +++ automake.in Sat Jul 4 10:31:59 1998 @@ -1014,7 +1014,7 @@ . '`if test -f $(srcdir)/' . $base . '.c' . '; then echo $(srcdir)/' . $base . '.c' . '; else echo ' . $base . '.c; fi` ' - . '| $(ANSI2KNR) ' . $base . "_.c\n"); + . '| $(ANSI2KNR) > ' . $base . "_.c\n"); push (@objects, $base . '_.o'); push (@objects, $base . '_.lo') if $seen_libtool; } --- clip ------ clip ------ clip ------ clip ------ clip ------ clip --- ** Misc - configure.in: add check for gethostname() function and if not found, use the version found from compat subdirectory. - strftime() on SCO, need to add AC_FUNC_STRFTIME to configure.in - -lc on SCO: > gcc -o enscript main.o psgen.o util.o xalloc.o prt_lpr.o > ../afmlib/libafm.a ../intl/libintl.a ../compat/libcompat.a -lm > undefined first referenced > symbol in file > __unlink psgen.o > strftime util.o > gethostname util.o > __filbuf ../afmlib/libafm.a > ld fatal: Symbol referencing errors. No output written to enscript > make: *** [enscript] Error 1 * High priority - Kanji support - Unicode support * Low priority - convert escape chars to escape strings: \%font{Courier5} - allow some options for the pass-through files: -a, -D, -S, -1, -2, -r - read AFM and .pf{a,b} files from the stdouts of the named commands - ^@epsf{}: options to rotate the image. - -r, --landscape, check if the page is rotated to the correct direction - --tocfont to set the font which is used for table of contents (TOCFont) - right justify the end of lines that are wrapped so that it's easy to find out which lines have been wrapped - specify the font size by giving the number of characters per line or lines per page - specify the margins used and in particular being able to swap left and right margin to print on double sided printers while keeping a margin on the left of the sheet to make holes - support for PPD files - make options compatible with the latest version of Adobe enscript - options: - --characters-per-line - -#, --page-numbers print page numbers to every page, even in the --no-header mode. - input encodings: - IBM ebdic * PPD information Transcript V4.x: -Sfeature=value chooses a printer feature, such as manual feed or duplex. If value is omitted, a value of true is assumed. These features must match a keyword in the Printer Description file. For example, "enscript -S ManualFeed" turns on manual feed. Other PPD options include: -ssize chooses a paper size for printing. This size must match one of the *PaperSize keywords in the Printer Description file, such as Letter, Legal, or A4. -Pprinter causes the output to be sent to the named printer unless -pfile is specified. In that case, the printer name is used to access the printer's Printer Description file for information, and the output is written to the specified file instead of being spooled for printing. -ddest causes the output to be sent to the named printer or printer class unless -pfile is specified. In that case, the printer name is used to access the printer's Printer Description file for information, and the output is written to the specified file instead of being spooled for printing.