groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] producing a booklet with groff ?


From: Tadziu Hoffmann
Subject: Re: [Groff] producing a booklet with groff ?
Date: Sun, 2 Dec 2012 14:35:18 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

> All this just convinces me that this postscript stuff is
> sometimes very fragile.

I wouldn't call it "fragile", I'd say "powerful".

Postscript, like troff, allows redefining the builtin operators.
A very common practice in programs (such as groff, or pstops)
that create Postscript output and allow including other
Postscript files is to redefine showpage for the scope of the
included file, making it a no-op.  This allows the included file
to contain showpage and thus be printed as a standalone file, but
prevents premature ejection of the page when it is printed as part
of the larger document.  The same goes for setpagedevice which
reinitializes the printer with new settings, and which therefore
should only be called at the very beginning of a print job,
before commencing construction of the first page.


> You mentioned that ps2ps mangles fonts..
> I don't notice any difference when I process my files through
>         ...  |  ps2ps  /dev/stdin  ${destfilename}
> and when I do not.  I do notice some slight mangling by pstops.

I had noticed that your PDF file contained bitmap fonts,
and so I assumed this was because of ps2ps (at least, ps2ps
does that on my machine).  Does the file contain bitmap fonts
already before ps2ps?  Normally, you would want groff (grops)
to embed scalable (Type 1) fonts in the document.

pstops should not do anything with the fonts at all, since
it only wraps the Postscript code of each page with a few
instructions to scale, translate, and rotate the coordinate
system.  ps2ps, on the other hand, interprets the Postscript
code and writes a completely new Postscript file which,
code-wise, bears little resemblance to the original.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]