summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3kernel/l3pdf.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3pdf.dtx')
-rw-r--r--macros/latex/contrib/l3kernel/l3pdf.dtx47
1 files changed, 45 insertions, 2 deletions
diff --git a/macros/latex/contrib/l3kernel/l3pdf.dtx b/macros/latex/contrib/l3kernel/l3pdf.dtx
index f02362df38..091ece8b43 100644
--- a/macros/latex/contrib/l3kernel/l3pdf.dtx
+++ b/macros/latex/contrib/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-08-30}
+% \date{Released 2022-09-28}
%
% \maketitle
%
@@ -493,9 +493,52 @@
% \end{macrocode}
% \end{macro}
%
+% \subsection{PDF Page size (media box)}
+%
+% Everything here is delayed to the start of the document so that the
+% backend will definitely be loaded.
+% \begin{macrocode}
+\cs_if_exist:NT \@kernel@before@begindocument
+ {
+ \tl_gput_right:Nn \@kernel@before@begindocument
+ {
+ \bool_lazy_all:nT
+ {
+ { \cs_if_exist_p:N \stockheight }
+ { \cs_if_exist_p:N \stockwidth }
+ { \cs_if_exist_p:N \IfDocumentMetadataTF }
+ { \IfDocumentMetadataTF { \c_true_bool } { \c_false_bool } }
+ }
+ {
+ \bool_lazy_and:nnTF
+ { \dim_compare_p:nNn \stockheight > { 0pt } }
+ { \dim_compare_p:nNn \stockwidth > { 0pt } }
+ {
+ \@@_backend_pagesize_set:nn
+ \stockwidth \stockheight
+ }
+ {
+ \bool_lazy_or:nnF
+ { \dim_compare_p:nNn \stockheight < { 0pt } }
+ { \dim_compare_p:nNn \stockwidth < { 0pt } }
+ {
+ \bool_lazy_and:nnT
+ { \dim_compare_p:nNn \paperheight > { 0pt } }
+ { \dim_compare_p:nNn \paperwidth > { 0pt } }
+ {
+ \@@_backend_pagesize_set:nn
+ \paperwidth \paperheight
+ }
+ }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
% \subsection{Deprecated functions}
%
-% \begin{variable}{\g_@@_object_prop}
+% \begin{variable}{\g_@@_obejct_prop}
% For tracking objects.
% \begin{macrocode}
\prop_new:N \g_@@_object_prop