Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!decwrl!adobe!mccoy From: mccoy@adobe.com (Bill McCoy) Newsgroups: comp.lang.postscript Subject: Re: Important safety tip Keywords: Chernobyl fonts Message-ID: <907@adobe.UUCP> Date: 13 Jun 89 22:26:17 GMT References: <13-Jun-89.091841@192.41.214.2> <906@adobe.UUCP> Sender: news@adobe.COM Reply-To: mccoy@adobe.COM (Bill McCoy) Organization: Adobe Systems Incorporated, Mountain View Lines: 20 For those curious as to just exactly *why* an encoding vector is required for all user-defined fonts... from the Red Book, 2nd Ed., p.105: When a PostScript program tries to print a character of a user-defined font **and the character is not already present in the font cache**, the font machinery... executes the font's BuildChar procedure. Given a character code in a show string, the letterform corresponding to that character code is determined by using the character code as an index into the encoding vector to obtain a character name. Hence even though a Type 3 font may never use it, the encoding vector is required for the font machinery to determine if a character is present in the font cache. Also, it's worthwhile to note that recent versions *do* enforce the Red Book requirement that the encoding vector be an array of exactly 256 objects. Bill McCoy Adobe Systems, Inc.