diff options
| author | Gerd Moellmann | 2000-04-29 19:34:29 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-04-29 19:34:29 +0000 |
| commit | c00e0292f6db06ec08b8ce316b11c89ebdedbb9a (patch) | |
| tree | b086a2ead5946fe2beedbe8404c4f5dc7e7d42d3 | |
| parent | bbfc759111c34cd455f6ff0d3c2a6c0173e9ee58 (diff) | |
| download | emacs-c00e0292f6db06ec08b8ce316b11c89ebdedbb9a.tar.gz emacs-c00e0292f6db06ec08b8ce316b11c89ebdedbb9a.zip | |
PostScript level 1 compatibility, Upside-down
printing and line number step.
(BeginDoc, doLineNumber, SL, HL): Code fix.
(isLineStep, PSL): New funs.
| -rw-r--r-- | etc/ps-prin1.ps | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/etc/ps-prin1.ps b/etc/ps-prin1.ps index 67fe9a76ad6..eef39a295f3 100644 --- a/etc/ps-prin1.ps +++ b/etc/ps-prin1.ps | |||
| @@ -173,14 +173,12 @@ StandardEncoding 46 82 getinterval aload pop | |||
| 173 | dobackground | 173 | dobackground |
| 174 | }def | 174 | }def |
| 175 | 175 | ||
| 176 | /PSL{bg{eolbg}if 0 currentpoint exch pop LineHeight sub moveto}def | ||
| 176 | /PLN{PrintLineNumber{doLineNumber}if}def | 177 | /PLN{PrintLineNumber{doLineNumber}if}def |
| 177 | 178 | ||
| 178 | /SL{ % Soft Linefeed | 179 | /SL{PSL isLineStep pop}def % Soft Linefeed |
| 179 | bg{eolbg}if | ||
| 180 | 0 currentpoint exch pop LineHeight sub moveto | ||
| 181 | }def | ||
| 182 | 180 | ||
| 183 | /HL{SL PLN}def % Hard Linefeed | 181 | /HL{PSL PLN}def % Hard Linefeed |
| 184 | 182 | ||
| 185 | % Some debug | 183 | % Some debug |
| 186 | /dcp{currentpoint exch 40 string cvs print (, ) print =}def | 184 | /dcp{currentpoint exch 40 string cvs print (, ) print =}def |
| @@ -300,23 +298,32 @@ StandardEncoding 46 82 getinterval aload pop | |||
| 300 | 298 | ||
| 301 | /L0 6 /Times-Italic DefFont | 299 | /L0 6 /Times-Italic DefFont |
| 302 | 300 | ||
| 301 | % stack: -- |- boolean | ||
| 302 | /isLineStep{ | ||
| 303 | SyncLineZebra | ||
| 304 | {PrintLineStep 1 gt | ||
| 305 | {/PrintLineStep PrintLineStep 1 sub def false} % or inside zebra | ||
| 306 | {/PrintLineStep ZebraHeight def true}ifelse} % or 1st zebra line | ||
| 307 | {LineNumber 1 sub PrintLineStep mod 0 eq}ifelse % or line step | ||
| 308 | }def | ||
| 309 | |||
| 303 | % stack: -- | 310 | % stack: -- |
| 304 | /doLineNumber{ | 311 | /doLineNumber{ |
| 305 | /LineNumber where | 312 | /LineNumber where |
| 306 | { | 313 | {pop |
| 307 | pop | 314 | isLineStep % or line step |
| 308 | currentfont | 315 | LineNumber Lines ge or % or last line |
| 316 | {currentfont | ||
| 309 | gsave | 317 | gsave |
| 310 | 0.0 0.0 0.0 setrgbcolor | 318 | 0.0 0.0 0.0 setrgbcolor |
| 311 | /L0 findfont setfont | 319 | /L0 findfont setfont |
| 312 | LineNumber Lines ge | 320 | LineNumber Lines ge |
| 313 | {(end )} | 321 | {(end )} |
| 314 | {LineNumber 6 string cvs ( ) strcat} | 322 | {LineNumber 6 string cvs ( ) strcat}ifelse |
| 315 | ifelse | ||
| 316 | dup stringwidth pop neg 0 rmoveto | 323 | dup stringwidth pop neg 0 rmoveto |
| 317 | show | 324 | show |
| 318 | grestore | 325 | grestore |
| 319 | setfont | 326 | setfont}if |
| 320 | /LineNumber LineNumber 1 add def | 327 | /LineNumber LineNumber 1 add def |
| 321 | }if | 328 | }if |
| 322 | }def | 329 | }def |
| @@ -410,7 +417,7 @@ StandardEncoding 46 82 getinterval aload pop | |||
| 410 | /docState save def | 417 | /docState save def |
| 411 | % ---- [andrewi] set PageSize based on chosen dimensions | 418 | % ---- [andrewi] set PageSize based on chosen dimensions |
| 412 | UseSetpagedevice{ | 419 | UseSetpagedevice{ |
| 413 | << /PageSize [PageWidth LandscapePageHeight] >> setpagedevice | 420 | BMark /PageSize [PageWidth LandscapePageHeight] EMark setpagedevice |
| 414 | }{ | 421 | }{ |
| 415 | LandscapeMode{ | 422 | LandscapeMode{ |
| 416 | % ---- translate to bottom-right corner of Portrait page | 423 | % ---- translate to bottom-right corner of Portrait page |
| @@ -420,6 +427,7 @@ StandardEncoding 46 82 getinterval aload pop | |||
| 420 | }ifelse | 427 | }ifelse |
| 421 | % ---- [jack] Kludge: my ghostscript window is 21x27.7 instead of 21x29.7 | 428 | % ---- [jack] Kludge: my ghostscript window is 21x27.7 instead of 21x29.7 |
| 422 | /JackGhostscript where{pop 1 27.7 29.7 div scale}if | 429 | /JackGhostscript where{pop 1 27.7 29.7 div scale}if |
| 430 | UpsideDown{PageWidth LandscapePageHeight translate 180 rotate}if | ||
| 423 | % ---- N-Up printing | 431 | % ---- N-Up printing |
| 424 | N-Up 1 gt{ | 432 | N-Up 1 gt{ |
| 425 | % ---- landscape | 433 | % ---- landscape |