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


Groups > comp.lang.postscript > #292

PostScript, Fortran, GhostScript: need help pinpointing a problem

From helbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply)
Newsgroups comp.lang.postscript
Subject PostScript, Fortran, GhostScript: need help pinpointing a problem
Date 2011-08-14 10:01 +0000
Organization Multivax C&R
Message-ID <j286e5$j1r$1@online.de> (permalink)

Show all headers | View raw


I inherited a Fortran program which produces PostScript files.  I use it 
for plotting.  Works fine, nice interface, easy to use, produces 
reasonable PostScript, does all I need.  In other words, I want to 
continue to use it.

The files which it produces always look correct on a PostScript printer.
However, with GhostScript, sometimes some fonts are substituted (Latin 
letters instead of the Greek ones I want).  I have also seen this when 
someone else produced PostScript output with one of the plots included 
in a LaTeX document (I don't know the details of that).

The Program is from the early 1990s, so knows only about PostScript from 
that timeframe.  As far as I know, it uses just standard "built-in 
PostScript fonts".

With a new version of GhostScript, I see an error message which points 
to the problem.  However, I am still not clear what the actual source of 
the problem is and how to correct it.

I want to figure out if the problem is with the PostScript file
(produced by the Fortran program), with GhostScript or with the setup on 
my system (maybe I need to install some fonts).

The problem is that I see Latin letters (l and W) for the axes labels 
when I want to see Greek letters (from the Symbol font).

I have a very small PostScript file (see below) which reproduces the
problem.  Any help much apprecieated. 

Here is the output:

GPL Ghostscript 9.02 (2011-03-30)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Can't find (or can't open) font file %rom%Resource/Font/Symbo.
Can't find (or can't open) font file Symbo.
Querying operating system for font files...
Didn't find this font on the system!
Substituting font Courier for Symbo.
Loading Courier font from SYS$COMMON:[SYSFONT.DECW.TYPE1]COUR.PFA... 2622656 122
2190 2726224 1436575 1 done.
GPL Ghostscript 9.02: Warning: the Xfonts feature is deprecated and will be remo
ved in a future release.
Loading NimbusSanL-BoldItal font from %rom%Resource/Font/NimbusSanL-BoldItal...
2639344 1305899 2746320 1445298 1 done.
>>showpage, press <return> to continue<<
quit
GS>

The problem is:

Can't find (or can't open) font file %rom%Resource/Font/Symbo.
Can't find (or can't open) font file Symbo.
Querying operating system for font files...
Didn't find this font on the system!
Substituting font Courier for Symbo.
Loading Courier font from SYS$COMMON:[SYSFONT.DECW.TYPE1]COUR.PFA... 2622656 122
2190 2726224 1436575 1 done.

What puzzles me is that the error message says "Symbo" instead of
"Symbol".  Why?  Is it looking for Symbo and can't find it, but 
presumably could find Symbol?

Also, what does this mean:

GPL Ghostscript 9.02: Warning: the Xfonts feature is deprecated and will 
be remo
ved in a future release.
Loading NimbusSanL-BoldItal font from %rom%Resource/Font/NimbusSanL-
BoldItal...
2639344 1305899 2746320 1445298 1 done.

---------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
 /Symbol      16.798 _ff
   212.598   -39.685 moveto
 (l) 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
 (age) show
     0.000   453.543 moveto
 /Helvetica-BoldObliqueR     25.197 _ff
   212.598   453.543 moveto
 ( ) show
   212.598   453.543 moveto
 /Symbol      16.798 _ff
   -28.346   212.598 translate
    90.000 rotate
     0.000     0.000 moveto
 (W) 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
 showpage
 end

Back to comp.lang.postscript | Previous | NextNext in thread | Find similar


Thread

PostScript, Fortran, GhostScript: need help pinpointing a problem helbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply) - 2011-08-14 10:01 +0000
  Re: PostScript, Fortran, GhostScript: need help pinpointing a problem "Mark T. B. Carroll" <mtbc@bcs.org> - 2011-08-14 08:24 -0400
  Re: PostScript, Fortran, GhostScript: need help pinpointing a problem SaGS <sags5495@gmail.com> - 2011-08-14 05:12 -0700
    Re: PostScript, Fortran, GhostScript: need help pinpointing a problem helbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply) - 2011-08-14 15:02 +0000
      Re: PostScript, Fortran, GhostScript: need help pinpointing a problem Helge Blischke <h.blischke@acm.org> - 2011-08-14 18:39 +0200
        Re: PostScript, Fortran, GhostScript: need help pinpointing a problem helbig@astro.multiCLOTHESvax.de (Phillip Helbig---undress to reply) - 2011-08-14 17:11 +0000
          Re: PostScript, Fortran, GhostScript: need help pinpointing a problem Helge Blischke <h.blischke@acm.org> - 2011-08-14 19:19 +0200
  Re: PostScript, Fortran, GhostScript: need help pinpointing a problem ken <ken@spamcop.net> - 2011-08-14 20:09 +0100

csiph-web