.\" $Header: quicspool.l.backup,v 1.2 88/02/03 08:55:18 simpson Exp $ .\" $Log: quicspool.l.backup,v $ .\" Revision 1.2 88/02/03 08:55:18 simpson .\" added tpic support .\" .\" Revision 1.1 88/01/15 12:58:40 simpson .\" initial release .\" .\" Revision 0.1 87/12/11 17:56:59 simpson .\" beta test .\" .de BD .nf .in +3m .sp .. .de ED .fi .in -3m .sp .. .if t .ds TX T\h'-.1667m'\v'.22m'E\h'-.125m'\v'-.22m'X .if n .ds TX TeX .if t .ds LX L\v'-.22m'a\v'.22m'T\h'-.1667m'\v'.22m'E\h'-.125m'\v'-.22m'X .if n .ds LX LaTeX .TH QUICSPOOL 7 TRW .UC .SH NAME quicspool \- idiosyncracies of the QMS filters for the Berkeley spooling system .SH ORIGIN TRW .SH DESCRIPTION .I Quicspool is a set of filters for driving QMS or Talaris laser printers under the Berkeley spooling system. The filters have some features that are not documented in the manual pages. These features are described here. .PP Raw input files should be sent to .IR lpr (1) with the .B -l option. The raw option turns off translation of line feeds into carriage-return/line-feed combinations. Since the data sent to the printer is scanned by .IR lex (1), the ASCII null character should not be sent. .PP The \*(TX and device-independent troff (ditroff) printer filters recognize certain commands that are not part of standard \*(TX and ditroff. \*(TX recognizes the ``\especial'' command when it is given the keyword ``overlay'' followed by a file in parentheses. This file could possibly have been generated by a graphics package and should be a sequence of QUIC commands to dump out to the printer at that point in the \*(TX document. For example, the \*(TX command .BD \especial{overlay(\estring~/quicfile)} .ED would cause the filter to look for the file ``quicfile'' in the user's home directory and output it to the printer at that point. The ``\estring'' control sequence is necessary or \*(TX expands ~ into .BD \epenalty \e@M \e .ED which is not what you want. Ditroff also recognizes the ``overlay'' keyword but it has a different syntax. If you insert the command .BD \e!x X overlay(~/quicfile) .ED in your ditroff document, the contents of ``quicfile'' are dumped to the printer at that point. .PP Tilde escapes are recognized just as in the C shell; that is, names may be given after the tilde. Spaces are ignored in the string except within the keyword ``overlay'' or within the file name where they would serve as delimiters. Relative pathnames are not recommended since the filters run in the spooling directory of the printer. To preserve protections, the filters switch to the uid of the user after they begin execution. .PP The \*(TX driver also provides support for .IR tpic , a graphics drawing package for \*(TX that is equivalent to the .IR pic (1) program for AT&Ts device-independent troff. Tpic was written by Tim Morgan at UC Irvine (morgan@ics.uci.edu). .PP The \*(TX user can use his or her own fonts, possibly created by METAFONT, by giving a full pathname to \*(TX's font definition command or putting the appropriate fonts in the path of the TEXFONTS environment variable. Normally, \*(TX uses this path to search for \*(TX Font Metric (tfm) files for font width information. This path is also searched by the \*(TX filter for packed font raster files (pk format). A font file can be converted from the generic font format created by METAFONT to the pk format with the program .IR gftopk (1). Since the filter process is not an ancestor of the user's login shell, its execution environment is that of root. Consequently, the filter searches the ``.profile'' file (if you are using the Bourne or Korn shell) or the ``.cshrc'' and ``.login'' files (if you are using the C shell) for the TEXFONTS environment variable. The filter looks for a line of the form .BD TEXFONTS=... .ED or .BD setenv TEXFONTS ... .ED in the appropriate file and uses the string represented by the ellipses as the path for TEXFONTS. The filter recognizes continuation lines in the file but the path should not be surrounded by quotes since it does not do shell interpretation. Tilde escapes and the prefix $HOME are recognized in a shell pathname. There should be a single space before and after the word ``TEXFONTS'' when you are using the C shell. If the user is from a remote host, then obviously the environment variable scheme will not work so no files are searched. Also, fonts that are not loaded from the system font directory are deleted at the completion of every job. This way, users will not accidently use someone else's previously loaded font. .PP There are two queues for each printer\-one for portrait mode and one for landscape mode. The landscape queue normally has the same name as the portrait queue but the landscape queue's name is suffixed with an `l'. Suppose you have a portrait queue called ``grumpy'' and a corresponding landscape queue ``grumpyl''. If you queue a file to the grumpy queue and a file is already printing in the grumpyl queue, then when you do an .IR lpq (1) you will get a message .BD waiting for grumpy to become ready (offline ?) .ED stating that the grumpy job cannot begin until the grumpyl job is completed. You can list the grumpyl queue using the .B -P flag of lpq. .SH \*(TX FONTS It is important when using \*(TX to make sure that the size of the PK font you are requesting exists. If the size does not exist, then the closest size is selected. This can cause some strange output when a document is printed if you use a font that doesn't exist. Fonts normally have a name that looks something like .BD font\fId\fP.\fIm\fPpk .ED where ``font\fId\fP'' is the name of the font you give to \*(TX, .I d is the design size of the font (i.e., the size the font looks best at) and .I m is the magnification. Normally fonts are designed with a particular size in mind. For example, although cmr10.200pk and cmr5.400pk are both ten points high on a 200 dots per inch device, the cmr5 font is a magnified five point font that looks crummy at twice its regular size. The version designed for ten points has its characters thinned out and looks better at the size it was intended for. Some fonts look good at any magnification and these fonts normally have the .I d missing from the file name. .PP The equation 5\fIm\fP/1.5, where .I m is as above, gives the appropriate scale factor if you wish to declare a particular font to \*(TX. For example, if the largest cmr10 font is cmr10.746pk (i.e., \emagstep5), then you can declare this font in \*(TX by .BD \efont\ebigfont=cmr10 scaled 2487 .ED If you wish to declare a font using \*(TX's ``at \fIsize\fP'', you would use the equation \fIdm\fP/300. For example, you could also declare the cmr10 font by .BD \efont\ebigfont=cmr10 at 24.866pt .ED .SH GENERIC QUEUEING Lpr queues to a specific printer. If you wish to queue to any idle printer, you can use the .I glpr script. When your site has multiple printers, this script will look for an idle QMS printer if there is one, and queue to it. If it cannot find an idle printer, it will attempt to queue to a printer that is not stopped or disabled. If you wish to queue in landscape mode, give the .B -L option to the script. There is also a .I glpq script that prints out the jobs in each queue. .SH TROFF SCRIPTS There are two versions of troff on the market: C/A/T troff for the GSI CAT-4 phototypesetter and AT&T's ditroff, which supports a variety of devices. The quicspool software supports the QMS printer for both versions of troff. The naming convention for your troff varies depending on whether you have purchased ditroff or not. If you have a stock BSD system and you have not purchased ditroff, then the C/A/T troff will be named ``troff\|''. If you have purchased ditroff, then the C/A/T troff will be named ``otroff\|'' and ditroff will be named ``troff\|''. The C/A/T troff corresponds to the .B -t option of lpr and ditroff corresponds to the .B -n option. Unfortunately, you can not simply pipe output from either troff directly into lpr and get correct output. Instead, use the script .I qtroff if you wish to use the C/A/T troff and .I ditroff if you wish to use the device-independent troff. You needn't pipe the output from these scripts into lpr. The scripts queue the output automatically. .PP Since both troff and lpr have some conflicting options, the scripts need to resolve who to pass the flags to on the command line. The flags are passed as follows: .sp .in +1i .ta +1i to otroff \fIo\fP,\fIn\fP,\fIm\fP,\fIR\fP,\fIi\fP,\fIq\fP,\fIf\fP,\fIb\fP,\fIa\fP,\fIp\fP,\fIF\fP .br to ditroff \fIo\fP,\fIn\fP,\fIm\fP,\fIR\fP,\fIi\fP,\fIq\fP,\fIz\fP,\fIa\fP,\fIT\fP .br to lpr \fIP\fP,\fI#\fP,\fIC\fP,\fIJ\fP,\fI1\fP,\fI2\fP,\fI3\fP,\fI4\fP,\fIw\fP,\fIl\fP,\fIt\fP,\fId\fP,\fIg\fP,\fIv\fP,\fIc\fP,\fIr\fP,\fIM\fP,\fIh\fP,\fIs\fP,\fIL\fP .in -1i .sp Notice that .B -m option of lpr and the .B -r option of troff are not available. If you wish to pass these two options on to lpr or troff, you can use the capital letters .B -M and .BR -R , respectively. Since these scripts call .I glpr you can give the option .B -L to get landscape mode output. .PP If you are running .IR eqn (1) or .IR pic (1) and you are running ditroff, you will need to give the .B -Tqms flag to eqn and/or pic. .IR Tbl (1) does not need such a flag. If your system administrator has not installed the appropriate changes to your ditroff version of eqn and pic, try using the .B -TX9700 flag instead. If you have ditroff and you wish to pipe the output from eqn to .I qtroff instead of .IR ditroff , you will need to give the .B -Tcat option to eqn to generate output for the C/A/T phototypesetter. .PP The bell system logo (\e(bs) has been replaced by the TRW logo (\(bs) in both versions of troff. .SH FILES .nf .ta \w'--WBTEX-- 'u --WBTEX-- \*(TX write-black engine font directory --WWTEX-- \*(TX write-white engine font directory --OFONT-- old troff font directory --DIFONT-- device independent troff font directory --FILTER-- filter directory .fi .SH AUTHOR Scott Simpson .SH SEE ALSO csh(1), eqn(1), gftopk(1), ksh(1), lex(1), lpq(1), lpr(1), lprm(1), mf(1), pic(1), sh(1), tbl(1), tex(1), troff(1), lpc(8) .SH BUGS Shading of ellipses in .I tpic does not work.