You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.8 KiB

From db24f253409d5d085c2760c814c3e1d3fa2dac59 Mon Sep 17 00:00:00 2001
From: Ray Johnston <ray.johnston@artifex.com>
Date: Tue, 19 Mar 2019 09:25:48 -0700
Subject: Fix lib/pdf2dsc.ps to use documented Ghostscript pdf procedures.
We eliminated GS_PDF_ProcSet and pdfdict, but runpdfbegin, dopdfpages,
and runpdfend are still available.
diff --git a/lib/pdf2dsc.ps b/lib/pdf2dsc.ps
index 4547849c2..d836bf320 100644
--- a/lib/pdf2dsc.ps
+++ b/lib/pdf2dsc.ps
@@ -52,10 +52,7 @@ systemdict /.setsafe known { .setsafe } if
/DSCstring 255 string def
/MediaTypes 10 dict def
- GS_PDF_ProcSet begin
- pdfdict begin
- PDFfile
- pdfopen begin
+ PDFfile runpdfbegin
/FirstPage where { pop } { /FirstPage 1 def } ifelse
/LastPage where { pop } { /LastPage pdfpagecount def } ifelse
@@ -108,13 +105,12 @@ systemdict /.setsafe known { .setsafe } if
(%%BeginProlog\n) puts
(/Page null def\n/Page# 0 def\n/PDFSave null def\n) puts
(/DSCPageCount 0 def\n) puts
- (/DoPDFPage {dup /Page# exch store pdfgetpage pdfshowpage } def\n) puts
- (GS_PDF_ProcSet begin\npdfdict begin\n) puts
+ (/DoPDFPage {dup /Page# exch store dup dopdfpages } def\n) puts
(%%EndProlog\n) puts
(%%BeginSetup\n) puts
DSCfile PDFname write==only
( \(r\) file { DELAYSAFER { .setsafe } if } stopped pop\n) puts
- ( pdfopen begin\n) puts
+ ( runpdfbegin\n) puts
( process_trailer_attrs\n) puts
(%%EndSetup\n) puts
@@ -239,13 +235,10 @@ systemdict /.setsafe known { .setsafe } if
DSCfile exch DSCstring cvs writestring
( DoPDFPage\n) puts
} for
- currentdict pdfclose
- end
- end
- end
+ runpdfend
% write trailer
(%%Trailer\n) puts
-(currentdict pdfclose\nend\nend\nend\n) puts
+(runpdfend\n) puts
(%%EOF\n) puts
% close output file and exit
DSCfile closefile