Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!feeder.news-service.com!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!feed.news.schlund.de!schlund.de!news.online.de!not-for-mail From: helbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply) Newsgroups: comp.os.vms,comp.lang.postscript Subject: viewing PostScript files on VMS 7.3-2 Date: Mon, 25 Apr 2011 19:47:25 +0000 (UTC) Organization: Multivax C&R Lines: 238 Message-ID: NNTP-Posting-Host: pd9e24b50.dip0.t-ipconnect.de X-Trace: online.de 1303760845 24921 217.226.75.80 (25 Apr 2011 19:47:25 GMT) X-Complaints-To: abuse@einsundeins.com NNTP-Posting-Date: Mon, 25 Apr 2011 19:47:25 +0000 (UTC) Xref: x330-a1.tempe.blueboxinc.net comp.os.vms:2368 comp.lang.postscript:135 After several years of doing other things, I want to make some plots like I did 10 or 15 years ago, using a Fortran program to create PostScript files then view them on screen with GV or GS. Everything works like a charm, executables compiled on VMS 7.1 with Fortran 7.1 (IIRC) back in 1996. My own old code I have returned to and completed works as expected (at least it is (self-)commented enough that I understand it). The only things which doesn't work is viewing the PostScript files created by the Fortran program. I'm sure this worked back then, but that was an older version of VMS. Does it perhaps have something to do with the lack of Display PostScript on newer versions of VMS? Yes, I know I could use something else to make the plots, but I don't want to invest the time, at least not right now, especially since the old program gets me just what I want. Yes, it is an old version of GS/GV, but that is not the problem now. The error is Error: /invalidfont in findfont I've included a test plot below (forget the contents; I just want to be able to see it). For now, it would be OK to edit the PostScript files and replace some text with another. I haven't tested it yet, but presumably the file will print on a PostScript printer. Feel free to try it out. Another option would be to install some fonts. I have done this before (so my wife could read Cyrillic text in Mozilla), but it is easy to waste a lot of time mucking about with font installation. ---------8<------------------------------------------------------------------- %! %%Emulation(postscript) %%BoundingBox: 50 50 249.4488 300.866 /lpemudict 120 dict def lpemudict begin /bdef {bind def} bind def /bflg false def /Bfont 0 def /bon false def /psz 0 def /hscl 0 def /nbuff 32 string def /reencode { dup FontDirectory exch known { findfont } { dup nbuff cvs dup length 1 sub 0 exch getinterval findfont begin currentdict dup length dict begin { 1 index /FID ne {def} {pop pop} ifelse } forall /FontName exch def /Encoding lpemuEncoding def currentdict dup end end /FontName get exch definefont } ifelse } bdef /Ux 0 def /Uy 0 def /lpemuEncoding StandardEncoding 256 array copy def 0 [ 127 /Aacute/Acircumflex/Adieresis/Agrave/Aring/Atilde/Ccedilla /Delta/Eacute/Ecircumflex/Edieresis/Egrave/Eth/Gamma/Iacute/Icircumflex /Idieresis/Igrave/Lambda/Ntilde/Oacute/Ocircumflex/Odieresis/Ograve /Omega/Otilde/Phi/Pi/Psi/Scaron/Sigma/TeXtext32/Theta/Thorn 209 /Uacute/Ucircumflex/Udieresis/Ugrave/Upsilon/Xi/Yacute/Ydieresis /Zcaron/aacute/acircumflex/adieresis/agrave/aring/atilde/brokenbar 228 /ccedilla/copyright/degree/divide 236 /dotlessj/eacute/ecircumflex/edieresis/egrave 242 /eth/ff/ffi 246 /ffl/iacute 252 /icircumflex/idieresis/igrave/logicalnot 1 /minus/mu/multiply/ntilde/oacute/ocircumflex/odieresis/ograve/onehalf /onequarter/onesuperior/otilde/plusminus/registered/scaron/thorn /threequarters/threesuperior/trademark/twosuperior/uacute/ucircumflex /udieresis/ugrave/yacute/ydieresis/zcaron ] { dup type /nametype eq { lpemuEncoding 2 index 2 index put pop 1 add } { exch pop } ifelse } forall pop /_bd {save} bdef /_bp {save 2 setmiterlimit .06 .06 scale 0 0 moveto} bdef /_ff { exch reencode exch dup /psz exch def scalefont dup /Bfont exch def setfont } bdef end lpemudict begin /rightshow {dup stringwidth pop 0 exch sub 0 rmoveto show} def /middleshow {dup stringwidth pop 2 div 0 exch sub 0 rmoveto show} def /L{newpath moveto lineto stroke}def /M{newpath moveto moveto stroke}def /T{translate}def 1 setlinecap 1 setlinejoin 0.283 setlinewidth 70.866 70.866 0.000 0.000 M 70.866 70.866 T 0.000 0.000 0.000 0.000 M 0.000 0.000 T 0.000 0.000 0.000 0.000 M 0.000 0.000 T 1.417 setlinewidth 0.000 0.000 0.000 0.000 M 0.000 0.000 T 0.000 0.000 0.000 0.000 M 425.197 0.000 0.000 0.000 L 425.197 14.173 425.197 0.000 L /Times-BoldItalicR 16.798 _ff 212.598 -39.685 moveto ( ) show 212.598 -39.685 moveto 425.197 0.000 212.598 -39.685 M 425.197 425.197 425.197 0.000 L 411.024 425.197 425.197 425.197 L 425.197 425.197 411.024 425.197 M 0.000 425.197 425.197 425.197 L 0.000 411.024 0.000 425.197 L 0.000 425.197 0.000 411.024 M /Helvetica-BoldObliqueR 25.197 _ff 0.000 453.543 moveto ( ) show 0.000 453.543 moveto /Helvetica-BoldObliqueR 25.197 _ff 212.598 453.543 moveto ( ) show 212.598 453.543 moveto /Times-BoldItalicR 16.798 _ff -28.346 212.598 translate 90.000 rotate 0.000 0.000 moveto ( ) show -90.000 rotate 28.346 -212.598 translate -28.346 212.598 moveto 0.000 425.197 -28.346 212.598 M 0.000 0.000 0.000 425.197 L 14.173 0.000 0.000 0.000 L 0.000 0.000 14.173 0.000 M 0.283 setlinewidth newpath 0.000 0.000 moveto 425.197 0.000 lineto 425.197 425.197 lineto 0.000 425.197 lineto closepath clip 0.283 setlinewidth 0.000 212.598 0.000 0.000 M 212.598 212.598 0.000 212.598 L 212.598 0.000 212.598 212.598 M 212.598 212.598 212.598 0.000 L 212.598 425.197 212.598 212.598 M 212.598 212.598 212.598 425.197 L 425.197 212.598 212.598 212.598 L 0.283 setlinewidth 0.000 212.598 425.197 212.598 M 212.598 212.598 0.000 212.598 L 212.598 0.000 212.598 212.598 M 212.598 212.598 212.598 0.000 L 212.598 425.197 212.598 212.598 M 212.598 212.598 212.598 425.197 L 425.197 212.598 212.598 212.598 L 0.283 setlinewidth 0.000 212.598 425.197 212.598 M 212.598 212.598 0.000 212.598 L 212.598 0.000 212.598 212.598 M 212.598 212.598 212.598 0.000 L 212.598 425.197 212.598 212.598 M 212.598 212.598 212.598 425.197 L 425.197 212.598 212.598 212.598 L 0.283 setlinewidth 0.000 212.598 425.197 212.598 M 212.598 212.598 0.000 212.598 L 212.598 0.000 212.598 212.598 M 212.598 212.598 212.598 0.000 L 212.598 425.197 212.598 212.598 M 212.598 212.598 212.598 425.197 L 425.197 212.598 212.598 212.598 L 0.283 setlinewidth 0.000 212.598 425.197 212.598 M 212.598 212.598 0.000 212.598 L 212.598 0.000 212.598 212.598 M 212.598 212.598 212.598 0.000 L 212.598 425.197 212.598 212.598 M 212.598 212.598 212.598 425.197 L 425.197 212.598 212.598 212.598 L 0.283 setlinewidth 0.283 setlinewidth initclip 1.417 setlinewidth 0.000 0.000 425.197 212.598 M 425.197 0.000 0.000 0.000 L 425.197 425.197 425.197 0.000 L 0.000 425.197 425.197 425.197 L 0.000 0.000 0.000 425.197 L 1.417 setlinewidth 425.197 0.000 0.000 0.000 M 425.197 14.173 425.197 0.000 L 425.197 0.000 425.197 14.173 M 425.197 7.087 425.197 0.000 L 425.197 425.197 425.197 7.087 M 411.024 425.197 425.197 425.197 L 425.197 425.197 411.024 425.197 M 418.110 425.197 425.197 425.197 L 425.197 425.197 418.110 425.197 M 425.197 411.024 425.197 425.197 L 425.197 425.197 425.197 411.024 M 425.197 418.110 425.197 425.197 L 0.000 425.197 425.197 418.110 M 14.173 425.197 0.000 425.197 L 0.000 425.197 14.173 425.197 M 7.087 425.197 0.000 425.197 L 0.000 0.000 7.087 425.197 M 1.417 setlinewidth 0.283 setlinewidth 1.000 1.000 scale 1.000 1.000 scale showpage end