blob: 5ad8913b65aaeeda5b63f35669f1ac6610959829 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
% tex-ini-files 2016-04-15: 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 <primitive> = <value> 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
|