1
0
mirror of synced 2026-01-12 00:42:56 +00:00
2020-11-15 19:22:14 -08:00

13 lines
9.1 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 .(LIST ((PAGE NIL (PAPERSIZE LETTER FOLIOINFO (ARABIC "" "") STARTINGPAGE# 109) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))2<00>Ô<00>,È-ÈT2`Ô`2Ø2Ø2ÈÈ,È2Ø,Ô ,È,ŠŠ8,ŠŠ8HÈÈ PAGEHEADING RUNNINGHEAD CLASSICCLASSICCLASSICTERMINAL
MODERN
MODERNMODERNMODERN
MODERN
MODERN MODERN   HRULE.GETFNMODERN
 
 HRULE.GETFNMODERN
 
 HRULE.GETFNMODERN
  
  HRULE.GETFNMODERN 

 HRULE.GETFNMODERN 
 4  K !  W 4 7 D "    % \ M °  <  T Y ( ú K  L x T I T Š   ˆ 
V SKIO.GETFN.2MODERN
\  nzº