* * $Id: dzesgp.F,v 1.2 1997/03/14 14:20:37 mclareni Exp $ * * $Log: dzesgp.F,v $ * Revision 1.2 1997/03/14 14:20:37 mclareni * WNT mods * * Revision 1.1.1.1.2.1 1997/01/21 11:25:13 mclareni * All mods for Winnt 96a on winnt branch * * Revision 1.1.1.1 1996/03/04 16:13:23 mclareni * Dzdoc/Zebpack * * #include "dzdoc/pilot.h" SUBROUTINE DZESGP(LUSGML,LUPPIC,LUNOUT,IOPT) #include "dzesgpkeep.inc" #if defined(CERNLIB_BSLASH) #include "dzdoc/bslash2.inc" #endif #if !defined(CERNLIB_BSLASH) #include "dzdoc/bslash1.inc" #endif CHARACTER*7 CPNAME CHARACTER*24 CCINT CHARACTER*80 CTEXT CHARACTER*100 CTEMP #include "dzeindex.inc" LUOUT = LUNOUT * units for PostScript are points: = 1/72 inch * we use 1/10 mm => scale .283464 (72/254) SCALE = 72./254. IXPAGE = 2100 IYPAGE = 2960 ITOP = 2700 MARGL = 200 MARGR = 200 MARGB = 200 MARGT = 200 ICSIZE = 30 ISPACE = 30 * the PostScript preample CALL DZEHPE(LUOUT) CALL DZDPLN(LUOUT,'%%Page: 0 0',-3) IX = MARGL IY = ITOP IPAGE = 0 NL = 0 IFIG = 0 NIND = 0 * loop on lines 30 CONTINUE CALL DZDCRD(LUSGML,CTEXT,IRC) IF(IRC.NE.0)GOTO 70 * READ(LUSGML,'(A)',END=70 )CTEXT IF(CTEXT(1:1) .NE. '<')GOTO 50 * tab section returns after IF(CTEXT(1:4).EQ.'')THEN CALL DZDPLN(LUOUT,' /saveobj save def',-3) WRITE(CCINT,'(2F8.5,A)')SCALE,SCALE,' scale' CALL DZDPLN(LUOUT,CCINT,-3) CALL DZDPLN(LUOUT,' H 50 sf',0) GOTO 30 ENDIF IF(CTEXT(1:8).EQ.'')+1 ILC = INDXBC(CTEXT,' ') IF(ILC.LT.IFC)ILC=IFC CALL DZDPLN(LUOUT,'(',-2) CALL DZDPLN(LUOUT,CTEXT(IFC:ILC),0) CALL DZDPLN(LUOUT,') sh',0) ENDIF IY = IY-40 WRITE(CCINT,'(I8)')ICSIZE CALL DZDPLN(LUOUT,'C '//CCINT(1:8)//' sf',-3) GOTO 30 ENDIF * entry in index IF(CTEXT(1:4).EQ.'')THEN NIND = NIND + 1 CINDEX(NIND) = CTEXT(5:8) IPINDX(NIND) = ISPAGE IORD(NIND)=NIND GOTO 30 ENDIF * figure ID IF(CTEXT(1:7).EQ.'')+1 ILC1 = INDEXB(CTEXT,'<')-1 IF (ILC1.NE.0)ILC=ILC1 ELSE IFC=1 ENDIF WRITE(CCINT,'(2I8,A)')IX,IY,' m' CALL DZDPLN(LUOUT,CCINT,-1) CALL DZDPLN(LUOUT,'(',0) CALL DZDPLN(LUOUT,CTEMP(IFC:ILC),0) CALL DZDPLN(LUOUT,') sh',0) IF(CTEXT(1:3).EQ.'