!Program JETSET - Look up Jet *.DHP & Download fonts
!
!Created by: Randall C. Haan 11/12/88
!
!SV JET font downloading utility. This program will either use the default
!LOAD.DHP file for checking and downloading SV soft fonts or if .DHP files
!of the form HPL? are created, were ? is the printer number, it will scan
!and download to all HP printers. If multiple HP pinters are used it is
!necessary to create JETIN?.DO files for each printer, were ? is the printer
!number, that containS the proper printer name. ThIS program also requires
!that the ERSATZ names of LIB: [7,0] and CRT: (location of soft fonts) be
!included in the ERSATZ.INI file for proper opperation.
!
!AUXILARY FILES THAT MUST BE RESIDENT!!!
!
!JCLEAR.DO[2,2]
!
! $D DEFAUL
! :R
! ; Clears the current font
! ; and replaces the HPL1.DHP file from DSK0:[7,0]
! LOG DSK0:[7,0]
! :<...erasing HPL#.DHP...
! >
! ERASE $0.DHP
! GOTO #$0
! ;#DEFAUL
! LOG $:[$P]
! EXIT
! ;#$0
! COPY $0.DHP=DSK10:CLEAR.DHP[7,22]
! LOG $:[$P]
! :<
! Default Font file CLEARED!
! >
! EXP
!
!CRT:CLEAR.DHP
!
! (file with one blank line)
!
!CMD:JETSET.DO
!
! :R
! :<Creating New Font Directory
! >
! :S
! LOG CRT:
! SVDIR FONTS.DAT=*.CTR
! LOG $:[$P]
! :R
! RUN BAS:JETSET
!
!LIB:HPL?.DHP (? is 1,2,3,4..ect. for each JET printer you have)
!
! (copy of LOAD.DHP, can contain just a blank line)
!
!CMD:JETIN?.DO[2,2] (? is 1,2,3,4,...ect. for each JET printer you have)
!
! (copy of JETINI.DO, with appropriate printer names installed)
!
!With these files in place use the command JETSET to initiate the downloading
!process. Prompts will be supplied for every action.
!
MAP1 LINE1,S,250 !Input line
MAP1 FONT,S,6 !Font name
MAP1 FILE1,S,20 !File name
MAP1 ANS,S,1 !Answer
MAP1 JET'NUM,B,1 !NUMBER OF PRINTERS
MAP1 JET,S,1 !Alternate Printer Number
MAP1 DEF'FILE,S,6 !Default HP File name
MAP1 BLOCKS,F,6 !Number of blocks in a file
MAP1 DF,S,6
MAP1 CHAIN'TO,S,20 !Chain command
MAP1 MULT,B,1 !Multiple JET flag
JET0:
PRINT TAB(-1,0);TAB(30);"JET Set"
PRINT TAB(18);"JET Downloading & Default Font Lookup"
PRINT
PRINT "I show the following fonts currently downloaded to the JET printers:"
PRINT
JET'NUM=0
JET1:
FILE1="HPL"+STR(JET'NUM+1)[1,1]+".DHP"
LOOKUP "LIB:"+FILE1,BLOCKS !Lookup HPL's
IF BLOCKS=0 GOTO JET3 !If its not there, we must be through
JET'NUM=JET'NUM+1
OPEN#1,"LIB:"+FILE1,INPUT !Lookup what default cartridge is in this printer
INPUT#1,DF
PRINT "JET";STR(JET'NUM)[1,1];"=";DF
CLOSE#1
GOTO JET1
JET3:
IF JET'NUM#0 GOTO JET3A !If no HPL's we must be using LOAD.DHP
LOOKUP "LIB:LOAD.DHP",BLOCKS
IF BLOCKS=0 GOTO JET3B
PRINT
PRINT "NOTE: If the printer has been turned OFF the font may need to be downloaded"
PRINT "again. Use PRINT FONTS to examine fonts currently in printer memory."
PRINT
INPUT "WOULD YOU LIKE TO DOWNLOAD A FONT (Y/N=RET)? ";ANS
IF UCS(ANS)#"Y" GOTO JET'END
JET4:
IF JET'NUM=0 GOTO JET4A !Used if were not using HPL's
INPUT "WHAT PRINTER # (i.e. 1,2 or 3): ";JET
IF JET<1 OR JET>JET'NUM THEN &
PRINT "THAT PRINTER # IS NOT IN RANGE. SELECT AGAIN!": &
GOTO JET4
JET4A:
INPUT "Re-Download (Y/N=RET) ";ANS
IF UCS(ANS)#"Y" GOTO JET5
JET4B: IF FONT="" THEN &
PRINT:PRINT "No Font currently specified": &
GOTO JET4
GOTO JET7
JET5:
INPUT "WOULD YOU LIKE TO SEE A FONT LIST? (Y/N=RET) ";ANS
IF UCS(CHR(ASC(ANS))) <> "Y" GOTO DOWN'IT
LIST: !Font listing utility
LOOKUP "CRT:FONTS.DAT",BLOCKS
IF BLOCKS#0 GOTO LIST1
PRINT "Font list not found. Create?(N/Y=RET) ";
INPUT ANS
IF UCS(ANS)="N" GOTO JET5
OPEN#1,"JUNK.DO",OUTPUT
PRINT#1,":R"
PRINT#1,":<Creating Font Directory...CRT: must be an ERSATZ>"
PRINT#1,":S"
OPEN#1,"CRT:FONTS.DAT",INPUT
INPUT LINE#1,LINE1 !FIRST LINE IS A DUD
LIST'IT:
PRINT TAB(-1,0)
LINES=0
LISTING:
IF EOF(1) = 1 THEN &
CLOSE#1: &
GOTO DOWN'IT
INPUT LINE#1,LINE1
PRINT LEFT(LINE1,79)
LINES=LINES+1
IF LINES=20 THEN &
INPUT "CONTINUE? (Y=RET/N) ";ANS: &
IF UCS(CHR(ASC(ANS))) <> "N" GOTO LIST'IT &
ELSE &
CLOSE#1: &
GOTO DOWN'IT
GOTO LISTING
DOWN'IT:
PRINT
INPUT "Select Font: (S=SHOW/CLEAR to Clear) ";FONT
IF UCS(FONT)="S" GOTO LIST
FONT=LEFT(FONT+" ",6)
FONT=UCS(FONT)
IF FONT#"CLEAR " GOTO F1
PRINT "ARE YOU SURE YOU WANT TO CLEAR JET";JET[1,1];"? (Y/N=RET) ";
ANS="":INPUT"";ANS
IF ANS#"Y" GOTO JET0
DEF'FILE="HPL"+JET
IF JET'NUM=0 THEN DEF'FILE="LOAD"
CHAIN "CMD:JCLEAR.DO "+DEF'FILE
F1:
OPEN#1,"CRT:FONTS.DAT",INPUT
INPUT LINE#1,LINE1 !FIRST LINE IS A DUD
FIND'IT:
IF EOF(1) <> 0 THEN &
PRINT "INVALID FONT. TRY AGAIN": &
CLOSE#1: &
GOTO DOWN'IT
INPUT LINE#1,LINE1
IF LEFT(LINE1,6) <> FONT GOTO FIND'IT
CLOSE#1
PRINT
A=INSTR(1,FONT," ")
IF A#0 THEN &
FONT=FONT[1,A-1]
LOOKUP "CRT:"+FONT+".HPF",BLOCKS
PRINT "The cartridge ";FONT;" is ";INT(BLOCKS*512/1000);"KBytes long. "
IF BLOCKS>500 THEN &
PRINT "WHOO! THAT WILL TAKE A LONG TIME TO DOWNLOAD!": &
IF BLOCKS>970 THEN &
PRINT:PRINT "A FILE THAT LONG WONT FIT ON AN UN-EXPANDED PRINTER!";
PRINT
JET7:
ANS=""
PRINT "Are you ready to Download ";FONT;" to JET";JET;" (Y/N=RET)? ";
INPUT "";ANS
IF UCS(ANS)#"Y" GOTO JET0
PRINT TAB(-1,0);"DOWNLOADING FONT '";FONT;"' NOW."