diff options
Diffstat (limited to 'tex/context/base/mkiv/back-pdf.mkiv')
-rw-r--r-- | tex/context/base/mkiv/back-pdf.mkiv | 82 |
1 files changed, 55 insertions, 27 deletions
diff --git a/tex/context/base/mkiv/back-pdf.mkiv b/tex/context/base/mkiv/back-pdf.mkiv index 799df2538..c3cb7657f 100644 --- a/tex/context/base/mkiv/back-pdf.mkiv +++ b/tex/context/base/mkiv/back-pdf.mkiv @@ -32,15 +32,17 @@ \registerctxluafile{lpdf-swf}{} % this will become a module \registerctxluafile{lpdf-tag}{} \registerctxluafile{lpdf-fmt}{} +\registerctxluafile{lpdf-pde}{} +\registerctxluafile{lpdf-img}{optimize} +\registerctxluafile{lpdf-epa}{} -\ifnum\texenginefunctionality<6802 - \registerctxluafile{lpdf-epd}{} -\else - \registerctxluafile{lpdf-pde}{} - \registerctxluafile{lpdf-img}{optimize} -\fi +\doifelsefileexists {lpdf-emb.lua} { + \registerctxluafile{lpdf-emb}{optimize} +} { + % nothing +} -\registerctxluafile{lpdf-epa}{} +\registerctxluafile{back-pdp}{} \ifnum\texenginefunctionality>6856 \registerctxluafile{lpdf-fnt}{} @@ -65,6 +67,26 @@ %D \type {\pdfextension} and \type {\pdffeedback} primitives but it will probably %D have bad side effects. +%D For the moment we put these here as they are pdf related but they might move to +%D a better place. We overload the primitives with our own but use a bit of indirection +%D for the purpose of tracing. + +\unexpanded\def\saveboxresource {\clf_saveboxresource} +\unexpanded\def\lastsavedboxresourceindex {\numexpr\clf_lastsavedboxresourceindex\relax} +\unexpanded\def\useboxresource {\clf_useboxresource} + +\unexpanded\def\saveimageresource {\clf_saveimageresource} +\unexpanded\def\lastsavedimageresourceindex{\numexpr\clf_lastsavedimageresourceindex\relax} +\unexpanded\def\lastsavedimageresourcepages{\numexpr\clf_lastsavedimageresourcepages\relax} +\unexpanded\def\useimageresource {\clf_useimageresource} + +\unexpanded\def\savepos {\clf_savepos} + \def\lastxpos {\clf_lastxpos} + \def\lastypos {\clf_lastypos} + +\unexpanded\def\pdfextension {\clf_pdfextension} + \def\pdffeedback {\clf_pdffeedback} + %D These are no-ops and don't even intercept what comes next. Maybe some day %D I'll write a parser that maps onto \CONTEXT. @@ -120,11 +142,11 @@ %D We don't support these directives, at least not this way. If they are needed %D by third party modules we can provide some interface. -% \pdfcreationdate +%pdfcreationdate \let\pdfdecimaldigits \relax \newcount\pdfdecimaldigits \let\pdfdestmargin \relax \newdimen\pdfdestmargin -% \pdffontname -% \pdffontobjnum +% pdffontname +% pdffontobjnum \let\pdffontsize \relax \newcount\pdffontsize \let\pdfgamma \relax \newcount\pdfgamma \let\pdfgentounicode \relax \newcount\pdfgentounicode @@ -139,21 +161,21 @@ \let\pdfinclusioncopyfonts \relax \newcount\pdfinclusioncopyfonts \let\pdfinclusionerrorlevel \relax \newcount\pdfinclusionerrorlevel \let\pdfinfoomitdate \relax \newcount\pdfinfoomitdate -% \pdflastannot -% \pdflastlink +% pdflastannot +% pdflastlink \let\pdflinkmargin \relax \newdimen\pdflinkmargin \let\pdfmajorversion \relax \newcount\pdfmajorversion \let\pdfminorversion \relax \newcount\pdfminorversion \let\pdfpagebox \relax \newcount\pdfpagebox -% \pdfpageref +% pdfpageref \let\pdfpkfixeddpi \relax \newcount\pdfpkfixeddpi \let\pdfpkmode \relax \newtoks \pdfpkmode \let\pdfpkresolution \relax \newcount\pdfpkresolution -% \pdfretval +% pdfretval \let\pdfsuppressoptionalinfo \relax \newcount\pdfsuppressoptionalinfo \let\pdfsuppressptexinfo \relax \newcount\pdfsuppressptexinfo -% \pdftexrevision -% \pdftexversion +% pdftexrevision +% pdftexversion \let\pdfthreadmargin \relax \newdimen\pdfthreadmargin \let\pdftrailerid \relax \newtoks \pdftrailerid \let\pdfuniqueresname \relax \newcount\pdfuniqueresname @@ -163,27 +185,33 @@ %D These are still accepted but are normally not needed. +\let\pdfxform \saveboxresource +\let\pdfximage \saveimageresource + \let\pdflastxform \lastsavedboxresourceindex \let\pdflastximage \lastsavedimageresourceindex -\let\pdflastximagepages \lastsavedimageresourcepages -\let\pdflastxpos \lastxpos -\let\pdflastypos \lastypos + \let\pdfrefxform \useboxresource \let\pdfrefximage \useimageresource + +\let\pdflastximagepages \lastsavedimageresourcepages + \let\pdfsavepos \savepos -\let\pdfxform \saveboxresource -\let\pdfximage \saveimageresource +\let\pdflastxpos \lastxpos +\let\pdflastypos \lastypos %D For the moment we keep these as they are but they will become \LUA\ calls %D eventually, after which we will nil the three \type {\pdf} interface primitives. -\normalprotected\def\pdfliteral {\pdfextension literal } -\normalprotected\def\pdfobj {\pdfextension obj } - \def\pdflastobj {\numexpr\pdffeedback lastobj\relax} +\normalprotected\def\pdfliteral {\clf_pdfliteral}% + +\normalprotected\def\pdfobj {\clf_pdfobj}% +\normalprotected\def\pdflastobj {\numexpr\clf_pdflastobj\relax}% + \normalprotected\def\pdfrefobj {\pdfextension refobj } -\normalprotected\def\pdfrestore {\pdfextension restore\relax} -\normalprotected\def\pdfsave {\pdfextension save\relax} -\normalprotected\def\pdfsetmatrix{\pdfextension setmatrix } +\normalprotected\def\pdfrestore {\clf_restore} +\normalprotected\def\pdfsave {\clf_save} +\normalprotected\def\pdfsetmatrix{\clf_setmatrix} %D This one can be consulted by users although the suffix is also a system mode. |