In this chapter is collected what had no place in the rest of this document.
Here are some tips we have on how to use a non PostScript printer. If somebody feels like writing a more precise documentation, he really is welcome.
(for a bj200ex on os2 from linux) This is a shell script called as a filter from an ":if=/usr/local/bin/filtername" entry in /etc/printcap on linux:
#!/bin/bash gs -q -sDevice=bj200 -sOutputfile=- -r360 -dNOPAUSE -dSAFER -
The device is a gs device name, input is the ending "-" (stdin), output is stdout, -q is "no messages". Can be used with
lpr -Pprintername -Ffilter_path_and_name infile.ps
or just `lpr -Pprintcap_printername infile.ps' if the filter is specified in the printcap `:if=' entry for that "printcap_printername". Either way, lpr on linux runs it in a subshell, so you don't want "exec" before the gs command (that kills the subshell and leaves gs running with no way to communicate its stdout back to lpr).
You can print directly from gs, I've done it on OS/2 by specifying "lpt1" as the output device, but printing to a remote printer I need lpr and lpd to handle transmitting the job, so this way works better for me.
Regards, Clayton Weaver @email{cgweav@eskimo.com} (Seattle)
To print toto.ps on my deskjet, I hit:
> gsdj toto.ps
where `gsdj' is
#!/bin/sh # 05-06-1996 # to print a PostScript file using ghostscript onthe # deskjet 500 (dj) or the printer specified via the # environment variable LPOPTS # using ghostscript # exec gs -q -dNOPAUSE -sPAPERSIZE=a4 -sDEVICE=djet500 \ exec gs -q -dNOPAUSE -sPAPERSIZE=a4 -sDEVICE=deskjet \ -sOutputFile="|lp -onb -ddj -or $LPOPTS " $* quit.ps
To use these examples, first see section Configuration files, items `DefaultPrinter:', `UnknwonPrinter:' and `Printer:'. The translations would be in one of your configuration files, say `$HOME/.a2ps/a2psrc':
Printer: lpt1 | gs -q -sDevice=bj200 -sOutputfile=- -r360 -dNOPAUSE \ -dSAFER > lpt1 UnknownPrinter: | gs -q -dNOPAUSE -sPAPERSIZE=a4 -sDEVICE=deskjet \ -sOutputFile="|lp -onb -ddj -or %s " quit.ps
You are currently printing with a bad media, for instance using A4 paper within @pack{}, while your printer uses Letter paper. See section Global behavior, option `--media' for more.
Please, help us internationalizing @pack{}. If you want to do a profound translation work, contact us. Having a look at the files `po/*.po' is also very informative.
If you are ready to help just a bit, it is simple too: on @pack{}'s web page, in the internationalization section, there are some pointers to files. Filling some blanks in thoses files is definitely a great help.
yacc
and suchThere are several reasons why we decided not to use grammars to parse the files.
First it would have made the design of the style sheets much more tricky, and today @pack would know only 4 or 5 languages.
Second, it limits the number of persons who could build a style sheet.
Third, mixing several parsers within one program is not easy. Moreover, its size would have ten times what it is.
Fourth, we did not feel the need for such a powerful tool: handling the keywords and the sequences is just what the users expect.
And last but not least, using a parser requires that the sources are syntactic bug free, which is a strong requirement.
Nevertheless, PreScript
gives the possibility to have on the one
hand a syntactic parser which would produce PreScript
code, and
on the other hand, @pack{}, which would make it PostScript. This schema
seems to us a good compromise.
There are no man pages because now the documentation is written in Texinfo. What you are reading comes from this initial Texinfo file.
Nevertheless, man pages may be back from Hell the day a
texi2roff
filter appears.
Well, no. We worked on the 13 standard fonts, that are available in any printer. You could easily make the PostScript prologues download another fonts, but the problem is that the fonts characteristics (width of the characters) are hard coded in @pack{}. This is because it is easier, faster, and because @pack is defintitely not Word.
If you need to deal with several various fonts, then GNU enscript
is exactly the tool you need.
@pack should be able to generate EPS files in a short while.
When printing a human file (only English may be supported), spelling should be checked. When pretty-printing, syntax errors should be underlined.
No just kidding :). Do it yourself...