summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/spec-tpd.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/spec-tpd.tex')
-rw-r--r--Master/texmf-dist/tex/context/base/spec-tpd.tex35
1 files changed, 30 insertions, 5 deletions
diff --git a/Master/texmf-dist/tex/context/base/spec-tpd.tex b/Master/texmf-dist/tex/context/base/spec-tpd.tex
index 8d6d93d38eb..b6d2bddf0c8 100644
--- a/Master/texmf-dist/tex/context/base/spec-tpd.tex
+++ b/Master/texmf-dist/tex/context/base/spec-tpd.tex
@@ -226,7 +226,9 @@
\ifx\pdfmapfile\undefined \let\pdfmapfile\gobbletwoarguments \fi
\ifx\pdfmapline\undefined \let\pdfmapline\gobbletwoarguments \fi
-\definespecial\doresetmapfilelist{\pdfmapfile{original-empty.map}}
+\definespecial\doresetmapfilelist
+ {\global\let\doresetmapfilelist\relax
+ \pdfmapfile{original-empty.map}}
\ifnum\pdftexversion<120
@@ -310,9 +312,8 @@
\ifx\temp\empty
\exitloop
\else
- \let\filesuffix\temp
+ \lowercasestring\temp\to\filesuffix % insertion check also needs lowercase
% a temporary hack
- \doif\filesuffix{PDF}{\pdfimageresolution72}%
\doif\filesuffix{pdf}{\pdfimageresolution72}%
% because pdfTeX scales back
\fi}}
@@ -538,7 +539,7 @@
\definespecial\dostartnonecolormode{\doPDFstartnonecolormode}
\definespecial\doregisternonecolor {\doPDFregisternonecolor}
-\def\doPDFregisterspotcolorname#1#2%
+\def\doPDFregisterspotcolorname#1#2% no need for escape in luatex
{\bgroup
\let\ascii\empty
\def\docommand##1%
@@ -649,7 +650,7 @@
%D {dostarttransparency,dostoptransparency}
%D
%D For transparency, we need to implement a couple of
-%D auxiliary macros. If needed, we will generalize tham later.
+%D auxiliary macros. If needed, we will generalize them later.
\definespecial\dostarttransparency{\doPDFstarttransparency}
\definespecial\dostoptransparency {\doPDFstoptransparency}
@@ -904,6 +905,7 @@
% won't work in xforms; some day I will optimize
% this.
\the\everyPDFxform
+ \finalizeobjectbox\nextbox
\immediate\pdfxform
resources {\currentPDFresources\the\pdfpageresources}%
\nextbox
@@ -1233,6 +1235,24 @@
{\immediate\pdfobj{[ #3 ]}%
\dosetobjectreference{#1}{#2}{\the\pdflastobj}}}
+% tricky .. too many xforms now
+%
+% \def\doreservePDFobject#1#2%
+% {\pdfobj reserveobjnum{}%
+% \driverreferenced\dosetobjectreference{#1}{#2}{\the\pdflastobj}}
+%
+% \def\doPDFreserveddictionaryobject#1#2#3%
+% {\doPDFgetobjectnumber{#1}{#2}\PDFobjectnumber
+% \immediate\pdfobj useobjnum \PDFobjectnumber {<< #3 >>}}
+%
+% \def\doPDFreservedarrayobject#1#2#3%
+% {\doPDFgetobjectnumber{#1}{#2}\PDFobjectnumber
+% \immediate\pdfobj useobjnum \PDFobjectnumber {[ #3 ]}}
+
+% \doreservePDFobject{FDF}{docuextgstates}
+% \doreservePDFobject{FDF}{colorspaces}
+% \doreservePDFobject{FDF}{docushades}
+
%D \macros
%D {defaultobjectreference,doPDFgetobjectreference}
%D
@@ -1247,6 +1267,10 @@
{\dogetobjectreference{#1}{#2}#3%
\edef#3{\ifx#3\empty null\else\PDFobjref{#3}\fi}}
+\def\doPDFgetobjectnumber#1#2#3%
+ {\dogetobjectreference{#1}{#2}#3%
+ \edef#3{\ifx#3\empty 0\else#3\fi}}
+
% \def\doPDFgetobjectpage #1#2#3{..}
% \def\doPDFgetobjectpagereference#1#2#3{..}
@@ -1333,6 +1357,7 @@
\def\setMPPDFobject#1#2% resources boxnumber
{\the\everyPDFxform
+ \finalizeobjectbox{#2}%
\immediate\pdfxform resources{#1}#2%
\edef\getMPPDFobject{\noexpand\pdfrefxform\the\pdflastxform}}