Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!uunet!mcvax!kth!sunic!liuida!andwi From: andwi@majestix.ida.liu.se (Andreas Wickberg) Newsgroups: comp.lang.postscript Subject: Re: Important safety tip Keywords: Chernobyl fonts Message-ID: <1283@majestix.ida.liu.se> Date: 21 Jun 89 21:01:38 GMT References: <13-Jun-89.091841@192.41.214.2> <906@adobe.UUCP> <907@adobe.UUCP> Organization: CIS Dept, Univ of Linkoping, Sweden Lines: 19 In article <907@adobe.UUCP> mccoy@adobe.COM (Bill McCoy) writes: >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. > Isn't even like this: when you define a font (with a new encoding) the font machinery compares it's encoding vector with the vectors belonging to the fonts already in the font cache. This is the real 'id' of a font. When the font mechinery later checks if a character is in the font cache it just have to look for the char code, not the name. This would explain why the first use of Times 10 pt with the mac encoding doesn't find the characters chached by the idle font cache. An early bug fixed by disabling a feature?