Blame SOURCES/ghostscript-pdf2dsc-regression.patch

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