Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!newsfeed.kamp.net!newsfeed.kamp.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Helge Blischke Newsgroups: comp.lang.postscript Subject: Re: PostScript, Fortran, GhostScript: need help pinpointing a problem Followup-To: comp.lang.postscript Date: Sun, 14 Aug 2011 19:19:34 +0200 Lines: 41 Message-ID: <9aqed7FaurU1@mid.individual.net> References: <4097c3f8-0d56-4a4d-82cc-d08ebc469840@a31g2000vbt.googlegroups.com> <9aqc25Fon7U1@mid.individual.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit X-Trace: individual.net PrKnGOj2Pu9CxWg+oNaxxg42g3+LvO50KotWEKtJnQXqESybPO Cancel-Lock: sha1:1TbNEX8wqBvPya8DOkiOMqznKlM= User-Agent: KNode/0.99.01 Xref: x330-a1.tempe.blueboxinc.net comp.lang.postscript:298 Phillip Helbig---undress to reply wrote: > In article <9aqc25Fon7U1@mid.individual.net>, Helge Blischke > writes: > >> > Is there an easy way to edit the file (preferably inserting something >> > only at the beginning of the file) to avoid this error? >> You may insert the line >> /Symbol findfont pop >> just after the line >> lpemuldict begin >> to preload the Symbol font into the FontDirectory. > > That worked; thanks! I could modify the Fortran program to always put > in this line (presumably it wouldn't hurt). > >> > Another question: Why is the Symbol font not found in the first place? >> > I thought it was rather standard. >> as SaGS states above, Ghostscript starts with an empty FontDirectory >> dictioary, whereas most PostScript printers (still) preload the fonts >> embedded in the printer (the so called ROM fonts) during a (vendor >> specific) startup procedure. > > OK. However, the 12 other fonts the Fortran program uses (Roman, > Sans-Serif and Typewriter and each bold/non-bold italic/non-italic) all > display correctly in GhostScript; why is it only the Symbol font which > has the problem? because of how the reencode procedure your fortran program spits out is defined. Roughly said, it works as follows: 1) if the font is already in FontDirectory, use it as it is. 2) otherwise, chop off the last letter from the requested font name, retrieve the font having the truncated name, reencode it and save it under the original name in FontDorectory (so it won't be reencoded a second time). Thus, e.g. the font /Helvetica-BoldOblique will be saved as /Helvetica-BoldObliqueR (R for "reencoded") in the interpreter's FontDirectory. Helge