Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!pasteur!ucbvax!decwrl!adobe!greid From: greid@adobe.com (Glenn Reid) Newsgroups: comp.lang.postscript Subject: Re: qms800 bug ? Keywords: Font Bug Reencode Message-ID: <651@adobe.UUCP> Date: 14 Mar 89 23:12:59 GMT References: <15604@princeton.Princeton.EDU> Sender: news@adobe.COM Reply-To: greid@adobe.COM (Glenn Reid) Organization: Adobe Systems Incorporated, Mountain View Lines: 41 In article <15604@princeton.Princeton.EDU> sarantos@princeton.Princeton.EDU (Sarantos Kapidakis) writes: >I think I have run into a postscript bug, on the QMS-PS 800 II, >running postscript version 47.0, release 3: >I try to make a new font, which combines characters from the Courier >and Symbol fonts. >In that simple case, my function works. >As a next step, I want to use some of the unencoded characters on the >Courier font. The only way I know how to do that, is by reencoding this >font. >When I use reencoded fonts, the new font does not work, and produces >the "invalidfont" error on a "stringwidth" command. >But the individual reencoded fonts do work. >When I run the same program on a NeXT machine, it works. >Any ideas ? Any known bugs in this area ? I think the problem is likely to be related to composite characters. Those are characters formed from two or more existing characters. An example of this is the "aring" or "Aacute" characters, which are formed from "a", "ring", "A", and "acute", respectively. Check your new encoding vector to make sure that ALL the component characters (like "a", "ring", "acute", etc.) for each composite character are also in the encoding vector somewhere (it doesn't matter where). Also make sure that "dotlessi" is in the vector if you use "iacute" or others that seem as though they would use the lower case "i" as a component. This restriction has, I believe, been fixed in newer interpreters, which is probably why you don't see it on the NeXT machine. However, a large percentage of the installed base has this `feature,' and making sure all the component pieces are encoded is your best bet. In your case, you may have to reencode the Courier font in addition to (or instead of) reencoding your own user-defined font. It may be possible to reencode at the same time that you are forming the user-defined font, by simply installing a vector then instead of copying the existing Encoding and later changing it. Good luck, Glenn Reid Adobe Systems