% tex-ini-files 20223-11-17: luatexconfig.tex % Load shared (PDF) settings in LuaTeX \begingroup \catcode`\{=1 % \catcode`\}=2 % \catcode`\#=6 % % Settings that were primitives % accessed in newer LuaTeX releases via \pdfvariable \def\list{% {compresslevel}% {decimaldigits}% {horigin}% {minorversion}% {objcompresslevel}% {pkresolution}% {vorigin}% }% \def\do#1{% \ifx\relax#1\else \directlua{tex.enableprimitives("", {"pdf#1"})}% \expandafter\do \fi }% % Enable all \pdf... primitives in one go \expandafter\do\list{output}{pageheight}{pagewidth}{variable}\relax % Other required primitives that are not named \pdf... \directlua{tex.enableprimitives("", {"pageheight", "pagewidth", "outputmode"})}% % Newer LuaTeX releases don't have \pdfoutput, etc.: % emulate names where appropriate \ifx\pdfoutput\undefined \global\let\pdfoutput\outputmode \global\let\pdfpageheight\pageheight \global\let\pdfpagewidth\pagewidth \def\do#1{% \ifx\relax#1\else \expandafter\xdef\csname pdf#1\endcsname{\pdfvariable #1}% \expandafter\do \fi }% \expandafter\do\list\relax \fi % The file pdftexconfig.tex contains only = lines % so can now be read using the (emulated) primitives % This needs to be global so set \globaldefs for this step \globaldefs=1 % \input{pdftexconfig}% \globaldefs=0 % % Pick up on a request for DVI mode and apply it whilst \pdfoutput is % still defined \ifx\dvimode\relax \global\pdfoutput=0 % \fi \global\let\dvimode\undefined % Clean up all of the globally-allocated names \def\do#1{% \ifx\relax#1\else \global\expandafter\let\csname pdf#1\endcsname\undefined \expandafter\do \fi }% \expandafter\do\list{output}{pageheight}{pagewidth}{variable}\relax \global\let\outputmode\undefined \global\let\pageheight\undefined \global\let\pagewidth\undefined \global\let\dvimode\undefined \endgroup