[comp.lang.postscript] Combining existing fonts

kcc@wucs1.wustl.edu (Ken Cox) (11/20/90)

We have an application (Mac-based) in which we mix together characters
from the Times-Roman and Symbol fonts.  We have a single font on the
Mac which contains the characters from both fonts, so by using the
shift and option keys we can type the text without switching fonts.
Our problem is that we can't easily print the resulting text.

We were wondering if there is a simple way to define a new font which
is a combination of two (or more) fonts resident on the printer.  That
is, we want to achieve the same effect as re-encoding an existing font
(like Program 17 in the blue book), but combine two fonts in the process.

We tried a re-encoding where we copied the existing font information
from the Times and Symbol fonts' Encoding and CharStrings arrays, but
this doesn't work.  The problem seems to be the Private dictionary;
we can print characters from whichever font supplied the Private
dictionary but not the other.  (We also can't look at or copy the
contents of the Private dictionary.)

We also tried a user-defined font in which the BuildChar procedure
after doing a setcachedevice executed a procedure like
	{ TR1 setfont 0 0 moveto (A) show }
to produce the character; TR1 is defined as a 1-unit Times-Roman font.
This also failed, although I'm not sure why.

Does anyone have any suggestions?

Ken Cox
kcc@wucs1.wustl.edu