|  |     Below is vtprint.com - a DCL com file I use to send pictures from VMS to
    the terminal or terminal emulator's printer port.  Any decent VT
    terminal emulator should support a printer port since that is part of
    the terminal they are emulating.  I've not used Handshake so I don't
    know if it offers this.
    
    To use:
    $ @vtprint vms_text_or_picture_file
    
    
$!===============================\           /==================================
$	TITLE	=		   "VTPRINT"
$!===============================/           \==================================
$	VERSION	=	"version 7.2"
$	REV_DATE=	"10-Oct-1989"
$	AUTHOR	=	"R. T. Belanger"
$!
$	ON CONTROL THEN GOTO PORTOFF
$	ON ERROR   THEN GOTO PORTOFF
$	abort_on_control = 0
$	W := WRITE SYS$OUTPUT
$	wait_time := 00:00:05
$	page_size = 0
$	IF p2 .EQS. "LINES" THEN  page_size = p1
$	IF p2 .EQS. "LINES" THEN  p1 = ""
$	IF p3 .NES. "" .AND. p1 .EQS. ""  THEN p1 = p3
$	IF p2 .NES. "LINES" .AND. p2 .NES. ""  THEN page_size = p2
$	DCS[0,8]= %X90
$	ST[0,8] = %X9C
$	CSI[0,8]= %X9B
$	ESC[0,8]= %X1B
$	FF[0,8]	= %X0C
$	LF[0,8]	= %X0A
$	BEL[0,8]= %X07
$	PFS  = "?"
$	PROP = "?"
$	FONT = "?"
$	GSS  = "?"
$	LQUAL	= " ?  "
$	QU	= "?"
$	SAVEWID	= f$getdvi("TT:","DEVBUFSIZ")
$	WIDTH	= SAVEWID
$	H_PITCH = " ?"
$	IF WIDTH .GT. 80 THEN H_PITCH = "16"
$	HP	= "?"
$	IF WIDTH .GT. 80 THEN HP = "4"
$	V_PITCH = " ?"
$	VP	= "?"
$	WRAP	= "NOWRAP"
$	WR	= "OFF "
$	IF f$getdvi("TT:","TT_WRAP") THEN WRAP = "WRAP  "
$	IF WRAP .EQS. "WRAP  " THEN WR = "ON  "
$	SAVEWRAP = WRAP
$	BROAD	= "ON "
$	IF f$getdvi("TT:","TT_NOBRDCST") THEN BROAD = "OFF"
$!
$	cmd1  = "PRINT"
$	len1 = F$LENGTH(cmd1)
$	ITEMS = 0
$	files = 0
$ 	filename'files' = P1
$	IF filename'files' .NES. "" THEN GOTO PRINT1
$	GOTO INIT
$!=========================================================================<01>=
$OPEN_PORT:
$	SET TERM/FORM/NOBROADCAST
$	string = ESC+"[5i"
$	if QU .NES. "?" then string = string + ESC+"[''QU'""z"
$	if HP .NES. "?" then string = string + ESC+"[''HP'w"
$	if VP .NES. "?" then string = string + ESC+"[''VP'z"
$	W string
$	return
$!=========================================================================<02>=
$!
$!=========================================================================<02>=
$INIT:	W ESC,"[2J"
$	W ESC,"[8;16H",ESC,"#6",TITLE,ESC,"[10;32H",VERSION,ESC,"[1;22r"
$!BEGIN:	W ESC,"[23H",ESC,"[0;7m Print Multi REGIS Lqual:",LQUAL," H_Pitch:",H_PITCH,-
$!	" V_Pitch:",V_PITCH," Wrap:",WR,"LN03 Page Help Exit<>",ESC,"[0m"
$ BEGIN:	W ESC,"[23H",ESC,"[0;7m Print  Multi  Lqual:",LQUAL,"  H_Pitch:",H_PITCH,-
	"  V_Pitch:",V_PITCH,"  Wrap:",WR," LN03  Help   Exit<>",ESC,"[0m"
$START:	W ESC,"[24H",ESC,"[K"
$	IF BROAD .EQS. "ON " THEN SET TERM/BROADCAST
$	abort_on_control = 1
$	READ/PROMPT=" Command : "/end=end SYS$COMMAND cmd
$	cmd = F$EDIT(cmd,"TRIM,UPCASE")
$	abort_on_control = 0
$	len  = F$LENGTH(cmd)
$	cmd1 = F$EXTRACT(0,F$LOCATE(" ",cmd),cmd)
$	len1 = F$LENGTH(cmd1)
$	cmd2 = F$EDIT(cmd - cmd1,"TRIM")
$	len2 = F$LENGTH(cmd2)
$	IF cmd1 .EQS. F$EXTRACT(0,len1,""       ) THEN GOTO INIT
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"UNI"    ) THEN GOTO UNI
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"BI"     ) THEN GOTO BI
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"PRINT"  ) THEN GOTO PRINT
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"MULTI"  ) THEN GOTO MULTI
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"TYPE"   ) THEN GOTO TYPE
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"REGIS"  ) THEN GOTO REGIS
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"DCL"    ) THEN GOTO DCL
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"FF"     ) THEN GOTO TOF
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"LQUAL"  ) THEN GOTO LQUAL
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"SCREEN" ) THEN GOTO WIDTH
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"H_PITCH") THEN GOTO H_PITCH
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"V_PITCH") THEN GOTO V_PITCH
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"PAGE"   ) THEN GOTO PAGE
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"WRAP"   ) THEN GOTO WRAP
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"HELP"   ) THEN GOTO HELP
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"LNO3"   ) THEN GOTO LN03
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"LN03"   ) THEN GOTO LN03
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"LPFS"   ) THEN GOTO LPFS
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"LMP"    ) THEN GOTO LMP
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"LSUM"   ) THEN GOTO LSUM
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"LRES"   ) THEN GOTO LRES
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"LSHO"   ) THEN GOTO LSHO
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"FONT"   ) THEN GOTO FONT
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"GSS"    ) THEN GOTO GSS
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"EXIT"   ) THEN GOTO END
$UNREC:	W BEL," Command : ",cmd," - unrecognized command"
$	WAIT 0:00:01
$	GOTO START
$!=========================================================================<03>=
$TOF:	SET TERM/FORM/NOBROADCAST
$  	W ESC,"[5i",FF,ESC,"[4i"
$	GOTO START
$!=========================================================================<03>=
$LMP:	SET TERM/FORM/NOBROADCAST
$	IF PROP .EQS. "h" THEN GOTO LPR1
$	PROP = "h"
$	GOTO LPR2
$LPR1:	PROP = "l"
$LPR2: 	W ESC,"[5i",ESC,"[?27''PROP'",ESC,"[4i"
$	GOTO LN03
$!=========================================================================<03>=
$LPFS:	SET TERM/FORM/NOBROADCAST
$	IF PFS .EQS. "0" THEN GOTO LPF1
$	PFS = "0"
$	GOTO LPF2
$LPF1:	PFS = "1"
$LPF2: 	W ESC,"[5i",ESC,"[''PFS' J",ESC,"[4i"
$	GOTO LN03
$!=========================================================================<03>=
$LSUM:	SET TERM/FORM/NOBROADCAST
$  	W ESC,"[5i",DCS,"0;0;0y",ST,ESC,"[4i"
$	GOTO START
$!=========================================================================<03>=
$LRES:	SET TERM/FORM/NOBROADCAST
$  	W ESC,"[5i",ESC,"c",ST,ESC,"[4i"
$	PFS  = "0"
$	PROP = "l"
$	FONT = "10"
$	GSS  = 10
$	GOTO LN03
$!=========================================================================<03>=
$LSHO:	SET TERM/FORM/NOBROADCAST
$  	W ESC,"[5i"
$	W CSI,"10m10 ''ESC'[?27lAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890"
$	W CSI,"10m10 ''ESC'[?27hAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890",LF
$	W CSI,"11m11 ''ESC'[?27lAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890"
$	W CSI,"11m11 ''ESC'[?27hAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890",LF
$	W CSI,"12m12 ''ESC'[?27lAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890"
$	W CSI,"12m12 ''ESC'[?27hAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890",LF
$	W CSI,"13m13 ''ESC'[?27lAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890"
$	W CSI,"13m13 ''ESC'[?27hAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890",LF
$	W CSI,"14m14 ''ESC'[?27lAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890"
$	W CSI,"14m14 ''ESC'[?27hAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890",LF
$	W CSI,"15m15 ''ESC'[?27lAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890"
$	W CSI,"15m15 ''ESC'[?27hAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890",LF
$	W CSI,"16m16 ''ESC'[?27lAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890"
$	W CSI,"16m16 ''ESC'[?27hAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890",LF
$	W CSI,"17m17 ''ESC'[?27lAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890"
$	W CSI,"17m17 ''ESC'[?27hAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890",LF
$   	W CSI,"18m18 ''ESC'[?27lAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890"
$	W CSI,"18m18 ''ESC'[?27hAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890",LF
$	W CSI,"19m19 ''ESC'[?27lAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890"
$	W CSI,"19m19 ''ESC'[?27hAaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp - 1234567890"
$	W CSI,"''font'm''ESC'[27''PROP'",FF,ESC,"[4i"
$	GOTO START
$!=========================================================================<03>=
$FONT:	SAVE = FONT
$	FONT = cmd2
$	IF len2 .GT. 0 THEN GOTO FNT_1
$FN_ASK:W ESC,"[24H",ESC,"[K"
$	READ SYS$COMMAND/PROMPT="<FONT> [10 - 19] : " FONT
$FNT_1:	IF FONT .EQS. ""   then FONT = SAVE
$	IF FONT .EQS. SAVE then GOTO START
$	IF font .LT. 10 THEN GOTO FN_ASK
$	IF font .GT. 19 THEN GOTO FN_ASK
$	SET TERM/FORM/NOBROADCAST
$	W ESC,"[5i",CSI,"''font'm",ESC,"[4i"
$	GOTO LN03
$!=========================================================================<03>=
$GSS:	SAVE = GSS
$	GSS = cmd2
$	IF len2 .GT. 0 THEN GOTO GS_1
$GS_ASK:W ESC,"[24H",ESC,"[K"
$	READ SYS$COMMAND/PROMPT="<GSS> Input font size [8 - 24] : " GSS
$GS_1:	IF GSS .EQS. ""   then GSS = SAVE
$	IF GSS .EQS. SAVE then GOTO START
$	IF GSS .LT.  8 THEN GOTO GS_ASK
$	IF GSS .GT. 24 THEN GOTO GS_ASK
$	GSS10 = GSS * 10
$	W ESC,"[5i",CSI,"''GSS10' C",ESC,"[4i"
$	GOTO LN03
$!=========================================================================<03>=
$!=========================================================================<03>=
$!=========================================================================<03>=
$LQUAL:	SAVE = QU
$	W ESC,"[24H",ESC,"[K"
$	READ SYS$COMMAND/PROMPT=" <Print Quality> (1=Draft, 2=Letter, 3=Memo, 4=Near Letter Quality)  : " QU
$	IF QU .EQ. 1 then LQUAL = "DRFT"
$	IF QU .EQ. 1 then goto END_LQ
$	IF QU .EQ. 2 then LQUAL = "LTTR"
$	IF QU .EQ. 2 then goto END_LQ
$	IF QU .EQ. 3 then LQUAL = "MEMO
$	IF QU .EQ. 3 then goto END_LQ
$	IF QU .EQ. 4 then LQUAL = "NLQ "
$	IF QU .EQ. 4 then goto END_LQ
$	IF QU .EQS. ""  then QU = SAVE
$	IF QU .EQS. "?"  then goto BEGIN
$	goto lqual
$END_LQ:W ESC,"[5i",ESC,"[",QU,"""z",ESC,"[4i"
$	GOTO BEGIN
$!=========================================================================<04>=
$!
$!=========================================================================<04>=
$UNI:	W "          Changing mode to unidirectional printing ..."
$	W ESC,"[5i",ESC,"[?41h",ESC,"[4i"
$	WAIT 0:00:01
$	GOTO START
$BI:	W "          Changing mode to bidirectional printing ..."
$	W ESC,"[5i",ESC,"[?41l",ESC,"[4i"
$	WAIT 0:00:01
$	GOTO START
$!=========================================================================<05>=
$PRINT:	filename'files' = cmd2
$	IF len2 .GT. 0 THEN GOTO PRINT1
$	W ESC,"[K"
$	READ SYS$COMMAND/PROMPT = " <PRINT>    File: " filename'files'
$	IF filename'files' .EQS. "" THEN GOTO START
$PRINT1:
$	filename_0 = filename'files'
$	AT_FLAG = 1
$	if f$locate("@",filename_0) .LT. f$length(filename_0) then goto MU_XX
$	found = F$SEARCH("''filename_0'")
$	IF (found .NES. "" .OR. P1 .EQS. "FF") .AND. (P1 .NES. "") THEN GOTO PRINT_IT
$	IF found .NES. "" .OR. filename_0 .EQS. "FF" THEN GOTO PRINT_OK
$	W BEL,"         '",filename_0,"'          not found"
$	IF P1 .NES. "" THEN GOTO STOP
$	WAIT 0:00:01
$	len2 = 0
$	GOTO PRINT
$PRINT_OK:
$	W ESC,"[20H"
$PRINT_IT:
$	SET TERM/FORM/NOBROADCAST
$	GOSUB OPEN_PORT
$OPEN/READ filin 'filename_0'
$PR_0:lines = 0
$PR_NEXT: READ filin line /end_of_file=DONE
$W line
$lines = lines + 1
$IF lines .NE. page_size THEN GOTO PR_NEXT
$W FF
$GOTO PR_0
$!DONE:	WAIT 'wait_time'
$DONE:	CLOSE filin
$	W FF,ESC,"[4i"
$	IF P1 .NES. "" THEN GOTO STOP
$	GOTO START
$!=========================================================================<06>=
$MULTI:	FILES   = 0
$	ITEMS   = 0
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"PRINT"  ) THEN GOTO MU_XX
$	goto AT_ZERO
$CLOSE_M:close filein
$	IF cmd1 .EQS. F$EXTRACT(0,len1,"PRINT"  ) THEN GOTO MULTI_END
$AT_ZERO:AT_FLAG = 0
$MULTI_INQUIRE:
$	W ESC,"[24H",ESC,"[K"
$	if AT_FLAG .EQ. 0 then READ SYS$COMMAND/PROMPT=" <MULTI>    File : " filename'files'
$	if AT_FLAG .NE. 0 then read/end_of_file=CLOSE_M filein filename'files'
$	if AT_FLAG .NE. 0 .AND. filename'files' .EQS. "" then goto MULTI_INQUIRE
$	filename'files' = f$edit(filename'files', "UPCASE")
$MU_XX:	if f$locate("@",filename'files') .EQ. f$length(filename'files') then-
		goto NO_AT
$	filename'files' = filename'files' - "@"
$	filename_files = filename'files'
$	open/read/end_of_file=CLOSE_M filein 'filename_files'
$	AT_FLAG = 1
$	goto multi_inquire
$!
$NO_AT:	IF filename'files' .EQS. "" THEN GOTO MULTI_END
$	found = F$SEARCH(filename'files')
$	IF found .NES. "" .OR. filename'files' .EQS. "FF" THEN GOTO MULTI_OK
$	W BEL,"         '",filename'files',"'          Not found"
$	WAIT 0:00:01
$	GOTO MULTI_INQUIRE
$MULTI_OK:
$	IF found .NES. "" THEN ITEMS = ITEMS + 1
$	IF found .NES. "" THEN W ESC,"[22H",ITEMS,": ",filename'files'
$	IF found .EQS. "" THEN W ESC,"[22H   <Form Feed>"
$	FILES = FILES + 1
$	GOTO MULTI_INQUIRE
$MULTI_END:
$	W ESC,"[21H"
$	SET TERM/FORM/NOBROADCAST
$	GOSUB OPEN_PORT
$	file = 0
$MULTI_NEXT:
$	filename_file = filename'file'
$	IF filename_file .NES. "FF" THEN TYPE 'filename_file'
$	IF filename_file .EQS. "FF" THEN W FF
$	file = file + 1
$	if file .LT. files then goto multi_next
$	W FF,ESC,"[4i"
$	WAIT 'wait_time'
$	IF P1 .NES. "" THEN GOTO STOP
$	GOTO START
$!=========================================================================<07>=
$TYPE:	filename = cmd2
$	IF len2 .GT. 0 THEN GOTO TYPE1
$	W ESC,"[24H",ESC,"[K"
$	READ SYS$COMMAND/PROMPT= <Type>    File : " filename
$	IF filename .EQS. "" THEN GOTO START
$TYPE1:	found = F$SEARCH(filename)
$	IF found .NES. "" THEN GOTO TYPEOK
$	W BEL,"         '",filename,"'          not found"
$	len2 = 0
$	WAIT 0:00:01
$	GOTO TYPE
$TYPEOK:W ESC,"[21H"
$	TYPE 'filename'
$	GOTO START
$!=========================================================================<08>=
$DCL:	prompt	= f$environment("prompt")		! user's prompt
$	IF f$getjpi("","PRCLM") .EQ. 0 THEN GOTO UNREC
$	DCL_cmd = cmd2
$	IF len2 .GT. 0 THEN GOTO DCL1
$	W ESC,"[24H",ESC,"[K"
$	READ SYS$COMMAND /PROMPT=" <DCL> Enter DCL Command: " DCL_cmd
$	IF DCL_cmd .EQS. "" THEN GOTO START
$DCL1:	W ESC,"[22H''prompt'",DCL_cmd
$	'DCL_cmd'
$	GOTO START
$!=========================================================================<09>=
$!
$!=========================================================================<09>=
$REGIS:	filename = cmd2
$	IF len2 .GT. 0 THEN GOTO REGIS1
$	W ESC,"[K"
$	READ SYS$COMMAND/PROMPT = " <ReGIS>  File: " filename
$  	IF filename .EQS. "" THEN GOTO START
$REGIS1:found = F$SEARCH(filename)
$	IF found .NES. ""  THEN GOTO REGIS_OK
$	W BEL,"         '",filename,"'          not found"
$	WAIT 0:00:01
$	len2 = 0
$	GOTO REGIS
$REGIS_OK:SET TERM/FORM/NOBROADCAST
$	W ESC,"[2J"
$	TYPE 'filename'
$	W ESC,"PpS(H)S(E)",ESC,"\",ESC,"[5i",FF,ESC,"[4i"
$  	GOTO INIT
$!=========================================================================<10>=
$WRAP:	IF WRAP .EQS. "NOWRAP" THEN GOTO WRAP_ON
$	WRAP = "NOWRAP"
$	WR = "OFF "
$	SET TERM/NOWRAP
$	GOTO BEGIN
$WRAP_ON:
$	WRAP = "WRAP  "
$	WR = "ON  "
$	SET TERM/WRAP
$	GOTO BEGIN
$!=========================================================================<11>=
$LN03:	W " <LN03>",ESC,"[K"
$	W ESC,"[22H",ESC,"[K",ESC,"[1J",ESC,"[H"
$	W ESC,"[A","=============< ",TITLE,"  ",VERSION,"   ",REV_DATE,"  ",AUTHOR," >============="
$	W ""
$	IF prop .EQS. "?" THEN -
	W "LMP  ------ selects monospaced/proportional printing ..(?)
$	IF prop .EQS. "h" THEN -
	W "LMP  ------ selects monospaced/proportional printing ..(proportional)
$	IF prop .EQS. "l" THEN -
	W "LMP  ------ selects monospaced/proportional printing ..(monospaced)
$	IF PFS .EQS. "?" THEN -
	W "LPFS ------ selects page mode portrait/landscape ......(?)
$	IF PFS .EQS. "0" THEN -
	W "LPFS ------ selects page mode portrait/landscape ......(portrait)
$	IF PFS .EQS. "1" THEN -
	W "LPFS ------ selects page mode portrait/landscape ......(landscape)
$	W "FONT ------ selects which font to use  (SGR () ).......(",FONT,")"
$	W "GSS  ------ graphic size selection (font size) ........(",GSS,")"
$	W "LSUM ------ prints a summary sheet on LN03"
$	W "LSHO ------ prints out a sample of fonts 10 - 19"
$	W "LRES ------ resets LN03 to initial state"
$	GOTO BEGIN
$!=========================================================================<11>=
$HELP:	W " <Help>",ESC,"[K"
$	W ESC,"[22H",ESC,"[K",ESC,"[1J",ESC,"[H"
$	W ESC,"[A","=============< ",TITLE,"  ",VERSION,"   ",REV_DATE,"  ",AUTHOR," >============="
$	type sys$input
BI ------ selects bidirectional printing
DCL ----- allows VMS commands to be executed
H_PITCH - sets the number of horizontal characters/inch (normal = 12 char/inch)
LQUAL --- sets printing quality of an LAXX printer
MULTI --- outputs one or more files and/or form feeds to an LAXX printer
            (use file-spec or @file-spec - for each formfeed enter FF)
PAGE ---- number of lines to insert a form feed after (initially disabled)
PRINT --- outputs one file (or form feed if filename is FF) to an LAXX printer
REGIS --- outputs a ReGIS graphic file to an LAXX printer
SCREEN -- changes terminal form 80 to 132  or  132 to 80
TYPE ---- outputs a text file to the screen only
UNI ----- selects unidirectional printing
V_PITCH - sets the number of lines/inch (normal = 6 lines/inch)
WRAP ---- sets screen to wrap mode (On) or no-wrap mode (Off)
LN03 ---- outputs LN03 help screen to the terminal
                           ===< End of HELP >===[A
$	GOTO START
$!=========================================================================<12>=
$!
$!=========================================================================<12>=
$H_PITCH:SAVE = H_PITCH
$	H_PITCH = cmd2
$	IF len2 .GT. 0 THEN GOTO HP_1
$H_ASK:	W ESC,"[24H",ESC,"[K"
$	READ SYS$COMMAND/prompt=" <HORIZONTAL PITCH>  (5, 6, 8, [10], 12, 16) : " H_PITCH
$HP_1:	IF H_PITCH .EQS. ""  then H_PITCH = save
$	IF H_PITCH .EQS. " ?"  then goto START
$	IF H_PITCH .EQ.  5 then HP = 5
$	IF H_PITCH .EQ.  5 then goto end_hp
$	IF H_PITCH .EQ.  6 then HP = 6
$	IF H_PITCH .EQ.  6 then goto end_hp
$	IF H_PITCH .EQ.  8 then HP = 8
$	IF H_PITCH .EQ.  8 then goto end_hp
$	IF H_PITCH .EQ. 10 then HP = 1
$	IF H_PITCH .EQ. 10 then goto end_hp
$	IF H_PITCH .EQ. 12 then HP = 2
$	IF H_PITCH .EQ. 12 then goto end_hp
$	IF H_PITCH .EQ. 16 then HP = 4
$	IF H_PITCH .EQ. 16 then goto end_hp
$	len2 = 0
$	goto H_ASK
$END_HP:W ESC,"[5i",ESC,"[",HP,"w",ESC,"[4i"
$	goto BEGIN
$!=========================================================================<13>=
$WIDTH:	IF WIDTH  .EQ. 80 THEN GOTO W_132
$	HP = "1"
$	GOTO W_80
$W_80:	WIDTH = 80
$	SET TERM/WIDTH=80
$	cmd = "SCREEN"
$	GOTO INIT
$W_132:	WIDTH = 132
$	HP = "4"
$	SET TERM/WIDTH=132
$	cmd = "SCREEN"
$	GOTO INIT
$!=========================================================================<14>=
$!
$!=========================================================================<14>=
$V_PITCH:SAVE = V_PITCH
$	V_PITCH = cmd2
$	IF len2 .GT. 0 THEN GOTO VP_1
$V_ASK:	W ESC,"[24H",ESC,"[K"
$	READ SYS$COMMAND/PROMPT=" <VERTICAL PITCH>  (2, 3, 4, [6], 8, 12) : " V_PITCH
$VP_1:	IF V_PITCH .EQS. ""  then V_PITCH = save
$	IF V_PITCH .EQS. " ?"  then goto START
$	IF V_PITCH .EQ.  2 then VP = 4
$	IF V_PITCH .EQ.  2 then goto END_VP
$	IF V_PITCH .EQ.  3 then VP = 5
$	IF V_PITCH .EQ.  3 then goto END_VP
$	IF V_PITCH .EQ.  4 then VP = 6
$	IF V_PITCH .EQ.  4 then goto END_VP
$	IF V_PITCH .EQ.  6 then VP = 1
$	IF V_PITCH .EQ.  6 then goto END_VP
$	IF V_PITCH .EQ.  8 then VP = 2
$  	IF V_PITCH .EQ.  8 then goto END_VP
$	IF V_PITCH .EQ. 12 then VP = 3
$	IF V_PITCH .EQ. 12 then goto END_VP
$	len2 = 0
$	goto v_pitch
$END_VP:W ESC,"[5i",ESC,"[",VP,"z",ESC,"[4i"
$	goto BEGIN
$!=========================================================================<15>=
$PAGE:	SAVE = page_size
$	page_size = cmd2
$	IF len2 .GT. 0 THEN GOTO PG_1
$PG_ASK:W ESC,"[24H",ESC,"[K"
$	READ SYS$COMMAND/PROMPT=" <PAGE> Lines per page [Current=''SAVE'] (enter 0 to disable): " page_size
$PG_1:	IF page_size .EQS. ""   then page_size = save
$	IF page_size .EQ. save  then goto START
$	IF page_size .GE. 1000 .OR. page_size .LT. 0 THEN GOTO PG_ASK
$	GOTO BEGIN
$!=========================================================================<15>=
$PORTOFF:W ESC,"[4i"
$	IF abort_on_control .EQ. 1 THEN GOTO STOP
$	IF p1  .EQS. ""  THEN GOTO START
$!=========================================================================<16>=
$END:	W ESC,"[1;24r"
$!=========================================================================<17>=
$STOP:	IF BROAD .EQS. "ON " THEN SET TERM/BROADCAST
$	SET TERM/WIDTH='SAVEWID'/'SAVEWRAP'
$	EXIT
$!=========================================================================<18>=
$!
$!    ANT::SYS$SYSDEVICE:[TOOLS]VTPRINT.COM
$!   ASIC::SYS$SYSDEVICE:[TOOLS]VTPRINT.COM
$!   BUSY::SYS$SYSDEVICE:[TOOLS]VTPRINT.COM
$! HEAVEN::SYS$SYSDEVICE:[TOOLS]VTPRINT.COM
$! KAISER::SYS$SYSDEVICE:[TOOLS]VTPRINT.COM
$!   PIPA::SYS$SYSDEVICE:[TOOLS]VTPRINT.COM
$! WILLEE::SYS$SYSDEVICE:[TOOLS]VTPRINT.COM
$!
$!==========================< End of VTPRINT.COM >==============================
 |