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