[comp.lang.postscript] FontBBox, again

ghost@aladdin.com (L. Peter Deutsch) (08/12/90)

Sigh.  The examples in the Red Book all use *non*-executable arrays.
The one example in the Black Book (p. 11), and the one Adobe font
I've examined (the Cheq chessboard font), use *executable* arrays.

I don't see any way to resolve this problem.  Code that expects one
of the two formats will break when it encounters the other, unless it
uses the locution
	/FontBBox load
(if it wants an array), or
	/FontBBox load aload pop
(if it wants 4 numbers), instead of simply
	FontBBox

Since the only piece of code I've seen that expects FontBBox to be
executable used the locution
	[ FontBBox ]
one can imagine a hack that defines FontBBox as a procedure as
follows:
	currentfont /FontBBox get
	1 index mark eq { aload pop } if
But this is just a hack, and in any case I don't see how to get a
procedure definition of FontBBox to take precedence over the actual
FontBBox entry in the font, since the current font is typically the
top element on the dictionary stack.

I guess Ghostscript fonts, which use Adobe Type 1 format, will have
to match the Adobe convention and use an executable array for the
FontBBox.  Sigh.

L. Peter Deutsch		ghost@aladdin.com   --or--
Aladdin Enterprises		...{uunet,sun,decwrl!}parcplace!aladdin!ghost
P. O. box 60264, Palo Alto, CA 94306