aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann2000-04-29 19:34:29 +0000
committerGerd Moellmann2000-04-29 19:34:29 +0000
commitc00e0292f6db06ec08b8ce316b11c89ebdedbb9a (patch)
treeb086a2ead5946fe2beedbe8404c4f5dc7e7d42d3
parentbbfc759111c34cd455f6ff0d3c2a6c0173e9ee58 (diff)
downloademacs-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.ps34
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