      SUBROUTINE HELP(X0,X1,Y0,Y1)
C
      INCLUDE 'param.f'
C
      PARAMETER (NHELP=43)
      CHARACTER*32 CHELP(-2:NHELP)
      INTEGER      IHELP(-2:NHELP)
      DIMENSION XXXX(2),YYYY(2)
      LOGICAL*4 ZBID
      DATA IHELP / -2,-1, 3, 0,18,19,29,30, 4, 5, 6, 8,11,17,20,26
     &,1, 9,21,37,10,13,15,23,28,35,22, 7,16,12,31,32,33,36,38,40,41
     &           ,14,2,24,25,39,43,34,27,42 /
C
      CALL VRAIECOORD(X0,Y1,IX0,IY0)
      CALL VRAIECOORD(X1,Y0,IX1,IY1)
      ILARG = IX1-IX0
      IHAUT = IY1-IY0
      CALL GSPROGRE(1)
C
      CALL GSBND(X0,X1,Y0,Y1)
      IF (IFONT2.EQ.2) THEN
        IBORD = 4
      ELSEIF(IFONT2.EQ.3) THEN
        IBORD = 3
      ELSE
        IBORD = 2
      ENDIF
      XXXX(1) = X0
      XXXX(2) = X1
      YYYY(1) = Y0
      YYYY(2) = Y1
c      CALL GSPATF(8)
c      CALL GSPAT(16)
c      CALL MY_GSAREA2(XXXX,YYYY)
      CALL GSLT(0)
      CALL GSLW(0)
      IF (IAHELP.GT.0) THEN
        CALL MY_GSAREA3(XXXX,YYYY,IBORD,7,15,8)
      ELSE
        CALL MY_GSAREA3(XXXX,YYYY,IBORD,15,8,0)
      ENDIF
      CALL GSLSS(IFONT0)
      CALL GSCOL(7)
      IF (FRANCAIS) THEN
        CHELP(-2) = '             Souris             '
        CHELP(-1) = 'G: zoom    M: trans  D: info    '
        CHELP(0)  = '0: Zoom interactif par curseur  '
        CHELP(1)  = '1: Changement de titres des axes'
        CHELP(2)  = '2: PostScript noir et blanc     '
        CHELP(3)  = 'Q: ..FIN....FIN....FIN....FIN...'
        CHELP(4)  = '4: Bornes en x avec calcul en y '
        CHELP(5)  = '5: Bornes en x sans calcul en y '
        CHELP(6)  = '6: Bornes en y (bornes x fixées)'
        CHELP(7)  = '7: Régression linéaire          '
        CHELP(8)  = '8: Repère normé                 '
        CHELP(9)  = '9: Légendes sur le dessin       '
        CHELP(10) = 'A: Marqueurs aux points         '
        CHELP(11) = 'B: Echelles logarithmiques      '
        CHELP(12) = 'C: Affichages des axes Ox Oy    '
        CHELP(13) = 'D: Points discrets              '
        CHELP(14) = 'E: Anglais <---> Français       '
        CHELP(15) = 'F: Permutation des marqueurs    '
        CHELP(16) = 'G: Quadrillage                  '
        CHELP(17) = 'H: Translation par curseur      '
        CHELP(18) = 'I: Zoom avant sur curseur       '
        CHELP(19) = 'J: Zoom arrière sur curseur     '
        CHELP(20) = 'K: Echange des axes x et y      '
        CHELP(21) = 'L: Changement de légendes       '
        CHELP(22) = 'M: Couleur <---> monochrome     '
        CHELP(23) = 'N: Couleur des marqueurs        '
        CHELP(24) = 'O: PostScript couleur           '
        CHELP(25) = 'P: PostScript pour LaTeX (N/B)  '
        CHELP(26) = '3: Proportions du dessin        '
        CHELP(27) = 'R: Changement de fichiers       '
        CHELP(28) = 'S: Types de tracé et de marqueur'
        CHELP(29) = 'T: Retour aux échelles initiales'
        CHELP(30) =
     &'U: Cadrage précédent            '
        CHELP(31) = 'V: Types d''axes                 '
        CHELP(32) = 'W: Courbes au trait ou barres   '
        CHELP(33) = 'X: Hollywood (animations)       '
        IF (INTERP.GT.0) THEN
          CHELP(34) = 'Y: Sauvegarde des fct. interp.  '
        ELSE
          CHELP(34) = '................................'
        ENDIF
        CHELP(35) = 'Z: Tracé pour transp. / défaut  '
        CHELP(36) = '.: Tracé + épais + grosse fonte '
        CHELP(37) = '-: Taille caractères légendes   '
        CHELP(38) = ',: Echelles "ingénieur" ou non  '
        CHELP(39) = '+: PostScript pour LaTeX (coul) '
        CHELP(40) = '*: Ecris la position du curseur '
        CHELP(41) = '): Affiche les minima et maxima '
        CHELP(42) = '(: Reload des fichiers          '
        CHELP(43) = "': Sauvegarde GIF               "
      ELSE
        CHELP(-2) = '             Mouse              '
        CHELP(-1) = 'L: zoom    M: trans  R: info    '
        CHELP(0)  = '0: Zoom under cursor            '
        CHELP(1)  = '1: Axis titles changing         '
        CHELP(2)  = '2: Black and white PostScript   '
        CHELP(3)  = 'Q: ..END....END....END....END...'
        CHELP(4)  = '4: x bounds with adjusted y     '
        CHELP(5)  = '5: x bounds without changing y  '
        CHELP(6)  = '6: y bounds (x bounds unchanged)'
        CHELP(7)  = '7: Linear regression            '
        CHELP(8)  = '8: Orthonormal axis             '
        CHELP(9)  = '9: Legends on graphics          '
        CHELP(10) = 'A: Markers at each point        '
        CHELP(11) = 'B: Logarithmic axis             '
        CHELP(12) = 'C: Plot Ox and Oy axis          '
        CHELP(13) = 'D: Scatter points               '
        CHELP(14) = 'E: English <---> French         '
        CHELP(15) = 'F: Markers permutation          '
        CHELP(16) = 'G: Grid                         '
        CHELP(17) = 'H: Translation under cursor     '
        CHELP(18) = 'I: Zoom in under cursor         '
        CHELP(19) = 'J: Zoom out under cursor        '
        CHELP(20) = 'K: x and y axis exchange        '
        CHELP(21) = 'L: New legends (on graphics)    '
        CHELP(22) = 'M: Color <---> monochrom        '
        CHELP(23) = 'N: Markers colors               '
        CHELP(24) = 'O: Color PostScript             '
        CHELP(25) = 'P: PostScript for LaTeX (B/W)    '
        CHELP(26) = '3: Window proportions           '
        CHELP(27) = 'R: Change files                 '
        CHELP(28) = 'S: Change plotting parameters   '
        CHELP(29) = 'T: Back to initial scales       '
        CHELP(30) = 'U: Previous camera              '
        CHELP(31) = 'V: Axis type                    '
        CHELP(32) = 'W: Curves <---> Bar charts      '
        CHELP(33) = 'X: Hollywood (animations)       '
        IF (INTERP.GT.0) THEN
          CHELP(34) = 'Y: Save interpreted functions   '
        ELSE
          CHELP(34) = '................................'
        ENDIF
        CHELP(35) = 'Z: Special transparencies plot  '
        CHELP(36) = '.: Thicker plot and big font    '
        CHELP(37) = '-: Character size for legends   '
        CHELP(38) = ',: Scales in "engineering" form '
        CHELP(39) = '+: PostScript for LaTeX (color) '
        CHELP(40) = '*: Print cursor position        '
        CHELP(41) = '): Display minima and maxima    '
        CHELP(42) = '(: Reload files                 '
        CHELP(43) = "': Save a GIF file              "
      ENDIF
      PPP = 57./REAL(IPROY)
      IF (PROP.GT.1.) THEN
        IF (NCOURB.LE.5) THEN
          DY = PPP*(Y1-Y0)*.022
        ELSEIF(NCOURB.LE.10) THEN
          DY = PPP*(Y1-Y0)*.020
        ELSE
          DY = PPP*(Y1-Y0)*.018
        ENDIF
      ELSEIF(PROP.LT.1) THEN
        IF (NCOURB.LE.15) THEN
          DY = PPP*(Y1-Y0)*.022
        ELSEIF(NCOURB.LE.30) THEN
          DY = PPP*(Y1-Y0)*.020
        ELSE
          DY = PPP*(Y1-Y0)*.018
        ENDIF
      ELSE
        IF (NCOURB.LE.8) THEN
          DY = PPP*(Y1-Y0)*.022
        ELSEIF(NCOURB.LE.16) THEN
          DY = PPP*(Y1-Y0)*.020
        ELSE
          DY = PPP*(Y1-Y0)*.018
        ENDIF
      ENDIF
      DX = .05*(X1-X0)
      XX = X0 + DX
      YY = Y1 - DY
      CALL ASFCOL(0)
      DDY = DY*.4
      IF (IAHELP.GT.0) THEN
        DO J=-2,NHELP
          I = IHELP(J)
          ZBID = (I.GT.0.AND.(I.NE.11.OR.ILOGXOK.EQ.0.OR.ILOGYOK.EQ.0)
     &           .AND.CHELP(I)(1:10).NE.'..........') 
          IF (ZBID) THEN
            CALL GSCHAR(XX,YY,32,CHELP(I))
            IF (I.EQ.-1.OR.I.EQ.41.OR.I.EQ.26.OR.I.EQ.42) THEN
              YY = YY-DDY
              CALL DOUBLELIGNE(X0,X1,YY,IBORD,15,7,1)
              YY = YY-DY*.15
            ENDIF
            YY = YY-DY
          ENDIF
        ENDDO
        IF (IMONO.EQ.1) CALL ASFCOL(3)
        CALL GSCHAR(XX,YY,29,MEMO)
        YY = YY-DDY
        CALL DOUBLELIGNE(X0,X1,YY,IBORD,15,7,1)
        YYYY(2) = YY
        CALL DEF_ZONE(X0,X1,YYYY(2),Y1,0)
        CALL MY_GSAREA3(XXXX,YYYY,IBORD,15,8,0)
        YY = YY-DDY
      ELSE
        YY = YY+DDY
        CALL DEF_ZONE(X0,X0,Y0,Y0,0)
      ENDIF
      X3 = X0*.1 + X1*.9
      X2 = X0*.2 + X1*.8
      LMAX = 0
      DO I=1,NCOURB
        LMAX = MAX(LMAX,LONG(I))
      ENDDO
      IF (LMAX.LE.20) CALL GSLSS(IFONT1)
      IF (IMONO.NE.1) CALL ASFCOL(ICOL(I))
      DO I=1,NCOURB
        YY = YY-DY
        YYY = YY+DDY
        IF (IMONO.EQ.1) CALL ASFCOL(ICOL(I))
        CALL GSCHAR(XX,YY,LONG(I),FICHIER(I))
        IF (ILT(I).GE.0) THEN
          CALL GSLW(IGROS+IEPL(I))
          CALL GSLT(ILT(I))
          IF (IMONO.EQ.1) THEN
            ICOLOR = ICOL(I)
          ELSE
            ICOLOR = 7
          ENDIF
          CALL GSCOL(ICOLOR)
          CALL GSMOVE(X2,YYY)
          CALL GSLINE(X3,YYY)
        ENDIF
        IF (NMARK(I).GT.0) THEN
          CALL GSLW(1)
          IF (IMONO.EQ.1) THEN
            ICOLOR = ICOLM(I)
          ELSE
            ICOLOR = 7
          ENDIF
          CALL GSCOL(ICOLOR)
          CALL GSMS(NMARK(I))
          CALL GSMB(TM(I)*XMB,TM(I)*YMB)
          CALL GSMARK(.5*(X2+X3),YYY)
        ENDIF
      ENDDO
      CALL GSLT(0)
      CALL GSLSS(IFONT2)
      CALL ASFCOL(7)
      CALL GSPROGRE(0)
      CALL x11metrect2(IX0,IY0,ILARG,IHAUT,IX0,IY0)
c      CALL GSLW(4)
c      CALL GSCOL(0)
c      CALL GSMOVE(X0,Y1)
c      CALL GSLINE(X1,Y1)
c      CALL GSLINE(X1,Y0)
c      CALL GSLW(8)
c      CALL GSCOL(15)
c      CALL GSLINE(X0,Y0)
c      CALL GSLINE(X0,Y1)
c      CALL GSCOL(7)
c      CALL GSLW(IGROS+1)
      END
