1 SUBROUTINE GSCHAR2(X,Y,N,CHAINE) 2 INCLUDE 'Parametres.f' 3 REAL*4 X,Y 4 CHARACTER*1024 CHAINE,CHCH 5 logical*4 assezloin 6 if(n.le.0) return 7 if (assezloin(x,y)) return 8 nn = min(1024,n) 9 if (ipostscript.eq.1) then 10 IX = origine_x + facteur_en_x*X 11 IY = origine_y + facteur_en_y*Y 12 CHCH = CHAINE(1:NN)//char(0) 13 IF (icoul_texte.ne.icoul_courante) then 14 call x11loadcolor(icoul_texte) 15 if (angle_texte.eq.0.) then 16 if (ifonte_courante.eq.5) then 17 call x11txtsrnrot2(CHCH,nn,ix,iy,icoulfond,angle_texte) 18 else 19 call x11txtsrn2(CHCH,NN,ix,iy,icoulfond) 20 endif 21 else 22 call x11txtsrnrot2(CHCH,nn,ix,iy,icoulfond,angle_texte) 23 endif 24 call x11loadcolor(icoul_courante) 25c 26 else 27 if (angle_texte.eq.0.) then 28 if (ifonte_courante.eq.5) then 29 call x11txtsrnrot2(CHCH,nn,ix,iy,icoulfond,angle_texte) 30 else 31 call x11txtsrn2(CHCH,NN,ix,iy,icoulfond) 32 endif 33 else 34 call x11txtsrnrot2(CHCH,nn,ix,iy,icoulfond,angle_texte) 35 endif 36 endif 37 else 38 if (sauve_graphic) return 39 xxxx = origine_x + facteur_en_x*X 40 yyyy = origine_y + facteur_en_y*Y 41 call parenthese_ps(chch,nn) 42 IF (ipostscript.ne.-1.and.icoul_texte.ne.icoul_eff) then 43 write(ilaser_file,'(f4.2,2f5.2,a)') table_rouge(icoul_texte) 44 & ,table_vert(icoul_texte) 45 & ,table_bleu(icoul_texte) 46 & ,' c' 47 call ecriseconome(ilaser_file,xxxx,0,'bidon') 48 call ecriseconome(ilaser_file,yyyy,nn+7, 49 & ' 0 ('//chaine(1:nn)//') E') 50 write(ilaser_file,'(f4.2,2f5.2,a)') 51 & table_rouge(icoul_eff) 52 & ,table_vert(icoul_eff) 53 & ,table_bleu(icoul_eff) 54 & ,' c' 55 else 56 call ecriseconome(ilaser_file,xxxx,0,'bidon') 57 call ecriseconome(ilaser_file,yyyy,nn+7, 58 & ' 0 ('//chaine(1:nn)//') E') 59 endif 60 endif 61 end 62