[comp.sys.mac.misc] ZapfDingbats problem in FreeHand generated EPSF ?

mak@cs.nott.ac.uk (Martijn Koster) (03/05/91)

Hello all,

I have a problem with getting ZapfDingbats in EPSF files generated by
Aldus FreeHand 2.0 on the Mac: they don't show up.

The document consists of one single textbox, with one ZapfDinbats %
(the telephone) symbol in it. When printed out directly it comes out
fine, but when I "Export" as EPSF file, upload it to a UNIX machine and
"lpr" it to the same printer, nothing shows up.

I eventually managed to get them by putting and explicit "/ZapfDingbats
findfont 14 scalefont setfont" just before the show command.

Does anybody know what's going on here, is there a bug in the FreeHand
EPSF header?

BTW, the Mac is a MacPlus, and the laserwriter a Plus and a Personal
LaserWriter. I'd include the EPSF file, but I'm afraid the FreeHand
dictionary might have copyright on it :-(

Svp mail me direct, I'll summarise for the net

-- Martijn Koster

mak@cs.nott.ac.uk

sanglee@gandalf.Berkeley.EDU (Sang-Ho Lee) (03/06/91)

>
>I have a problem with getting ZapfDingbats in EPSF files generated by
>Aldus FreeHand 2.0 on the Mac: they don't show up.
>
>Does anybody know what's going on here, is there a bug in the FreeHand
>EPSF header?
>

Probably.  I had the same problem with Canvas 2.1 (Canvas Separator). The
problem was that in the EPS prolog they define a procedure which changes the
encoding vector of whatever font is being used in the file.  They are trying
to make sure that the encoding vector conformes to the ASCII standard table
(thus, presumably, ensuring portability between different hardware platforms?).
Unfortunately, they do this indiscriminately, causing trouble with all fonts
that do not consist of the standard character set, like Symbol, Zapf Dingbats,
Sonata,...  For instance, for the Symbol font,  if you use /universal (the
inverted A, octal 042), then it will be included in your PostScript as " (that
is, (/042)), and since octal 042 has been reencoded as /quotedbl by the
prolog, the PostScript interpreter looks for /quotedbl, which the Symbol font
doesn't have, and.... (whew) finally, produces nothing on the printout!

Bye the way, almost all programs I've seen do this reencoding in the prolog,
including Apple's LaserPrep.  In the latter case, from what I can tell,
LaserWriter driver generates a flag (True or False) for each font, giving False
for those fonts whose encoding shouldn't be tampered with, and the procedure
defined in the LaserPrep changes the encoding only if the flag is not False.

So here is my question:  how does the LaserWriter driver figure that out?
Is there any information in the Mac FOND on whether the encoding is
"FontSpecific" (as would be specified in AFM files)?

>Svp mail me direct, I'll summarise for the net
>

(I am mailing a copy of this to him.)

gelphman@adobe.COM (David Gelphman) (03/13/91)

>>I have a problem with getting ZapfDingbats in EPSF files generated by
>>Aldus FreeHand 2.0 on the Mac: they don't show up.
>>
>>Does anybody know what's going on here, is there a bug in the FreeHand
>>EPSF header?
...
>Bye the way, almost all programs I've seen do this reencoding in the prolog,
>including Apple's LaserPrep.  In the latter case, from what I can tell,
>LaserWriter driver generates a flag (True or False) for each font, giving False
>for those fonts whose encoding shouldn't be tampered with, and the procedure
>defined in the LaserPrep changes the encoding only if the flag is not False.
>
>So here is my question:  how does the LaserWriter driver figure that out?

   On the Macintosh the FOND resource contains a Font Classification
word which indicates (among other things) whether the font is a 'standard'
Mac encoded font or whether it must be specially encoded. For fonts which
are specially encoded, the FOND contains a font encoding table which 
is a delta encoding applied to that fonts built in encoding. In the case
of Symbol, the font classification indicates that it is NOT a standard
Mac encoded font so it should not be treated the same way as, say, Times-Roman
but the delta vector is zero, meaning that the font is not re-encoded from
it's built in encoding.
   This information is published in the LaserWriter Reference Manual
by Addison Wesley. 

Hope this helps,
David Gelphman
Adobe Systems Incorporated