Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!SUN.COM!parcplace!aladdin!ghost From: parcplace!aladdin!ghost@SUN.COM (L. Peter Deutsch) Newsgroups: gnu.ghostscript.bug Subject: Re: GhostScript v1.2 comments Message-ID: <8903240015.1.UUL1.3#5127@aladdin.UUCP> Date: 24 Mar 89 07:15:34 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 78 > Date: Fri, 10 Mar 89 07:23:40 EST > From: parcplace!crtb%dxi.nih.gov.nih.gov (chuck bacon) > Message-Id: <8903101223.AA06650@dxi.NIH.GOV> > To: bug-ghostscript%prep.ai.mit.edu > Subject: GhostScript v1.2 comments > > 1. I've added a call to gs_closepath inside gs_fill, in gspaint.c; > the Red Book calls for this, and it helps prevent line glitches. This change is neither necessary nor desirable. The fill algorithm in gxfill.c implicitly closes all subpaths, not just the current one: see the code in add_y_list with the comment '"Close" an open subpath'. Please send me an example of a file that produces "line glitches" without this fix. I do know of a problem with visual glitches on lines in release 1.2, caused by interacting bugs in gz_fill_trapezoid and gz_draw_line. The symptom is that nearly horizontal lines are displaced to the right. I just finished a fix for this. > 2. gsfont, gsim2out, gxdraw and gdevx all die miserably under gcc, and so > were separately run through ansi2knr. The rest generate TONS of warnings. People have reported conflicting stories about running Ghostscript through gcc. I'm working on the problem of the large number of (harmless but distracting) warnings, but "die miserably" sounds more serious. What version of gcc did you use? > 3. gfonts.ps: Change FontMatrix size from 1/8 to 1/16; closer to Courier. > Increase /CharData size from 128 to 150 (see (4)). You're right that the FontMatrix values need adjusting: I forgot that uglyfont's bitmap includes 2 scan lines above, and 3 scan lines below, the principal character box (e.g., the bounding box for capital 'A'). I think the right fix is to change the Y value in FontMatrix from 1/14 to 1/9, but I need to think about this a little more. > 4. uglyfont.cp: Add codes for codes above 127, matching defined codes > in StandardEncoding. They all look like hyphens, but still... Good point. I've changed gfonts.ps to make all the unmapped characters display as a tilde (~). There's no need to duplicate the bitmaps. > 5. The interpreter always clears operand stack when returning to prompt. > This prevents hand-entering programs. I may try to fix this. I'll fix it in the next release: I'd be happy to look at any proposed fix you send me. I'll also try to fix the problem (reported by another user) that prevents you from entering a procedure or expression that takes more than one line. > 6. userdict length should be 200, not 100, to match the LaserWriter, and > prevent lots of crashes with /dictfull errors. Until I implement expandable dictionaries, this is the right thing to do. Sorry I didn't read the Red Book carefully enough. > And, of course, there's save and restore. That's a major project, I know, > but absolutely vital. I've used it a good bit in order to provide `local' > variables. Most public ps files can't live without it either. I've thought a little about how to implement save and restore. I have an implementation in mind that isn't TOO awful or expensive, although it does slow down storing into arrays and dictionaries a little (I don't see how to avoid this, frankly). save and restore are not high on my list right now, but if other users also feel this is important, I'll move them up. (You're right, it's a relatively big project.) Thanks for helping improve Ghostscript - - P. D. aladdin!ghost@parcplace.com ...{sun!}parcplace!aladdin!ghost P. O. box 60264, Palo Alto, CA 94306