# GRAPHCAP -- Graphics device capabilities. # # You should NOT modify this file! Rather create a local graphcap file # and include it first in the system .sm file. For example: # +graphcap /usr/lib/sm/graphcap.local # graphcap /usr/lib/sm/graphcap # This will save you much grief. # # NOTE: Changes to this file may not take effect immediately. The entries # for selected devices are precompiled. For a list of devices for which # the graphcap entry is precompiled see "cacheg.dat" in the devices source # directory # # Various of the hardcopy devices use rsh (i.e. they assume unix) to print # on remote devices. To use rsh like this you'll need to put the remote # machine in your .rhosts file at the remote end. Note that the name of the # machine is in $1, the name of the printer is in $2 (if required) # # First any macro definitions for SY: # IMAGEN = imagen # this should really be in graphcap.local # # Next the compiled devices: # nodevice|null|The null device:\ :DV=nodevice: rs6000|risc6000|ibm6000|RISC 6000 using SGI's GL. Not tested:\ :DV=sgi: sgi|Silicon Graphics Iris using the GL:\ :DV=sgi: sunwindows|Sunwindows - needs gfxtool:\ :DV=sunwindows: sunview|SunView:\ :DV=sunview: svga|SVGA|svgalib:\ :DV=svgalib: upc|An AT&T 3B1:\ :DV=upc: xwindows|X10|x10|X10R4:\ :DV=xwindows: x11|X11|X11R4:\ :DV=x11:ch#1:cw#1:TB=OK: bgi|Borland Graphics Interface:\ :DV=bgi: win|msw|Microsoft Windows API:\ :DV=msw: vaxuis|VAXUIS|VAX/VMS UIS driver:\ :DV=vaxuis: os2pm|pm|IBM OS/2 Presentation Manager:\ :DV=os2pm: # # STDGRAPH devices. # # A tek4012 without cursor saving (see hard4012) # tek4010|tek4012|TEK4010|TEK4012|tektronix 4010/2:\ :ch#.0285:cw#.0135:co#80:li#35:\ :MC=^M:CL=^[^L:CN#6:GD=^[2:GE=^[1^]:\ :ML=^[(1$0)`($1)a($2)c($3)d($4)b($D)`($$):lt=01234:\ :MS=^\:ME=^]:RC=^[^Z:SC=(,!3, & *, &+!1, & *, &+!2:\ :TB=^]%t^_:VS=^_^]:\ :xr#1024:XY=%t:yr#780: pericom|gterm|GTERM|PERICOM|Pericom:\ :GE=^]:GD=^X:\ :tc=tek4012: # Kermit color selection is by escape sequence ^[[Pn;Pn;Pn m # Parameters Pn are # 0 - dim # 1 - bold # 3x - foreground color x # 4x - background color x # Recognized colors are # 0 - black (bold black is gray) # 1 - red # 2 - green # 3 - yellow # 4 - blue # 5 - magenta # 6 - cyan # 7 - white # Text and graphics screen colors are independent; commands seem to # apply to whichever screen is active when received. kermit|kermit v3.0x tektronix emulator:\ :DC=white:CS=8:CO= :\ :CT=^[[1;40;3(1$0)7($1)7($2)0($3)1($4)2($5)4($6)6($7)5($8)3($$)m:\ :GE=100^[[?38h:GD=100^[[?38l:tc=tek4010: inversekermit|kermit v 3.0x tektronix emulator with inverse video graphics:\ :CT=^[[1;47;3(1$0)0($1)7($2)0($3)1($4)2($5)4($6)6($7)5($8)3($$)m:\ :DC=black:tc=kermit: noswitch|kermit without switching away from graphics screen:\ :GD=^M^[[0H^[[K:yr#700:tc=kermit: kermit2.3|kermit v2.3 tektronix emulator:\ :GE=100^[[?38h:GD=100^[[?38l:tc=tek4010: televideo|televideo912|TELEVIDEO|TELEVIDEO912|912cy|Televideo 912:\ :GD=^_^X:tc=tek4012: ansigraph|atari|ANSIGRAPH|ATARI|AnsiGraf tektronics emulator on Atari ST:\ :GE=^]:GD=^X:lt@:\ :tc=tek4012: falco|FALCO|falco 5220e:\ :yr#733:GD=^[[<1a:GE=^[[<2a:XY=(2#15+!2)%t:tc=tek4012: graphon|GRAPHON|graphon GO-250 (with erase):\ :xr#4096:XY=%T:yr#3168:\ :OW=^[P1;1'%|251/q^[\\^[P1;1'%|253/p^[\\^[P1;1'%|255/e^[\\^[1^]^[2:\ :SC=(,!3, & *, &+^D*!1, & *, &+^D*!2:\ :lt=01234\:;:CW=^[1^]^[^A^[2:TB=^]%T^_:\ :ML=^_^[(1$0)`($1)a($2)c($3)d($4)b($\:)`^[^P($;)^[^A($$:\ :GD=^[2:GE=^[1^]:RH=^[1^]^[2:tc=selanar: sqgrap|SQGRAP|graphon set up to be square:\ :xr#3168:cw#.0164:tc=graphon: selanar|hirez|SELANAR|HIREZ|selanar hirez 100xl:\ :co#74:li#35:\ :GD=^[2^[8:GE=^[7^[1^]:lt=014:\ :ML=^_^[(1$0)`($1)a($2)c($3)d($4)b($5)x($$):\ :OW=^[7^[1^[O^[L^L^O\377\377^L^O\377\377^[1^]^_:VS=^]:\ :tc=tek4012: decpro|DECPRO|DecPro in tek mode (use termtype dumb):\ :ch#0.03:cw#0.02:CL=^_^[H^[J:GD=^_(#10!!)^[^N:GE=^[^P^]:tc=tek4012: em4010|EM4010|PC 4010 emulator:\ :GE@:tc=tek4010: em4010d|EM4010D|PC 4010 emulator with 1s delay on entry to graphics:\ :GE=^[2(#1000!!:tc=hirez: esprit|ESPRIT|Executive 10/102:\ :tc=hirez: xterm|XTERM|Xterm tektronix emulator:\ :ch#0.025:cw#0.015:\ :GE=^[[?38h:GD=^[^C:MC=?????:CN#-5:lt@:\ :tc=tek4012: macvt|versaterm|MACVT|VERSATERM|Macintosh VersaTerm Tek4014:\ :lt=01234:GD=^[2:GE=^]:\ :ML@:\ :tc=tek4012: vt640|vt640g|VT640|VT640G|vt100 with Retrographics:\ :CL=50^]^[^L:GD=^X:RC=^]^["54g:\ :tc=tek4012: tek4014|TEK4014|tektronix 4014:\ :OW=^[^O^[9:SC=(,!3, & *, &+^D*!1, & *, &+^D*!2:\ :xr#4096:XY=%T:yr#3168:TB=^]%T^_:\ :tc=tek4012: vt240|vt125|VT240|VT125|vt240 or vt125 in ReGIS mode (use termtype dumb):\ :ch#.02:cw#.0125:li#23:co#80:\ :xr#767:yr#479:OW=^[PpP[400,230]S'(C0'):CW=^[\134^[[0;0H^[[0J:\ :LR=(#478!6:GE=^[Pp:GD=^[\134^[[0;0H:CL=^[\134^[[J^[PpS'(E'):\ :VS=^[PpP:DS=V:XY=[(1)%d,(62-)%d]:\ :TB=P[(1)%d,(62-)%d]T":TE=";:\ :RC=^[PpR'(P'(I')');:CN#-6:MC=?[#*,#*]^M:\ :SC=(#0!1#0!2,!3,#0!8,#48-!99$0-91#10*9+!1#1!8$$8#1=#-39;\ #0!8,#48-!99$0-92#10*9+!2#1!8$$8#1=#-39;62-!2): hard4010|hard4012|HARD4010|HARD4012|a real tektronix 4010/2:\ :CL=(#32!9)^[^L:CW=(#682!2#0!1)^]%t^_:\ :GD=(9#1-!99$0#31!9$$9#22*!2#0!1)^]%t^_:GE=^]^_:LR=(#32!9:\ :tc=tek4012: # # Various pseudo-terminals # # Use the generic raster device # # First some pseudo-raster devices such as bitmap files # screen80|A *** plot on the screen (width 80):\ :DV=raster:xr#80:yr#48:OF=ras_XXXXXX:BP=*:EP= :ER=\n:\ :SY=${BIN}/rasterise -r $0 $F $1: screenr80|Screen 80 rotated through 90 degrees:\ :xr#48:yr#80:SY=${BIN}/rasterise -Rr $0 $F $1:\ :tc=screen80: screen132|A *** plot on the screen (width 132):\ :xr#132:tc=screen80: tty|plot with *'s on a dumb text-only tty:\ :yr#23:SY=${BIN}/rasterise -r $0 $F - | unexpand -a:tc=screen80: pbm|PBM|Portable BitMap (raw), 512x512:\ :DV=raster:xr#512:yr#512:\ :OW=P4 512 512\n:\ :BP=\200\100\040\020\010\004\002\001:\ :OF=pbm_XXXXXX:SY=${BIN}/rasterise -r $0 $F $1: ppm|PPM|Portable PixelMap (raw), 512x512:\ :DV=raster:xr#512:yr#512:CL:\ :EP=\001:OW=P6 512 512 255\n:\ :OF=ppm_XXXXXX:SY=${BIN}/rasterise -r $0 $F $1: blackppm|BLACKPPM|Portable PixelMap (raw), black background, 512x512:\ :EP=\002:DC=white:tc=ppm: smallppm|SMALLPPM|Portable PixelMap (raw), 256x256:\ :xr#256:yr#256:\ :OW=P6 256 256 255\n:tc=ppm: gif|GIF|GIF via PPM (using ppmtogif), 512x512:\ :SY=${BIN}/rasterise -r $0 $F - | ppmtogif > $1:\ :tc=ppm: # :SY=${BIN}/rasterise -r $0 $F - | ppmtogif | xv -geom +1+1 -:\ smallgif|SMALLGIF|small gif (using ppmtogif) 256x256:\ :SY=${BIN}/rasterise -r $0 $F - | ppmtogif > $1:\ :tc=smallppm: blackgif|BLACKGIF|GIF via PPM (using ppmtogif), black bkgd, 512x512:\ :SY=${BIN}/rasterise -r $0 $F - | ppmtogif > $1:\ :tc=blackppm: sunraster|Sunraster file, 512x512:\ :DV=raster:xr#512:yr#512:\ :OW=(#89.#166.#106.#149.)(#0.#0.#1.#128.)(#0.#0.#2.#0.)\ (#0.#0.#0.#1.)(#0.#0.#96.#0.)(#0.#0.#0.#1.)(#0.#0.#0.#0.)\ (#0.#0.#0.#0.):\ :BP=\200\100\040\020\010\004\002\001:\ OF=sunrast_XXXXXX:SY=${BIN}/rasterise -r $0 $F $1: # # And some real printers # test480|new EPSON Dot Matrix at 480 bits per 8" line; makes 8" square:\ :DV=raster:xr#480:yr#576:OF=rdm_XXXXXX:MR:\ :OW=\033\063\030\015\012:CW=\033\062\015\012:\ :BR=\033\113\340\001:ER=\015\012:\ :SY=${BIN}/rasterise -r $0 $F $1: # :SY=${BIN}/rasterise -r $0 $F $1;cat $1 > /dev/rawlp: dm480|EPSON Dot Matrix at 480 bits per 8" line; makes 8" square:\ :DV=raster:MR:nb#1:xr#480:yr#576:OF=rdm_XXXXXX:\ :OW=\033\063\030\015\012:CW=\033\062\015\012:\ :BR=^[K\340^A:ER=^M^J:\ :SY=${BIN}/rasterise -r $0 $F - | lpr -P${PRINTER}: dm960|IBM/EPSON at 960 bits per 8" line:\ :xr#960:BR=^[L\300^C:tc=dm480: dm480_full|IBM/EPSON full page (8" by 11.5"):\ :yr#792:tc=dm480: dm960_full|IBM/EPSON full page (8" by 11.5"):\ :yr#792:tc=dm960: hprr|HPRR|HP RuggedWriter 480:\ :DV=raster:xr#1224:yr#1000:OW=^[*t90R^[*r1224S^[*r0A:CW=^[*rB:\ :BR=^[*b153W:BP=\200\100\040\020\010\004\002\001:\ :OF=hp_XXXXXX:\ :SY=${BIN}/rasterise -r $0 $F - | lp -oraw -onb -opr: hprrfile|HP Rugged Writer to a file:\ :SY=move $F $1:TC=hprr: # # Note that the Deskjet cannot be used in 300 dpi mode under dos/win 3.1, # as rasterise doesn't use an extender, and cannot handle such a big plot area # deskjet|Deskjet 520 in 150 dpi mode; highest DOS resolution:\ :tc=deskjet-150: deskjet-300|DeskJet 520, 300 dpi (not usable with DOS) printing to a file:\ :DV=raster:xr#2400:yr#2400:OW=^[*t300R^[*r2400S^[*r2Q^[*r0A:\ :CW=^[*rbC^[&l0H:\ :BR=^[*b300W:BP=\200\100\040\020\010\004\002\001:\ :OF=hp_XXXXXX:\ :tc=hprrfile: deskjet-150|DeskJet 520, in 150 dpi mode, printing to a file:\ :DV=raster:xr#1200:yr#1200:OW=^[*t150R^[*r1200S^[*r2Q^[*r0A:\ :BR=^[*b150W:\ :tc=deskjet-300: deskjet-100|DeskJet 520, in draft mode at 100dpi, printing to a file:\ :DV=raster:xr#800:yr#800:OW=^[*t100R^[*r800S^[*r1Q^[*r0A:\ :BR=^[*b100W:\ :tc=deskjet-300: deskjet-75|DeskJet 520, in draft mode at 75dpi, printing to a file:\ :DV=raster:xr#600:yr#600:OW=^[*t75R^[*r600S^[*r1Q^[*r0A:\ :BR=^[*b75W:\ :tc=deskjet-300: laserjet2|LASERJET2|HP laserjet II (very high resolution, landscape):\ :DV=raster:xr#3000:yr#2448:OW=*t300R&l26A*r0A:\ :BR=^[*b306W:\ :SY=${BIN}/rasterise -r -R $0 $F - | lp -oraw -onb -opr:tc=hprr: laserjet|LASERJET|HP laserjet (high resolution) (untested):\ :DV=raster:xr#1280:yr#640:CW=^[*rB:OW=^[*r1280^[*rA:BR=^[*b160W:\ :tc=hprr: llaserjet|LLASERJET|HP laserjet (low resolution) (untested):\ :xr#640:OW=^[*r640^[*rA:BR=^[*b80W:tc=hprr: hppl|HP Plotter 7475A|HP 1/1.3:\ :xr#7500:yr#10000:ch#0.03:cw#0.02:\ :CW=SP0;\n:\ :OW=IN;PA1000,500;\n\033.I81;;17\072\n\033.N;19\072\n:\ :DC=black:CS=7:CO= :CT=SP(1$0)1($1)0($2)1($3-71#1-%d$8-9)1($$);\n:\ :DS=PAPD:TB=PAPU(1%d),(2%d);LB :TE=^C\n:VS=PAPU:\ :XY=(1%d),(2%d)\n:\ :OF=hppl_XXXXXX:SY=/u/bin/lpplot $F ; rm $F\n: # /u/bin/lpplot sets up the printer, and sends the plot hppl2|hpplot|hpplotter|HP Plotter 7475A|HP 1.4/1:\ :xr#10000:yr#7175:tc=hppl: # xr792 seems to fail in printronix printronix|PRINTRONIX|DEC printronix printer:\ :DV=raster:xr#780:yr#780:CW=^L:OW=^L:BR=@:ER=^E^J:\ :BP=\001\002\004\010\020\040:EP=\100:\ :OF=pr_XXXXXX:\ :SY=(${BIN}/rasterise -r $0 $F - | lpr)&: printronix_remote|PRINTRONIX_REMOTE|DEC printronix printer (xr#792 seems to fail):\ :SY=(cat $F|rsh $1 ${BIN}/rasterise $0 - -"|"lpr;rm $F)&:\ :tc=printronix: printronixl|PRINTRONIXL|landscape printronix (rotated 90deg and long):\ :yr#780:xr#1560:\ :SY=${BIN}/rasterise -rR $0 $F - | lpr&:\ :tc=printronix: versatec|VERSATEC|Versatec plotter (untested):\ :DV=raster:xr#2112:yr#1700:BP=\200\100\040\020\010\004\002\001:\ :OF=vers_XXXXXX:SY=rasterise -r $0 $F - | lpr -P${PRINTER} -v -h &: # # Now for some laser printers # # Note that we use registers 7,8 in postscript # 7 and 8 are used to insert `stroke' every R8 XY's # postscript|POSTSCRIPT|Postscript for square plots (8 x 8in):\ :xr#2390:yr#2390:ch#.0229:cw#.013:\ :CW=stroke\ngrestore\nshowpage\nend\n:\ :DE=L\n(7#1+!778<#11;#0!7)CS M\n:\ :dE=l\n(7#1+!778<#11;#0!7)CS M\n:vE=m :\ :OW='%!\ninitgraphics\n:\ :OX=(#22!9#300!8#0!7) 20 dict begin\n72 300 div dup scale\n\ 1 setlinejoin 0 setlinecap\n\ /Helvetica findfont 55 scalefont setfont \n\ /B {CS newpath moveto} def\n\ /F {moveto 0 setlinecap} def\n\ /C {CS M 1 1 3 {pop 3 1 roll 255 div} for SET_COLOUR} def\n\ /CS {currentpoint stroke} def\n\ /CF {currentpoint eofill} def\n\ /L {lineto} def /l {rlineto} def /M {moveto} def /m {rmoveto} def\n\ /P {moveto 0 1 rlineto stroke} def\n\ /T {currentlinecap exch 1 setlinecap show setlinecap} def\n\ errordict /nocurrentpoint {pop 0 0 M currentpoint} put\n:\ :OY=/SET_COLOUR statusdict begin /processcolors where\n\ ' {pop processcolors 1 gt} {false} ifelse\n\ ' {'(setrgbcolor')} {'(pop pop pop')} ifelse cvx end def\n:\ :OZ= 80 600 translate\ngsave\n:\ :ME=P\n:\ :PG=stroke showpage grestore gsave\n(#0!7:\ :VE=M :XY=(1%d) (2%d) :FS=(#0!7)B\n:FE=CF M\n:FD=(1%d) (2%d) L\n:\ :CT= (1%d) (2%d) (3%d) C\n:DC=black\ :TB=(1%d) (2%d) F '(:TE=') T\n:\ :lt=01234\:;:\ :ML=CS (1$0)[]($1)[6 12]($2)[32 24]($3)[80 24]($4)[6 12 32 12]\ ($\:)currentrgbcolor 5 3 roll 1 1 1 setrgbcolor []\ ($;)M setrgbcolor CS []($$) 0 setdash M\n:\ :LW=CS M (1|$0#1%d$D1%g) 100 mul 72 div($$) dup setlinewidth\n\ /P [ /moveto cvx 0 5 -1 roll .05 add dup -2 div 0 exch /rmoveto cvx \ /rlineto cvx /stroke cvx ] cvx def\n:\ :OF=ps_XXXXXX:\ :SY=lpr -r $F: post_remote|postscript_remote|Some postscript laser writer:\ :SY=cat $F | rsh $1 lpr -P$2 ; rm $F:tc=postscript: post_colour|post_color|Colour postscript printer:\ :OY=/SET_COLOUR { setrgbcolor } def\n:\ :SY=lpr -r -s -Pps_colour $F:\ :tc=postscript: postgray|postgrey|postscript with colours mapped to greyscale:\ :OY=/SET_COLOUR systemdict /colorimage known\n\ { '(setrgbcolor') } { '(add add 3 div setgray') } ifelse cvx def\n:\ :TC=postscript: postscript_bg|blackpostscript|postscript w. coloured background (default black):\ :LR=(#0!1#0!2#0!3:\ :OY=/SET_COLOUR { setrgbcolor } def\n:\ :OZ= 80 600 translate\n\ (1%d) (2%d) (3%d) SET_COLOUR\n\ 0 0 M 0 2390 L 2390 2390 L 2390 0 L CF\n\ 255 255 255 SET_COLOUR\n\ gsave\n:\ :DC=white:\ :tc=post_colour: postport|POSTPORT|Postscript for portrait mode full page plots:\ :yr#3200:xr#2390:\ :OZ= 80 50 translate\ngsave\n:tc=postscript: postport_remote|POSTPORT_REMOTE:\ :SY=cat $F | rsh $1 lpr -P$2 ; rm $F:tc=postport: postland|POSTLAND|Postscript driver for landscape plots compress y-axis:\ :xr#3200:yr#2390:cw#.0097:ch#.0229:\ :OZ= 2470 50 translate 90 rotate\ngsave\n:\ :tc=postscript: postland_remote|Some landscape postscript laser writer on a remote machine:\ :SY=cat $F | rsh $1 lpr -P$2 ; rm $F:tc=postland: postencap|encap|postfile|encapsulated postscript, written to file $1:\ :OW='%!PS-Adobe-2.0 EPSF-2.0\n'%'%Creator\: SM\n\ '%'%BoundingBox\: 18 144 592 718\n'%'%DocumentFonts\: Helvetica\n\ '%'%EndComments\n:\ :SY=mv $F $1:tc=postscript: postlandfile|postlandencap|encapsulated landscape postscript written to $1:\ :OW='%!PS-Adobe-2.0 EPSF-2.0\n'%'%Creator\: SM\n\ '%'%BoundingBox\: 22 16 596 784\n'%'%DocumentFonts\: Helvetica\n\ '%'%EndComments\n:\ :SY=mv $F $1:tc=postland: postportfile|postportencap|encapsulated portrait postscript written to $1:\ :OW='%!PS-Adobe-2.0 EPSF-2.0\n'%'%Creator\: SM\n\ '%'%BoundingBox\: 20 17 592 779\n'%'%DocumentFonts\: Helvetica\n\ '%'%EndComments\n:\ :SY=mv $F $1:tc=postport: postscript600|POSTSCRIPT600|Postscript for square plots (8 x 8in) at 600 dpi:\ :xr#4780:yr#4780:\ :OX=(#22!9#300!8#0!7) 20 dict begin\n72 600 div dup scale\n\ 1 setlinejoin 0 setlinecap\n\ /Helvetica findfont 110 scalefont setfont \n\ /B {currentpoint stroke newpath moveto} def\n\ /F {moveto 0 setlinecap} def\n\ /C {CS M 1 1 3 { pop 3 1 roll 255 div} for SET_COLOUR } def\n\ /CS {currentpoint stroke} def\n\ /CF {currentpoint eofill} def\n\ /L {lineto} def /l {rlineto} def /M {moveto} def /m {rmoveto} def\n\ /P {moveto 0 1 rlineto stroke} def\n\ /T {currentlinecap exch 1 setlinecap show setlinecap} def\n\ errordict /nocurrentpoint {pop 0 0 M currentpoint} put\n:\ :OZ= 160 1200 translate\ngsave\n:\ :TC=postscript: # # Postscript devices to produce postscript image files (can be smaller) # postimage|postimage300|postscript using the image command (8x8in, data in hex, 300dpi):\ :DV=raster:RD=hex:xr#2400:yr#2400:\ :OW='%!\n/buff 300 string def\n20 180 translate\n\ 8 72 mul dup scale\ngsave\n{ 1 exch sub } settransfer\n\ 2400 2400 1 [ 2400 0 0 -2400 0 2400 ]\n:\ :OX={ currentfile buff readhexstring pop }\nimage\n:\ :BP=\200\100\040\020\010\004\002\001:\ :CW=\ngrestore\nshowpage\n:OF=psrast_XXXXXX:\ :SY=${BIN}/rasterise -r $0 $F $1: # :SY=${BIN}/rasterise -r $0 $F - | ghostview -: postimage200|postscript as an image to a file (8x8in, data in hex, 200dpi):\ :xr#1600:yr#1600:\ :OW='%!\n/buff 200 string def\n20 180 translate\n\ 8 72 mul dup scale\ngsave\n{ 1 exch sub } settransfer\n\ 1600 1600 1 [ 1600 0 0 -1600 0 1600 ]\n:tc=postimage300: postimage100|postscript as an image to a file (8x8in, data in hex, 100dpi):\ :xr#800:yr#800:\ :OW='%!\n/buff 100 string def\n20 180 translate\n\ 8 72 mul dup scale\ngsave\n{ 1 exch sub } settransfer\n\ 800 800 1 [ 800 0 0 -800 0 800 ]\n:tc=postimage300: postimageb|postscript using the image command (8x8in, data in binary, 300dpi):\ :RD=:OX={ currentfile buff readstring pop }\nimage\n:tc=postimage: # # This actually for an HPGL emulator; in particular a real pen plotter # probably won't understand the LW entry (It'll try to change pens??) # hpgl|HPGL driver:\ :xr#1000:yr#720:OW=IN;IP;SC 0,999,0,719;\n:CW=^D\n:XY=(1%d),(2%d):\ :DS=PD :DE=;:VS=PU :VE=;:\ :LW=PT (1|!11$0#2!9$D1#1-#2*#3+!9$$9#10/%d).(9#10&%d);:\ :OF=hp_XXXXXX:SY=lpr -r -P$1 $F: realhpgl|mshpgl|A Real HPGL pen plotter. Probably the Microsoft Word version too:\ :LW@:tc=hpgl: # qmsp|QMSP|qms laser printer (portrait):\ :xr#7000:yr#9000:LR=(#9500!9:\ :CW=\^IGE\^-\^PN\^-\n:GD@:OF=qms_out:OF=qms_XXXXXX:DT=qms:\ :OW=\^PY\^-^M\^F\n\^IOP\^ISYNTAX00001\^IGV\^PW03\^V0\ \^IMH0000008500\^IMV0000011000:\ :RC@:\ :ML=\^V(1$0)0($1)2($2)3($4)1($5)7($6)8($$:lt@=012456:\ :MS=\^D:XY=(1%05d)\072(92-%05d:VS=\^U:DS=\^D:\ :SY=echo 'file is $F': # :SY=print/delete/notify/passall/que=$1 $F.: qms|qmsq|QMS|QMSQ|qms_square|qms laser printer, for square plots:\ :xr#7000:yr#7000:LR=(#7500!9:\ :tc=qmsp: qmsl|QMSL|qms laser printer (landscape):\ :xr#9500:yr#7500:LR=(#7500!9:\ :OW=\^PY\^-^M\^F\n\^IOL\^ISYNTAX00001\^IGV\^PW03\^V0\ \^IMH0000008500\^IMV0000011000:\ :tc=qmsp: # ln03|LN03|high resolution driver for ln03:\ :xr#4096:yr#3072:XY=%T:\ :CW=^[[?38l:GD@:OF=ln03_XXXXXX:OW=^[[?38h:RC@:\ :SY=write sys$output "Submitting $F" \n print/delete/pass/que=$1 $F.:\ :tc=tek4014: # :SY=lpr -r -P$1 $F:\ lln03|LLN03|low resolution driver for ln03:\ :xr#1024:yr#768:tc=ln03: # # These work for an ImageStation 8/300 at least. # In decoding the OW strings it might help to note that # \315 == SET_HV_SYSTEM, \207 == SET_ABS_H, \211 == SET_ABS_V # e.g. \211\002\356 == SET_ABS_V (02<<8 + 0356) (n.b. \377 == \0) # imagen|IMAGEN|imsq|IMSQ|im|IM|Imagestation/Imageserver 8/300 8"x8":\ :DV=imagen:xr#2390:yr#2390:\ :OW=\315\103\315\031\207\377\074\211\002\356\315\140:\ :OF=im_XXXXXX:DT=imagen:lt=0:\ :SY=ipr -r -D"prerasterization on" -D"jobheader onerr" -P${IMAGEN} $F: # :SY=cp $F \$HOME/imag.plot ; ipr -r -D"prerasterization on" -P$1 $F: import|IMPORT|Imagen 8/300, full page portrait plots:\ :DV=imagen:xr#2390:yr#3100:\ :OW=\315\103\315\031\207\377\036\211\377\226\315\140:\ :tc=imagen: imland|IMLAND|Imagen 8/300, full page landscape plots:\ :DV=imagen:xr#3100:yr#2390:\ :OW=\325\315\031\207\377\226\211\377\036\315\140:\ :tc=imagen: imagen2|IMAGEN2|imsq2|IMSQ2|Imagen 7320 or 2308, 8"x8":\ :OW=@document'(forceprerasterization on,language impress') \315\103\315\031\207\377\074\211\002\356\315\140:\ :SY=(echo Sending $F to pepap@cfa9, print by;\ echo IMPRINT /LANGUAGE=TRANSPARENT /QUEUE=IMxx $F.;\ netcp -u pepap -v $F cfa9\:\:d9a\:[pepap])&:tc=imagen: import2|IMPORT2|Imagen 7320 or 2308, full page portrait plots:\ :DV=xr#2390:yr#3100:\ :OW=@document'(forceprerasterization on,language impress') \315\103\315\031\207\377\036\211\377\226\315\140:\ :tc=imagen2: imland|IMLAND|Imagen 7320 or 2308, full page landscape plots:\ :DV=imagen:xr#3100:yr#2390:\ :OW=@document'(forceprerasterization on,language impress') \325\315\031\207\377\226\211\377\036\315\140:\ :tc=imagen2: # # Figures to go into documents; postencap could go here too # pic|the roff pic preprocessor; output on $1:\ :xr#2500:yr#2500:ch#0.02:cw#0.005:\ :OW=.PS\n:OX=scale=500:\ :OY=\ndefine m X move to $1,$2 X\ndefine l X line to $1,$2 X\n:\ :CW=.PE\n:\ :OF=tex_XXXXXX:SY=mv $F $1.pic:\ :TB=":TE="\n:LW=.ps (1|!11$0#1+!1$$1#8*%d)\n:\ :DS=l(:DE=)\n:VS=m(:XY=(1%d),(2%d):VE=)\n:\ :SY=mv $F $1: tpic|pic processed through tpic for TeX; output on $1.tex:\ :CW=.PE\n\\centerline{\\box\\graph}\\bye\n:\ :SY=mv $F $1.pic; tpic $1.pic; rm $1.pic:tc=pic: gpic|pic processed through gpic -t for TeX; output on $1.tex:\ :LW@:SY=mv $F $1.pic; gpic -t $1.pic > $1.tex; rm $1.pic:tc=tpic: # # Here are various entries that I haven't had a chance to test. In particular, # they may well have the wrong ltypes, and erase the screen at funny times. # televideo955|955cy|TELEVIDEO955|955CY|Televideo 955:\ :xr#720:yr#336:OW=^[m1^]^_:CW=^[m0^[[24;0H^[[0K:\ :GD=^[m0^[[24;0H^[[0K:GE=^[m0^[m1^]^_:\ :RC=150(^[m0)^[[24;75H^[m1^]^[^Z:CL=^[m0^[*^[m1^]^[^L:\ :tc=tek4012: tek4025|TEK4025|tektronix 2024/2025/4027:\ :ch#.02857:co#80:cw#.01351:li#34:\ :MC=^M:CL=`MON K\r`WOR 33 H\r`GRA 1,35\r`SHR\r`JUM 1\r:\ :CN#6:CW=`MON K\r`WOR 33 H\r:\ :GD=^_`JUM 34\r \r:\ :ML=`LIN ($1)(1#48+.)($D)1($$\r:lt=12345678:\ :OW=`MON K\r`WOR 33 H\r`GRA 1,35\r`SHR\r`JUM 1\r:\ :RC=^_^[^Z:SC=(,!3, & *, &+!1, & *, &+!2:TB=^]%t^_:VS=^]:\ :xr#1024:XY=%t:yr#800: wyse|wyse1575|WYSE|WYSE1575|Cleveland Codonics Wyse 1575:\ :OW=^[1XP512,400,LS0,ML0,^]:CW=^]^X^[[24;0H^[[0K:\ :CL=^[1E^_:ML=^]^[/(1$0)1d^[`($1-5)0d^[(1_+.$D)0d^[`($$:lt=012345:\ :GE=^]^_:GD=^[1,UMFFFFFFFFFFFFFFFF,ML1,M0,0,AR1023,21,ML0,^_:\ :RC=^]^[^Z^[^X:xr#1024:yr#800:\ :tc=tek4012: 414a|cit414a|414A|CIT414A|CIT-414a graphics terminal:\ :RC=20^[1^[^Z:OW=20^[1:CW=50^[2(#20!!)^[[24;0H^[[K:\ :GE=20^[1:GD=50^[2(#20!!)^[[24;0H^[[K:\ :CL=50^]^[^L(#50!!)^[2(#20!!)^[[J:\ :ML=^[(1$1-5)(1_+.$$:lt=12345:tc=tek4012: