FTN4,L C C C C C C CC************************************************************ C (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978. ALL RIGHTS * C RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- * C PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH- * C OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * CC************************************************************ C C C C NAME: GLEN2 C SOURCE: 92840 - 18155 C RELOC: 92840 - 16021 C C C CC*********************************************************** SUBROUTINE GLEN2(IGCB,ITEXT,ISTRT,ITEXL,DELTX,DELTY) +,92840-16021 REV.2013 790904 C************************************************************ C GLEN2 RETURNS THE HARDWARE LENGTH OF THE TEXT STRING C IN ITEXT. THE LENGTH OF THE STRING IS DEFINED TO BE THE C LENGTH OF ALL CHARACTERS UP TO BUT NOT INCLUDING THE FIRST C CARRIAGE RETURN. C C ITEXT = BUFFER CONTAINING THE CHARACTER STRING. C ITEXL = + WORD COUNT OR - CHARACTER COUNT OF ITEXT. C DELTX = RETURNED DELTA X THAT WOULD OCCUR IF ITEXT WERE OUTPUT C ACCORDING TO THE CURRENT CHARACTER SIZE, LDIR, ETC. C DELTY = RETURNED DELTA Y THAT WOULD OCCUR IF ITEXT WERE OUTPUT C************************************************************** INTEGER IGCB(1),ITEXT(1),ITEXL REAL DELTX,DELTY C REAL BUFR(4) C************************************************************* C 4-26-79 IMPLEMENT A STUB. C D LU=LOGLU(IDUMY) D WRITE(LU,1000) D1000 FORMAT(/"GLEN2: ENTERING GLEN2.") C************************************************************ C GET THE POSITIVE CHARACTER COUNT INTO NUMB. C IF ((ITEXL .LE. 0) .OR. (ISTRT .LE. 0)) GO TO 8500 C************************************************************* C CNUMB HOLDS THE REAL NUMBER OF CHARACTERS IN THE STRING. C CNUMB=FLOAT(ITEXL) C************************************************************* C GET THE MU WIDTH OF AN INDIVIDUAL CHARACTER C CALL GCBIM(7,1,BUFR,0,1) WIDTH=BUFR(1) C************************************************************* C GET THE LENGTH OF THE SUBSTRING. C CLEN=CNUMB*WIDTH C************************************************************ C TRANSFORM IT BY THE CURRENT LDIR. C GET THE CURRENT LDIR (IN WC) C CALL GCBIM(22,1,BUFR,0,1) THETA=BUFR(1) C*************************************************************** C CONVERT THETA TO MU'S. C AMU GETS RETURNED AS LDIR IN MACHINE UNITS. C CALL GANG3(IGCB,THETA,AMU,BUFR) C************************************************************ C FIGURE DELTX AND DELTY BASED ON THE LENGTH OF THE STRING C AND THE LDIR. C XMU=CLEN*COS(AMU) YMU=CLEN*SIN(AMU) C********************************************************* C CONVERT TO CURRENT UNITS. C CALL GCBIM(IADCD(DUMY),1,BUFR,0,1) C DELTX=XMU/BUFR(1) DELTY=YMU/BUFR(3) RETURN C************************************************************** C FIRST CHARACTER IN ITEXT IS A CR. C 7000 DELTX=0.0 DELTY=0.0 RETURN C************************************************************* C ITEXL OR ISTRT .LE. 0 C 8500 CALL PLTER(9,IDUMY) RETURN END