diff options
Diffstat (limited to 'Master/tlpkg/tlgs/Resource/Init/pdf_base.ps')
-rw-r--r-- | Master/tlpkg/tlgs/Resource/Init/pdf_base.ps | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Master/tlpkg/tlgs/Resource/Init/pdf_base.ps b/Master/tlpkg/tlgs/Resource/Init/pdf_base.ps index a82a2a3adfc..b45e9803165 100644 --- a/Master/tlpkg/tlgs/Resource/Init/pdf_base.ps +++ b/Master/tlpkg/tlgs/Resource/Init/pdf_base.ps @@ -218,7 +218,7 @@ currentdict /num-chars-dict .undef } ifelse } ifelse } ifelse -} bind executeonly def +} bind executeonly odef /PDFScanRules_true << /PDFScanRules //true >> def /PDFScanRules_null << /PDFScanRules //null >> def /.pdfrun { % <file> <opdict> .pdfrun - @@ -395,7 +395,14 @@ currentdict /token_nofail_dict .undef dup Objects exch array dup 3 1 roll copy pop /Objects exch def } if dup Generations length gt { - dup Generations exch string dup 3 1 roll copy pop /Generations exch def + %% Initiallly Generations is a string, but the xref rebuilding code + %% can convert it to an array (/setxrefentry in pdf_rbld.ps). So we + %% need to be able to deal with either case. + Generations type /stringtype eq { + dup Generations exch string dup 3 1 roll copy pop /Generations exch def + } { + dup Generations exch array dup 3 1 roll copy pop /Generations exch def + } ifelse } if dup IsGlobal length gt { dup IsGlobal exch string dup 3 1 roll copy pop /IsGlobal exch def |