[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Groff] Using Printer "Jogging" with groff
From: |
Werner LEMBERG |
Subject: |
Re: [Groff] Using Printer "Jogging" with groff |
Date: |
Fri, 08 Dec 2006 07:46:10 +0100 (CET) |
> The print bureau have told me I just need to insert this code on the
> page which I need "jogged":-
>
> %%BeginFeature: *Jog
> << /Jog 3 >> setpagedevice
> %%EndFeature
>
> so I set up two macros:-
>
> .de Jogger3
> ps: exec
> %%BeginFeature: *Jog
> << /Jog 3 >> setpagedevice
> %%EndFeature
> ..
> .de Jogger0
> ps: exec
> %%BeginFeature: *Jog
> << /Jog 0 >> setpagedevice
> %%EndFeature
> ..
>
> which I use by:-
>
> \Y[Jogger3]
>
> and
>
> \Y[Jogger0]
>
> as appropriate.
>
> This seems to produce Postscript output like this:-
>
> %%Page: 1 1
> %%BeginPageSetup
> BP
> %%EndPageSetup
> 1.05 34.8 EBEGIN
> %%BeginFeature: *Jog
> << /Jog 3 >> setpagedevice
> %%EndFeature
> EEND
>
> The print bureau tell me that when they print this document, although it jogs
> correctly, each line on the page with "jog" commands embedded comes out
> reversed. (i.e. text printed right to left - and in the wrong orientation -
> this was a landscape A4 document.)
Here's the definition of BP in the groff's prologue.ps:
/BP {
/level0 save def
1 setlinecap
1 setlinejoin
DEFS /BPhook known { DEFS begin BPhook end } if
72 RES div dup scale
LS {
90 rotate
} {
0 PL translate
} ifelse
1 -1 scale
} bind def
Note the final `1 -1 scale'. Since I'm not a PS expert I can't tell
you where the problem is. It looks like a bug in the print bureau's
PS implementation, but I can't tell you for sure.
As a workaround, I suggest that you use the `pstops' program (which is
part of the psutils package) to mirror the affected pages before
sending it to the printing shop.
http://www.tardis.ed.ac.uk/~ajcd/psutils/index.html
Werner