Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!hp4nl!ruuinf!cs.ruu.nl From: piet@cs.ruu.nl (Piet van Oostrum) Newsgroups: comp.text Subject: Re: Ragged right margin in TeX. HEEEELP.... Keywords: TeX, dvi2ps, w_dvi2ps Message-ID: <2156@ruuinf.cs.ruu.nl> Date: 12 Dec 89 16:41:16 GMT References: <583@nikhefh.nikhef.nl> <1989Dec8.184638.13891@Neon.Stanford.EDU> Sender: news@ruuinf.cs.ruu.nl Reply-To: piet@cs.ruu.nl (Piet van Oostrum) Organization: Dept of Computer Science, Utrecht University, The Netherlands Lines: 31 In-reply-to: pallas@Neon.Stanford.EDU (Joe Pallas) In article <1989Dec8.184638.13891@Neon.Stanford.EDU>, pallas@Neon (Joe Pallas) writes: ` `There is an error in the original Neal Holtz version of dvi2ps that `has been carried along into most of its descendents. The error is in `the character definition section, where it tells PostScript that the `character has a non-integral width (x-escapement). The rest of the `code does calculations in typical DVI-to-whatever style using the `integral pixel width, and so the PostScript interpreter's current `position drifts away from what dvi2ps thinks it is. ` `Usually things average out so the difference is not more than a pixel `or two. But a long string of repeated characters, like the dots in a `table of contents, will accumulate the same error n times. ` `Ordinarily this is easy to fix (change cw to an int, and use `PixRound(ce->tfmw, hconv)), but I'm not sure how the PostScript-scaled `offsize fonts fit in to this solution. ` This does NOT work for Postcript fonts, because the laserprinter keeps its coordinates as reals (it does not round yhe current position to pixels). So for these you should keep the position also in reals in the driver program. This can mess up the whole program. The ``solution'' I used in my dvi2ps was to ``forget'' the laserwriter position at each DVI POP operation. This operation is used a lot in things like the table of contents (actually in a \leaders) and this helps for most cases. If you are driving a real phototypesetter you probably will want to be more accurate. -- Piet* van Oostrum, Dept of Computer Science, Utrecht University, Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands. Telephone: +31-30-531806 Uucp: uunet!mcsun!hp4nl!ruuinf!piet Telefax: +31-30-513791 Internet: piet@cs.ruu.nl (*`Pete')