Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.postscript > #135 > unrolled thread

viewing PostScript files on VMS 7.3-2

Started byhelbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply)
First post2011-04-25 19:47 +0000
Last post2011-04-26 09:58 +0200
Articles 15 — 6 participants

Back to article view | Back to comp.lang.postscript


Contents

  viewing PostScript files on VMS 7.3-2 helbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply) - 2011-04-25 19:47 +0000
    Re: viewing PostScript files on VMS 7.3-2 koehler@eisner.nospam.encompasserve.org (Bob Koehler) - 2011-04-25 15:37 -0500
      Re: viewing PostScript files on VMS 7.3-2 helbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply) - 2011-04-25 21:44 +0000
    Re: viewing PostScript files on VMS 7.3-2 ken <ken@spamcop.net> - 2011-04-25 21:49 +0100
      Re: viewing PostScript files on VMS 7.3-2 helbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply) - 2011-04-25 21:48 +0000
        Re: viewing PostScript files on VMS 7.3-2 ken <ken@spamcop.net> - 2011-04-26 08:29 +0100
          Re: viewing PostScript files on VMS 7.3-2 helbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply) - 2011-04-26 07:58 +0000
            Re: viewing PostScript files on VMS 7.3-2 ken <ken@spamcop.net> - 2011-04-26 10:35 +0100
              Re: viewing PostScript files on VMS 7.3-2 helbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply) - 2011-04-26 11:23 +0000
                Re: viewing PostScript files on VMS 7.3-2 m.kraemer@gsi.de (Michael Kraemer) - 2011-04-26 11:36 +0000
    Re: viewing PostScript files on VMS 7.3-2 JF Mezei <jfmezei.spamnot@vaxination.ca> - 2011-04-25 19:51 -0400
      Re: viewing PostScript files on VMS 7.3-2 helbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply) - 2011-04-26 07:56 +0000
    Re: viewing PostScript files on VMS 7.3-2 JOUKJ <joukj@hrem.nano.tudelft.nl> - 2011-04-26 08:42 +0200
      Re: viewing PostScript files on VMS 7.3-2 ken <ken@spamcop.net> - 2011-04-26 08:33 +0100
        Re: viewing PostScript files on VMS 7.3-2 JOUKJ <joukj@hrem.nano.tudelft.nl> - 2011-04-26 09:58 +0200

#135 — viewing PostScript files on VMS 7.3-2

Fromhelbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply)
Date2011-04-25 19:47 +0000
Subjectviewing PostScript files on VMS 7.3-2
Message-ID<ip4j4d$oap$1@online.de>
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

[toc] | [next] | [standalone]


#136

Fromkoehler@eisner.nospam.encompasserve.org (Bob Koehler)
Date2011-04-25 15:37 -0500
Message-ID<dhLvY67rQhV3@eisner.encompasserve.org>
In reply to#135
In article <ip4j4d$oap$1@online.de>, helbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply) writes:
> 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? 

   I don't know if an older version of GV or GS used Display Postscript,
   but I've been using the GV and GS on VMS systems long after Display
   Postscript went away, with no problems.

   Try getting the latest GV, GS, for VMS.

[toc] | [prev] | [next] | [standalone]


#138

Fromhelbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply)
Date2011-04-25 21:44 +0000
Message-ID<ip4pvr$tli$1@online.de>
In reply to#136
In article <dhLvY67rQhV3@eisner.encompasserve.org>,
koehler@eisner.nospam.encompasserve.org (Bob Koehler) writes: 

>    I don't know if an older version of GV or GS used Display Postscript,
>    but I've been using the GV and GS on VMS systems long after Display
>    Postscript went away, with no problems.
> 
>    Try getting the latest GV, GS, for VMS.

If I understand the error message correctly, it can't find the font it 
wants.  Would a new version of GV solve this problem?

IIRC, I always put off upgrading GV since it wouldn't build out of the 
box like, say, the packages at Hunter's site.  Has this changed?

[toc] | [prev] | [next] | [standalone]


#137

Fromken <ken@spamcop.net>
Date2011-04-25 21:49 +0100
Message-ID<MPG.281fee7aa8450277989832@usenet.plus.net>
In reply to#135
In article <ip4j4d$oap$1@online.de>, helbig@astro.multiCLOTHESvax.de 
says...

> 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? 

No, Ghostscript doesn't rely on Display PostScript (in fact Ghostscript 
is capable of being a DPS server).


> The error is 
> 
>    Error: /invalidfont in findfont

Unfortunately you didn't quote the rest of the error, so we don't know 
which font it can't find. However all the fonts you are using seem to 
have 'unusual' names, such as Times-BoldItalicR. The trailing capital R 
looks like it ought to be assigned to a re-encoded font, but there 
doesn't seem to be any code to find the original font name and rename 
it.

Perhaps I'm wrong, but that looks like the problem. FWIW the current 
version of Ghostscript has some crude font matching which appears to use 
Helvetica-BoldItalic and Times-Roman-Italic as substitutes, this does 
not produce any errors (nor any text output either, though the strokes 
are present).


> For now, it would be OK to edit the PostScript files and replace some 
> text with another.

You could rename the fonts to use ones which are present on your system.

> 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.

Installing the fonts for Ghostscript's use is another way to make this 
work. You haven't actually said which version of Ghostscrit you are 
using, and you do say its old, so probably I can't offer much advice on 
this.

			Ken

[toc] | [prev] | [next] | [standalone]


#139

Fromhelbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply)
Date2011-04-25 21:48 +0000
Message-ID<ip4q7v$tli$2@online.de>
In reply to#137
In article <MPG.281fee7aa8450277989832@usenet.plus.net>, ken
<ken@spamcop.net> writes: 

> > PostScript files created by the Fortran program.  

> >    Error: /invalidfont in findfont
> 
> Unfortunately you didn't quote the rest of the error, so we don't know 
> which font it can't find. However all the fonts you are using seem to 
> have 'unusual' names, such as Times-BoldItalicR. 

Right.

> The trailing capital R 
> looks like it ought to be assigned to a re-encoded font, but there 
> doesn't seem to be any code to find the original font name and rename 
> it.

It might be that it is not 100% correct PostScript.  It had always 
worked, so I was in the "don't change a running system" category.

> Perhaps I'm wrong, but that looks like the problem. FWIW the current 
> version of Ghostscript has some crude font matching which appears to use 
> Helvetica-BoldItalic and Times-Roman-Italic as substitutes, this does 
> not produce any errors (nor any text output either, though the strokes 
> are present).

On the sample I included?  I don't think there is any text in it; it was 
just a quick plot to check if everything was working.

> > For now, it would be OK to edit the PostScript files and replace some 
> > text with another.
> 
> You could rename the fonts to use ones which are present on your system.

Is there an easy way to find this out?  As I said, it is unclear (at 
least to me) which application looks where to find what fonts?

> Installing the fonts for Ghostscript's use is another way to make this 
> work. You haven't actually said which version of Ghostscrit you are 
> using, and you do say its old, so probably I can't offer much advice on 
> this.

  GS == "$DISK$SOFT:[GHOST.GS4_03]GS.EXE"

As I said, quite ancient.

[toc] | [prev] | [next] | [standalone]


#145

Fromken <ken@spamcop.net>
Date2011-04-26 08:29 +0100
Message-ID<MPG.28208460c980d6a1989833@usenet.plus.net>
In reply to#139
In article <ip4q7v$tli$2@online.de>, helbig@astro.multiCLOTHESvax.de 
says...

> > The trailing capital R 
> > looks like it ought to be assigned to a re-encoded font, but there 
> > doesn't seem to be any code to find the original font name and rename 
> > it.
> 
> It might be that it is not 100% correct PostScript.  It had always 
> worked, so I was in the "don't change a running system" category.

The PostScript is fine, its just looking for a font you don't seem to 
have.


> > version of Ghostscript has some crude font matching which appears to 
use 
> > Helvetica-BoldItalic and Times-Roman-Italic as substitutes, this does 
> > not produce any errors (nor any text output either, though the strokes 
> > are present).
> 
> On the sample I included?  I don't think there is any text in it; it was 
> just a quick plot to check if everything was working.

Well that would explain the lack of text ;-) I didn't look to see if the 
fonts were used, but the program does look for, scale and set as the 
current font several different fonts.


> > You could rename the fonts to use ones which are present on your 
system.
> 
> Is there an easy way to find this out?  As I said, it is unclear (at 
> least to me) which application looks where to find what fonts?

You can ask Ghostscript to tell you which fonts are installed (for 
Ghostscript) by writing a PostScript program. If you send this:

%!
(Known fonts : ) ==
(*) {==} 256 string /Font resourceforall

The GS will send the names of all the fonts it knows about to the back 
channel. Note that these are string, so will be enclosed in the string 
delimiters '(' and ')', they will not have the name delimiter '/'. To 
use say (Helvetica-Narrow-Oblique) in a PostScript program you would 
call for /Helvetica-Narrow-Oblique (Tell me if I'm being too basic 
here).

 
> > Installing the fonts for Ghostscript's use is another way to make this 
> > work. You haven't actually said which version of Ghostscrit you are 
> > using, and you do say its old, so probably I can't offer much advice on 
> > this.
> 
>   GS == "$DISK$SOFT:[GHOST.GS4_03]GS.EXE"
> 
> As I said, quite ancient.

Oh boy, that really is old! That was released in May 1998 so its very 
nearly 14 now.

I can understand your reluctance to upgrade, and in this case I don't 
believe there is actually a problem with Ghostscript, you just need to 
either install the required fonts, or use ones which are installed.

I can't really offer advice on installing fonts to a version of GS that 
old, as I suspect it has changed. You may find it easiest to change the 
name of the fonts you are looking for.

				Ken

[toc] | [prev] | [next] | [standalone]


#149

Fromhelbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply)
Date2011-04-26 07:58 +0000
Message-ID<ip5tv8$8bn$2@online.de>
In reply to#145
In article <MPG.28208460c980d6a1989833@usenet.plus.net>, ken
<ken@spamcop.net> writes: 

> > It might be that it is not 100% correct PostScript.  It had always 
> > worked, so I was in the "don't change a running system" category.
> 
> The PostScript is fine, its just looking for a font you don't seem to 
> have.

In that case, I'm surprised that it worked in the past (or perhaps I 
have a parity error in my wetware memory).

[toc] | [prev] | [next] | [standalone]


#150

Fromken <ken@spamcop.net>
Date2011-04-26 10:35 +0100
Message-ID<MPG.2820a232cb7dde23989835@usenet.plus.net>
In reply to#149
In article <ip5tv8$8bn$2@online.de>, helbig@astro.multiCLOTHESvax.de 
says...

> > The PostScript is fine, its just looking for a font you don't seem 
to 
> > have.
> 
> In that case, I'm surprised that it worked in the past (or perhaps I 
> have a parity error in my wetware memory).

Not really any way I can test that ;-) Perhaps the installed fonts have 
changed or something, though that would seem equally unlikely....



		Ken

[toc] | [prev] | [next] | [standalone]


#151

Fromhelbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply)
Date2011-04-26 11:23 +0000
Message-ID<ip69va$iak$1@online.de>
In reply to#150
In article <MPG.2820a232cb7dde23989835@usenet.plus.net>, ken
<ken@spamcop.net> writes: 

> Not really any way I can test that ;-) Perhaps the installed fonts have 
> changed or something, though that would seem equally unlikely....

I edited the file and made some substitutions suggested by JF, then I 
got a message saying it can't find a font which was in the list of known 
fonts (see below).

Interestingly, it is looking in SYS$COMMON:[SYSFONT.XDPS.OUTLINE] but 
that directory is empty.  Why would it exist if it is empty?  And "DPS" 
sounds like "Display PostScript".  So, could it be that prior to 7.3 it 
was using fonts here, then the upgrade to 7.3 removed files from this 
directory?

Yes, when I have time a) I will learn all about fonts and b) upgrade GV 
and so on, but now I need a quick solution.

---------8<-------------------------------------------------------------------

(Known fonts : )
(Shareware-Cyrillic-Italic)
(Courier)
(AvantGarde-Demi)
(Times-BoldItalic)
(LubalinGraph-DemiOblique)
(Charter-Roman)
(Cyrillic-Regular)
(Bookman-Demi)
(NewCenturySchlbk-Roman)
(Souvenir-LightItalic)
(Charter-Bold)
(Calligraphic-Hiragana)
(Helvetica)
(Bookman-Light)
(NewCenturySchlbk-Bold)
(Souvenir-DemiItalic)
(Courier-Italic)
(Symbol)
(Courier-Oblique)
(Palatino-Roman)
(ZapfChancery-Oblique)
(Utopia-Regular)
(ZapfDingbats)
(Helvetica-Narrow)
(Courier-BoldOblique)
(Palatino-Bold)
(ZapfChancery-MediumItalic)
(Utopia-Bold)
(Helvetica-Bold)
(Times-Roman)
(LubalinGraph-Book)
(CharterBT-Italic)
(Shareware-Cyrillic-Regular)
(AvantGarde-BookOblique)
(Times-Bold)
(LubalinGraph-Demi)
(CharterBT-BoldItalic)
(Cyrillic)
(AvantGarde-DemiOblique)
(Souvenir-Light)
(Charter-Italic)
(Cyrillic-Italic)
(Bookman-DemiItalic)
(NewCenturySchlbk-Italic)
(Souvenir-Demi)
(Charter-BoldItalic)
(Calligraphic-Katakana)
(Bookman-LightItalic)
(NewCenturySchlbk-BoldItalic)
(ZapfChancery)
(Courier-BoldItalic)
(Courier-Bold)
(Palatino-Italic)
(ZapfChancery-Bold)
(Utopia-Italic)
(Helvetica-Oblique)
(Palatino-BoldItalic)
(NullFont)
(CharterBT-Roman)
(Utopia-BoldItalic)
(AvantGarde-Book)
(Helvetica-BoldOblique)
(Times-Italic)
(LubalinGraph-BookOblique)
(CharterBT-Bold)

[toc] | [prev] | [next] | [standalone]


#152

Fromm.kraemer@gsi.de (Michael Kraemer)
Date2011-04-26 11:36 +0000
Message-ID<ip6anm$nu4$1@lnx107.hrz.tu-darmstadt.de>
In reply to#151
In article <ip69va$iak$1@online.de>, helbig@astro.multiCLOTHESvax.de (Phillip
Helbig---undress to reply) writes:

> 
> Yes, when I have time a) I will learn all about fonts and b) upgrade GV 
> and so on, but now I need a quick solution.
> 

You get this kind of error message also if the 
GS_LIB environment variable (on VMS this would be some
logical name, I guess) doesn't include a path to the
font directory. 

[toc] | [prev] | [next] | [standalone]


#140

FromJF Mezei <jfmezei.spamnot@vaxination.ca>
Date2011-04-25 19:51 -0400
Message-ID<4db60917$0$12958$c3e8da3$9deca2c3@news.astraweb.com>
In reply to#135
You are correct that after 7.2, display postscript was no longer
available on VMS. Prior to 7.3, there was a "view" utility that let you
view postscript as well as CDA documents. So you woudln't need
ghostscript for it.


2- Your font encodings can be greatly simplied since Postscript Level 2:
(and some would say it isn't even necessary).

/Helvetica-Bold findfont dup length dict begin
{ 1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding ISOLatin1Encoding def
currentdict
end
/Helvetica-Bold exch definefont pop

And when you want that font active:

/Helvetica-Bold findfont 30 scalefont setfont

You do this for each font you wish to use.

Here are the fonts used in your postscipt:

>  /Times-BoldItalicR     16.798 _ff
>  /Helvetica-BoldObliqueR     25.197 _ff



This is for ghostscript on OS-X  (built on OS-X from sources)


velo$  gs
GPL Ghostscript  9.00 (2010-09-14)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.

THIS IS A TYPO, BUT IT SHOWS HOW GS REACTS TO INVALID FONT:

GS>/Time-BoldItalic findfont 30 scalefont setfont
Can't find (or can't open) font file %rom%Resource/Font/Time-BoldItalic.
Can't find (or can't open) font file Time-BoldItalic.
Querying operating system for font files...
Didn't find this font on the system!
Substituting font Helvetica-BoldOblique for Time-BoldItalic.
Loading NimbusSanL-BoldItal font from
%rom%Resource/Font/NimbusSanL-BoldItal... 3335056 1979387 3731976
2435655 1 done.


GS>/Times-BoldItalic findfont 30 scalefont setfont
Loading NimbusRomNo9L-MediItal font from
%rom%Resource/Font/NimbusRomNo9L-MediItal... 3449072 2125585 3731976
2439072 1 done.
GS>300 300 moveto (Hello World ) show

GS>/Helvetica-BoldOblique findfont 30 scalefont setfont
GS>300 400 moveto (Hello World) show
GS>quit



So when you don't find a proper font, it does try to substitute it. At
least on a recent version.


Now, testing your own fonts:

velo$ gs
GPL Ghostscript  9.00 (2010-09-14)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.

GS>/Times-BoldItalicR findfont 30 scalefont setfont

Can't find (or can't open) font file %rom%Resource/Font/Times-BoldItalicR.
Can't find (or can't open) font file Times-BoldItalicR.
Querying operating system for font files...
Didn't find this font on the system!
Substituting font Times-BoldItalic for Times-BoldItalicR.
Loading NimbusRomNo9L-MediItal font from
%rom%Resource/Font/NimbusRomNo9L-MediItal... 3335056 2001340 3731976
2435675 1 done.



It is quite likely that the older version on VMS doesn't have the same
font substutution support. Removing the "R" at the end of font names
would likely help.

[toc] | [prev] | [next] | [standalone]


#147

Fromhelbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply)
Date2011-04-26 07:56 +0000
Message-ID<ip5tqq$8bn$1@online.de>
In reply to#140
In article <4db60917$0$12958$c3e8da3$9deca2c3@news.astraweb.com>, JF
Mezei <jfmezei.spamnot@vaxination.ca> writes: 

> You are correct that after 7.2, display postscript was no longer
> available on VMS. Prior to 7.3, there was a "view" utility that let you
> view postscript as well as CDA documents. So you woudln't need
> ghostscript for it.

OK, but this seems more or less independent of GS, GV etc.

> 
> 2- Your font encodings can be greatly simplied since Postscript Level 2:
> (and some would say it isn't even necessary).

Thanks; I'll investigate.  The plotting program was written (not by me;
I inherited it from a former colleague) mostly in the late 1980s in
Fortran 77.  I don't know what the PostScript standard was like then.  I 
have seen many plots made with PGPLOT, gnuplot etc but prefer the ones 
made with this code, both for their appearance and for the comfort 
(there is an ASCII-menu interface where one can change different stuff, 
save it, load previously saved stuff from a file etc).

> It is quite likely that the older version on VMS doesn't have the same
> font substutution support. Removing the "R" at the end of font names
> would likely help.

That might be enough, at least for now.  As I said, I'm not sure how 
"good" the PostScript is, especially in relation to newer font schemes.  
I could change the code and recompile, but that would take a while 
(considering that the code wasn't written by me).

[toc] | [prev] | [next] | [standalone]


#144

FromJOUKJ <joukj@hrem.nano.tudelft.nl>
Date2011-04-26 08:42 +0200
Message-ID<4DB66958.5080506@hrem.nano.tudelft.nl>
In reply to#135
Phillip Helbig---undress to reply wrote:
> 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
> 
I can reproduce this error with OpenVMS 8.4 and gs ( SVN PRE-RELEASE 
8.56 (2006-05-20)) and gv 358. The problem is the ghostview program
If I run your postcript code just using "gs test.ps" It just draws
the squares. But using "gv test.ps" the window with your error pops-up.

                  Jouk

[toc] | [prev] | [next] | [standalone]


#146

Fromken <ken@spamcop.net>
Date2011-04-26 08:33 +0100
Message-ID<MPG.28208594fee0582989834@usenet.plus.net>
In reply to#144
In article <4DB66958.5080506@hrem.nano.tudelft.nl>, 
joukj@hrem.nano.tudelft.nl says...

> I can reproduce this error with OpenVMS 8.4 and gs ( SVN PRE-RELEASE 
> 8.56 (2006-05-20)) and gv 358. The problem is the ghostview program
> If I run your postcript code just using "gs test.ps" It just draws
> the squares. But using "gv test.ps" the window with your error pops-up.

All versions of GhostView use Ghostscript to render the PostScritp file 
to a bitmap. If you are getting different behaviour between GS and GV 
then either GV is not using the same Ghostscript executable as the one 
you tested, or there are command line parameters making a difference.

Recent versions of all PostScript interpreters will replace missing 
fonts with a known substitute, so you should not get an error just 
because a font is missing. Recent versions of Ghostscript will do some 
primitive matching to try and get a reasonable replacement.

So in this case I would suggest that GV is using a different, probably 
earlier, version of Ghostscript.


			Ken

[toc] | [prev] | [next] | [standalone]


#148

FromJOUKJ <joukj@hrem.nano.tudelft.nl>
Date2011-04-26 09:58 +0200
Message-ID<9e28a$4db67b10$82a13c9d$1059@news1.tudelft.nl>
In reply to#146
ken wrote:
> In article <4DB66958.5080506@hrem.nano.tudelft.nl>, 
> joukj@hrem.nano.tudelft.nl says...
> 
>> I can reproduce this error with OpenVMS 8.4 and gs ( SVN PRE-RELEASE 
>> 8.56 (2006-05-20)) and gv 358. The problem is the ghostview program
>> If I run your postcript code just using "gs test.ps" It just draws
>> the squares. But using "gv test.ps" the window with your error pops-up.
> 
> All versions of GhostView use Ghostscript to render the PostScritp file 
> to a bitmap. If you are getting different behaviour between GS and GV 
> then either GV is not using the same Ghostscript executable as the one 
> you tested, or there are command line parameters making a difference.
> 
> Recent versions of all PostScript interpreters will replace missing 
> fonts with a known substitute, so you should not get an error just 
> because a font is missing. Recent versions of Ghostscript will do some 
> primitive matching to try and get a reasonable replacement.
> 
> So in this case I would suggest that GV is using a different, probably 
> earlier, version of Ghostscript.
> 
> 
> 			Ken
Nope. I'm sure it is the same version of gs. My suspicion is the 
communication between gs and gv.One should actually try to port a newer 
version of gv to openVMS (I did not succeed yet in the limited time I 
have, please let me know if someone else has made progress)

                  Jouk

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.postscript


csiph-web