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: GGET 
C      SOURCE: 92840 - 18148
C      RELOC:  92840 - 16021
C 
C 
C 
CC*********************************************************** 
C 
C NOTE: ERROR 31 MUST BE DELETED FROM USE BY THE LABEL MODULE.
C NOTE: 8-17-79 GGET NOW CHECKS TO MAKE SURE ICHAR IS A LEGITIMATE
C       CHARACTER.
C 
      SUBROUTINE GGET(ICHAR,IREPET,INFO,IDCB,IBUFR, 
     +IBUFS,INDEX)
     +,92840-16021 REV.2013 791107
C************************************************************** 
C GGET RETURNS THE STROKES FOR CHARACTER ICHAR IN BUFFER IBUFR. 
C IREPET DETERMINES WHETHER GGET RETURNS THE FIRST,SECOND, THIRD
C ETC SET OF STROKES FOR CHARACTERS THAT NEED MORE THAN ONE SET 
C OF STROKES TO WRITE.
C 
C ICHAR = THE CHARACTER FOR WHICH YOU WANT THE STROKES(ZERO-FILLED, 
C         RIGHT-JUSTIFIED, SAME FORMAT AS SGET PRESCRIBES). 
C IREPET= WHICH SET OF STROKES YOU WANT (FIRST BUNCH, SECOND BUNCH..) 
C 
C INFO  = INFO ON THE CHARACTERS IN THE FONT FILE.
C INDEX = RETURNED INDEX INTO IBUFR AT WHICH STROKES FOR ICHAR START. 
C IBUFS= SIZE OF IBUFR, INTEGRAL MULTIPLE OF 128. 
C 
C IREC1 =RECORD NUMBER AT WHICH STROKES FOR THE SPACE CHARACTER 
C        ARE STORED.
C NUMBER= NUMBER OF RECORDS USED FOR EACH CHARACTER.
C 
C IOFF  = INDEX OF ICHAR IN ASCII COLLATING SEQUENCE. 
C IREAD = FINAL NUMBER OF RECORD ON DISC TO READ. 
C 
C*******************************************************************
C 
      INTEGER IDCB(1),ICHAR,IREPET,INFO(1),IBUFR(1) 
      INTEGER IBUFS,INDEX 
      INTEGER IREC1,NUMBER
      INTEGER IOFF,IREAD
C****************************************************************** 
C MAKE SURE ICHAR HOLDS A LEGITIMATE CHARACTER. IF NOT, CHANGE
C ICHAR TO AN @ SIGN. 
C 
      IF ((ICHAR .GE. INFO(7)) .AND.
     +(ICHAR .LE. INFO(8))) GO TO 100 
      CALL PLTER(13,IDUMY)
      ICHAR=INFO(9) 
C***************************************************************
C GET THE RECORD NUMBER OF THE SPACE CHARACTER, AND THE NUMBER
C OF WORDS USED TO STORE ONE SET OF CHARACTER STROKES.
C 
100   IREC1=INFO(1) 
      NUMBER=INFO(2)
C***************************************************************
C GET THE INDEX OF ICHAR INTO IOFF. 
C 
      IOFF=ICHAR-INFO(7)
C************************************************************** 
C CALCULATE THE RECORD NUMBER ON THE DISC TO READ.
C 
      IREAD=IREC1+IOFF*(NUMBER/128)+(IREPET-1)*(IBUFS/128)
C************************************************************** 
C READ THE RECORD AND RETURN
C 
      CALL READF(IDCB,IERR,IBUFR,IBUFS,LEN,IREAD) 
      IF (IERR .LT. 0) GO TO 9000 
      INDEX=1 
      RETURN
C*************************************************************
C HAD A BAD READ OFF THE DISC FILE. 
C 
9000  CONTINUE
      CALL PLTER(IERR-300,IRTN) 
      RETURN
      END 
                                                                                      