13 lines
9.1 KiB
Plaintext
13 lines
9.1 KiB
Plaintext
en·vÅos HPGL
|
||
2
|
||
|
||
4
|
||
|
||
1
|
||
|
||
HPGL
|
||
1
|
||
|
||
4
|
||
|
||
By: Christopher Lane (Lane@Sumex-Aim.Stanford.Edu)
|
||
HPGL defines a Lisp image stream type that generates output for plotters (and other devices) which use the Hewlett-Packard Graphics Language. The module does not define any user functions, the HPGL streams are accessed via OPENIMAGESTREAM and the hardcopy functions.
|
||
PLOTTERS
|
||
Some plotters which use HPGL either as their primary language or as an optional extra:
|
||
Hewlett-Packard (most) Epson America HI-80 (option)
|
||
Facit 4551 Western Graphtec MP1000 and FP5301 (option)
|
||
Gould Color-writer 6120 and 6320 Houston Instrument DMP-29 (option)
|
||
Taxan 710 Nicolet Zeta 8 (option)
|
||
IBM 7371
|
||
Roland DYX-880 and 980 (source: PC, Volume 4, Number 26, December 1984)
|
||
The file extensions HPGL and PLOT are recognized by the system as plotter output file types.
|
||
OPTIONS
|
||
The driver accepts the following in the OPTIONS argument to OPENIMAGESTREAM:
|
||
SCALE Image scaling; value should be a POSITION record which indicates where the second scaling point should be placed (the initial scaling point is at 0,0). By default, uses (SCREENWIDTH . SCREENHEIGHT).
|
||
ROTATE Paper rotation; value should be 0 or 90, defaults to landscape plotting (0).
|
||
PAPER Paper size; value is a small integer, the HP 7475A accepts 3 (A3) or 4 ( A4).
|
||
TERMINATOR Label terminator character; value should be a character, the default is ©^A¹.
|
||
VELOCITY Pen velocity; plotter specific.
|
||
IMPLEMENTATION
|
||
The driver was implemented using an HP 7475A plotter but the plotter output conforms to the more restrictive HP 9872 syntax to be more widely applicable. The driver uses the following variables which may need adjustment for other types of plotters:
|
||
HPGL.FONTS An ALST of font names and (small integer) plotter font numbers.
|
||
HPGL.OPTIONS An ALST of plotter specific options that can be passed to OPENIMAGESTREAM and the corresponding HPGL command to print.
|
||
HPGL.DASHING An ALST of HPGL line types (small integers) and dashing lists.
|
||
HPGL.FONT.EXPANSIONS An ALST of font face expansions (REGULAR, COMPRESSED and EXPANDED) and the relative scale of each.
|
||
HPGL.TERMINATOR The default end of instruction terminator character, initially ©;¹.
|
||
HPGL.SEPARATOR The default parameter separator character, initially ©,¹.
|
||
HPGL.TEXT.TERMINATOR The default end of label terminator character, initially ©^A¹.
|
||
HPGL.CHORD.ANGLE The chord angle used by the circle and arc instructions. Defaults to NIL which causes the plotter's default to be used.
|
||
HPGL.PATTERN.LENGTH The default pattern length for the hardware dashing. Defaults to NIL which causes the plotter's default to be used.
|
||
COLORNAMES System variable used to convert between RGB triples and pen numbers. The order of entries affects the pen number to color correspondences.
|
||
DASHING
|
||
To minimize the complexity of the driver and maximize the speed of plotting, for operations other than DRAWLINE, the driver only uses the built-in dashing types of the plotter. The correspondences between the dashing style and HPGL line type number are kept in the HPGL.DASHING variable which can be modified or extended for plotters with different dashing styles than those displayed below:
|
||
((SKETCH NIL SKETCHCONTEXT ((ROUND 1 0) (HELVETICA 10) (CENTER BASELINE) (LINE 30.0 12) NIL NIL (CENTER CENTER) (NIL NIL) T NIL NIL 1.0) VERSION 3) ((0.05 13.0 NIL) (TEXT (56.0 . 184.0) ("2") 1.0 (CENTER BASELINE) (TERMINAL 10 (MEDIUM REGULAR REGULAR)) ((53.0 180.5 6.0 13.0)) NIL)) ((0.05 13.0 NIL) (TEXT (56.0 . 160.0) ("3") 1.0 (CENTER BASELINE) (TERMINAL 10 (MEDIUM REGULAR REGULAR)) ((53.0 156.5 6.0 13.0)) NIL)) ((0.05 13.0 NIL) (TEXT (56.0 . 136.0) ("4") 1.0 (CENTER BASELINE) (TERMINAL 10 (MEDIUM REGULAR REGULAR)) ((53.0 132.5 6.0 13.0)) NIL)) ((0.05 13.0 NIL) (TEXT (56.0 . 112.0) ("5") 1.0 (CENTER BASELINE) (TERMINAL 10 (MEDIUM REGULAR REGULAR)) ((53.0 108.5 6.0 13.0)) NIL)) ((0.05 13.0 NIL) (TEXT (56.0 . 88.0) ("6") 1.0 (CENTER BASELINE) (TERMINAL 10 (MEDIUM REGULAR REGULAR)) ((53.0 84.5 6.0 13.0)) NIL)) ((0.0 124.0 NIL) (WIRE ((72.0 . 88.0) (320.0 . 88.0)) (ROUND 1 0) NIL (25 5 5 5 5 5) 1.0 NIL NIL)) ((0.0 124.0 NIL) (WIRE ((72.0 . 112.0) (320.0 . 112.0)) (ROUND 1 0) NIL (35 5 5 5) 1.0 NIL NIL)) ((0.0 124.0 NIL) (WIRE ((72.0 . 136.0) (320.0 . 136.0)) (ROUND 1 0) NIL (39 5 1 5) 1.0 NIL NIL)) ((0.0 124.0 NIL) (WIRE ((72.0 . 160.0) (320.0 . 160.0)) (ROUND 1 0) NIL (35 15) 1.0 NIL NIL)) ((0.0 124.0 NIL) (WIRE ((72.0 . 184.0) (320.0 . 184.0)) (ROUND 1 0) NIL (25) 1.0 NIL NIL)) ((0.0 124.0 NIL) (WIRE ((72.0 . 64.0) (320.0 . 64.0)) (ROUND 1 0) NIL NIL 1.0 NIL NIL)) ((0.05 13.0 NIL) (TEXT (56.0 . 208.0) ("1") 1.0 (CENTER BASELINE) (TERMINAL 10 (MEDIUM REGULAR REGULAR)) ((53.0 204.5 6.0 13.0)) NIL)) ((0.0 124.0 NIL) (WIRE ((72.0 . 208.0) (320.0 . 208.0)) (ROUND 1 0) NIL (1 49) 1.0 NIL NIL)) ((0.05 13.0 NIL) (TEXT (336.0 . 208.0) ("(1 49)") 1.0 (LEFT BASELINE) (TERMINAL 10 (MEDIUM REGULAR REGULAR)) ((336.0 204.5 36.0 13.0)) NIL)) ((0.05 13.0 NIL) (TEXT (336.0 . 184.0) ("(25)") 1.0 (LEFT BASELINE) (TERMINAL 10 (MEDIUM REGULAR REGULAR)) ((336.0 180.5 24.0 13.0)) NIL)) ((0.05 13.0 NIL) (TEXT (336.0 . 160.0) ("(35 15)") 1.0 (LEFT BASELINE) (TERMINAL 10 (MEDIUM REGULAR REGULAR)) ((336.0 156.5 42.0 13.0)) NIL)) ((0.05 13.0 NIL) (TEXT (336.0 . 136.0) ("(39 5 1 5)") 1.0 (LEFT BASELINE) (TERMINAL 10 (MEDIUM REGULAR REGULAR)) ((336.0 132.5 60.0 13.0)) NIL)) ((0.05 13.0 NIL) (TEXT (336.0 . 112.0) ("(35 5 5 5)") 1.0 (LEFT BASELINE) (TERMINAL 10 (MEDIUM REGULAR REGULAR)) ((336.0 108.5 60.0 13.0)) NIL)) ((0.05 13.0 NIL) (TEXT (336.0 . 88.0) ("(25 5 5 5 5 5)") 1.0 (LEFT BASELINE) (TERMINAL 10 (MEDIUM REGULAR REGULAR)) ((336.0 84.5 84.0 13.0)) NIL)) ((0.05 13.0 NIL) (TEXT (336.0 . 64.0) ("NIL") 1.0 (LEFT BASELINE) (TERMINAL 10 (MEDIUM REGULAR REGULAR)) ((336.0 60.5 18.0 13.0)) NIL)))
|
||
(53.0 60.5 367.0 157.0)
|
||
1.0
|
||
8.0
|
||
|
||
If the driver is loaded after SKETCH, the dashing types are added to SKETCH's dashing menu . |