Synthetic Fonts

Mimi Burbank mimi at CSIT.FSU.EDU
Fri Mar 19 08:32:53 CET 2004


On Mar16 10:25PM, Paul Mailhot wrote:
> Does anyone remember how to utilize the *synthetic* feature of atmfonts.map
>
> I am currently formatting a book that contains HelveticaNeue-CondObl
>
> I inserted
>
> hlco=HelveticaNeue-CondensedObl *synthetic*
>
> in my atmfonts.map, however, dvipsone still gives me the error
>
> [hlco~ USE *SYNTHETIC*]
>
> any ideas?  I am using the yandy21 version.  I tried it in yandy20, yandy16,
> yandy22, same problems.
>
> Thanks
> Paul Mailhot


was hoping someone else would pipe up and say something..  I'm
unfamiliar with this...  BUT... my "search" has led to the
following:

in the Technical Addendum, there is a note that says:

Select the font in question in `Fonts/Show Font.' Check all
four styles. If ` *synthetic*' shows up in the title bar, there
is a problem with the font files for that style. For example, the
PFM file may be missing or corrupted. Reinstall the fonts.
Alternatively, in rare cases, the ATM Quick Load Cache may get
corrupted. In that case, delete the file atmfontsqlc (typically in
c:\psfonts) and reboot your system.  (or in the case oef windows,
it would be in the windows\fonts area I assume..


in the DVIPSONE/doc/news.txt:
(*) New warning about synthetic fonts:  So-called synthetic fonts have
 a complex structure that makes partial font downloading risky.
 Synthetic fonts are relatively rare, and usually DVIPSONE figures
 out ahead of time that a font is synthetic.  If DVIPSONE complains
 `use *synthetic*' then it is because it didn't notice early enough
 that the font was synthetic.  In this case, use the *synthetic* flag
 in a font substitution file to alert DVIPSONE to the font's special
 structure. Or use the printer resident version of the font, if available.
---------

DVIPSONE/doc/readme.txt has some more info in it about synthetic
fonts...

4. Potential problems with some printer resident `Synthetic Fonts':
-------------------------------------------------------------------

Synthetic fonts are fonts based on other fonts.  They use the CharStrings
from the base font, but have a different FontMatrix.  This technique is
sometimes used to make oblique, narrow, or expanded versions of font
(as opposed to having a separate design).

Certain PS interpreters (such as QMS PS 815 MR) cannot handle a down-loaded
`synthetic' fonts when the base font is one of the printer resident fonts.
For example, Helvetica-Oblique is a synthetic font that contains a copy of
Helvetica in its encrypted section.  This is wrapped in some code that reads
over and discards the embedded font if (a) a font of that name already
exists, and (b) if that font has the same UniqueID and (c) if that font
is a Type 1 font.

If all three tests succeed, then the new font borrows the CharStrings of
the base font to construct the oblique version.  If the font is printer
resident, however, then the CharString dictionary may not contain the
CharStrings themselves, but indeces into a string called CharOffsets,
which in turn contains offsets into a string called CharData.  This is
the format of a Type 5 font.  And unfortunately on some printers such
fonts are incorrectly labelled Type 1!

In this situation nothing will print when the synthetic font is selected.
This is not a problem due to DVIPSONE, but happens whenever a synthetic
font is downloaded that contains a base font that is printer resident.

The solution is to simply use the printer resident version of the
synthetic font and save the downloading.  Use *resident* in the font
substitution file (and *force*, otherwise DVIPSONE will not refer
to the substitution if it finds a PFB file first).

hope this helps, but if not, can anyone else shed some light
on the subject ???



mimi




More information about the yandytex mailing list