Virtual Diablo 630 Printer
This device accepts text and ESC sequences for a Diablo 630 Printer,
or one of it's clones, and produces PostScript output to a file.
Through the use of "job end" actions, that output may be printer or
otherwise handled.
Properties (or parameters) are:
- diablo630_cpi
- (or "cpi=") The default CPI setting, either 10, 12, or 15.
- diablo630_lpi
- (or "lpi=") The default (initial) LPI setting, either 6 or 8.
- diablo630_font
- (or "font=") The default (initial) Font to use. Syntax is
Name Style Size
(or "Name,Style,Size")
Where "Name" is a valid string for the host computer's installed
fonts. Also accepts Java generic fonts such as "Monospaced".
"Style" is things like "PLAIN". "Size" is the point size,
typically things like "12" for 10 cpi printing.
- diablo630_paper
- (or "paper=") The default (initial) Paper to use. Syntax is
Param ...
(or "Param,...") Where params are some meaningful combination of:
- LETTER
- U.S. Letter sized paper, 8.5x11
- LEGAL
- U.S. Legal sized paper, 8.5x14
- FORMS
- Computer forms, 14x11
- PORTRAIT
- Portrait orientation
- LANDSCAPE
- Landscape orientation
- GREENBAR
- (Experimental) Vintage computer green-bar pattern
- diablo630_file
- (or "file=") The initial file to use for output.
Especially handy when used as a parameter for multiple
printers on a server, to ensure each has a unique and separate
output file.
- diablo630_nogui
- (or "nogui") Do not create/display the printer control console.
Useful for CP/Net server applications, especially if multiple
printers are being created.
- diablo630_jobend
- The action to take when a job ends (e.g. ENDLIST.COM is run).
Value syntax is:
- DISCARD
- Throw away output and start next job with empty file.
Not terribly useful.
- SAVE
- Rename file to a "unique" name. Current built-in filename pattern
is "jobYYYYMMDDHHMMSS.S.ps", where the upper-case letters represent
the digits of the current date and time.
Future: allow specification of pattern.
- QUEUE command...
- Execute command, presumably to queue the output to a printer.
The command is scanned for "%f" which will be replaced with the current
output file name. The output will be discarded after the command completes.
This command should not produce any stdout or stderr output, and should
return promptly (i.e. be well-behaved). Typical command for a Linux system
with CUPS, and having a default printer set, might be "lpr %f".
The printer queue must be capable of (possibly using special options) processing PostScript.
No special shell syntax is allowed, such as redirection, variable substitution, or quoting.
The command itself, though, may be a shell script (for example, a wrapper around
some more complex command).