FUNCTION GSLENS(BSTRNG) BYTE BSTRNG(2) C C This function returns the length in virtual coordinates of C the string BSTRNG. The current character size is assumed, C but font blips are recognized. C COMMON /GCCPAR/ CSIZE, CCOS, CSIN C NCHARS = 0 NBYTE = 0 100 CONTINUE NBYTE = NBYTE + 1 ICHAR = BSTRNG(NBYTE) IF (ICHAR .EQ. 0) GO TO 200 C C CHECK FOR TEMPORARY FONT CHANGE C IF (ICHAR .NE. 92) GO TO 150 !IF NOT "\" THEN NOT A FONT CHANGE NSBYTE = NBYTE NBYTE = NBYTE + 1 ICHAR = BSTRNG(NBYTE) IF (ICHAR .EQ. 92) GO TO 150 !DOUBLE "\" IS PRINT SINGLE "\" 120 CONTINUE IF (ICHAR .LT. 48 .OR. ICHAR .GT. 57) GOTO 130 NBYTE = NBYTE + 1 ICHAR = BSTRNG(NBYTE) IF (ICHAR .NE. 92) GOTO 120 GO TO 100 C C WHAT APPEARED TO BE A FONT CHANGE WASN'T C 130 CONTINUE NBYTE = NSBYTE 150 CONTINUE NCHARS = NCHARS + 1 GO TO 100 C C ALL DONE C 200 CONTINUE GSLENS = (GSCWID()*CSIZE)*NCHARS RETURN END