diff options
author | Karl Berry <karl@freefriends.org> | 2021-03-02 21:57:17 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-03-02 21:57:17 +0000 |
commit | f84eef3bdf2725c88c29c6d07c5c5f59b7d0ce18 (patch) | |
tree | e06d8920b167086c3fd3a9db72f552bffe04e38c | |
parent | 74ac3882f68e69fb743269a31d1d3f666faa767b (diff) |
l3backend (2mar21) (branch)
git-svn-id: svn://tug.org/texlive/branches/branch2020.0@58067 c570f23f-e606-0410-a88d-b1316a301751
18 files changed, 73 insertions, 130 deletions
diff --git a/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md index f787acd709c..ed6da43a392 100644 --- a/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md @@ -6,6 +6,15 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2021-03-02] + +### Changed +- Drop 'correction' for link placement in `(x)dvidpfmx`: no longer required +- Define `\main@pdfcolorstack` for `(x)dvipdfmx` if it does not exist + +### Fixed +- Initialisation of color stacks for `(x)dvipdfmx` + ## [2021-02-18] ### Changed @@ -159,7 +168,8 @@ this project uses date-based 'snapshot' version identifiers. - Include `l3backend` in file names - Moved backend code to internal for each 'parent' module -[Unreleased]: https://github.com/latex3/latex3/compare/2021-02-18...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2021-03-02...HEAD +[2021-03-02]: https://github.com/latex3/latex3/compare/2021-02-18...2021-03-02 [2021-02-18]: https://github.com/latex3/latex3/compare/2021-02-06...2021-02-18 [2021-02-06]: https://github.com/latex3/latex3/compare/2021-01-29...2021-02-06 [2021-01-29]: https://github.com/latex3/latex3/compare/2021-01-09...2021-01-29 diff --git a/Master/texmf-dist/doc/latex/l3backend/README.md b/Master/texmf-dist/doc/latex/l3backend/README.md index 02118d1218b..564a2e8cd67 100644 --- a/Master/texmf-dist/doc/latex/l3backend/README.md +++ b/Master/texmf-dist/doc/latex/l3backend/README.md @@ -1,7 +1,7 @@ LaTeX3 Backend Drivers ====================== -Release 2021-02-18 +Release 2021-03-02 This package forms parts of `expl3`, and contains the code used to interface with backends (drivers) across the `expl3` codebase. The functions here are diff --git a/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf b/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf Binary files differindex a70f304b62f..3a2b8416075 100644 --- a/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf +++ b/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx index b7f09e7dbde..c5b5dd73e11 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2021-02-18} +% \date{Released 2021-03-02} % % \maketitle % @@ -70,27 +70,27 @@ % \begin{macrocode} \ProvidesExplFile %<*dvipdfmx> - {l3backend-dvipdfmx.def}{2021-02-18}{} + {l3backend-dvipdfmx.def}{2021-03-02}{} {L3 backend support: dvipdfmx} %</dvipdfmx> %<*dvips> - {l3backend-dvips.def}{2021-02-18}{} + {l3backend-dvips.def}{2021-03-02}{} {L3 backend support: dvips} %</dvips> %<*dvisvgm> - {l3backend-dvisvgm.def}{2021-02-18}{} + {l3backend-dvisvgm.def}{2021-03-02}{} {L3 backend support: dvisvgm} %</dvisvgm> %<*luatex> - {l3backend-luatex.def}{2021-02-18}{} + {l3backend-luatex.def}{2021-03-02}{} {L3 backend support: PDF output (LuaTeX)} %</luatex> %<*pdftex> - {l3backend-pdftex.def}{2021-02-18}{} + {l3backend-pdftex.def}{2021-03-02}{} {L3 backend support: PDF output (pdfTeX)} %</pdftex> %<*xetex> - {l3backend-xetex.def}{2021-02-18}{} + {l3backend-xetex.def}{2021-03-02}{} {L3 backend support: XeTeX} %</xetex> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx index bc0a3ffdd5f..84e5dad2cb7 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2021-02-18} +% \date{Released 2021-03-02} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx index 451a0039a55..50271f57b35 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2021-02-18} +% \date{Released 2021-03-02} % % \maketitle % @@ -211,17 +211,20 @@ { \int_gincr:N \exp_not:N \g_@@_backend_stack_int \int_const:Nn #1 { \exp_not:N \g_@@_backend_stack_int } - \cs_if_exist:NTF \AtBeginDvi - { \exp_not:N \AtBeginDvi } - { \exp_not:N \use:n } + \use:x { - \__kernel_backend_literal:x + \cs_if_exist:NTF \AtBeginDvi + { \exp_not:N \AtBeginDvi } + { \exp_not:N \use:n } { - pdfcolorstackinit ~ - \exp_not:N \int_use:N \exp_not:N \g_@@_backend_stack_int - \c_space_tl - \exp_not:N \tl_if_blank:nF {#2} { #2 ~ } - (#3) + \__kernel_backend_literal:n + { + pdfcolorstackinit ~ + \exp_not:N \int_use:N \exp_not:N \g_@@_backend_stack_int + \c_space_tl + \exp_not:N \tl_if_blank:nF {#2} { #2 ~ } + (#3) + } } } } @@ -235,6 +238,7 @@ { page ~ direct } { 0 ~ g ~ 0 ~ G } \int_set_eq:NN \l_@@_backend_stack_int \c_@@_backend_main_stack_int + \int_const:cn { main@pdfcolorstack } { \c_@@_backend_main_stack_int } } } % \end{macrocode} @@ -768,7 +772,6 @@ % \end{macrocode} % % \begin{macro}{\@@_backend_select_separation:nn, \@@_backend_select_devicen:nn} -% \begin{macro}{\@@_backend_select:n} % Although \texttt{(x)dvipdfmx} has a built-in approach to color spaces, that % can't be used with the generic color stacks. So we take an approach in which % we share the same code as for \pdfTeX{}. @@ -778,7 +781,6 @@ \cs_new_eq:NN \@@_backend_select_devicen:nn \@@_backend_select_separation:nn % \end{macrocode} % \end{macro} -% \end{macro} % % \begin{macro}{\@@_backend_separation_init:nnnnn} % \begin{macro}{\@@_backend_separation_init:n} diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx index 5536391276a..492a899ee6f 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2021-02-18} +% \date{Released 2021-03-02} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx index c3ec121c073..fc8ae066a07 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2021-02-18} +% \date{Released 2021-03-02} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx index eafd36f50d7..41e15d39d91 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2021-02-18} +% \date{Released 2021-03-02} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx index ee4702a3cdf..d4725d6bfe9 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2021-02-18} +% \date{Released 2021-03-02} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx index ad2b0d51705..b6e7e398375 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2021-02-18} +% \date{Released 2021-03-02} % % \maketitle % @@ -1352,21 +1352,6 @@ % % \subsubsection{Annotations} % -% \begin{variable}{\g_@@_landscape_bool} -% There is a bug in \texttt{dvipdfmx}/\XeTeX{} which means annotations do -% not rotate. As such, we need to know if landscape is active. -% \begin{macrocode} -\bool_new:N \g_@@_landscape_bool -\cs_if_exist:NT \landscape - { - \tl_put_right:Nn \landscape - { \bool_gset_true:N \g_@@_landscape_bool } - \tl_put_left:Nn \endlandscape - { \bool_gset_false:N \g_@@_landscape_bool } - } -% \end{macrocode} -% \end{variable} -% % \begin{variable}{\g_@@_backend_annotation_int} % Needed as objects which are not annotations could be created. % \begin{macrocode} @@ -1374,27 +1359,11 @@ % \end{macrocode} % \end{variable} % -% \begin{macro}{\@@_backend_annotation:nnnn, \@@_backend_annotation_aux:nnnn} +% \begin{macro}{\@@_backend_annotation:nnnn} % Simply pass the raw data through, just dealing with evaluation of dimensions. -% The only wrinkle is landscape: we have to adjust by hand. % \begin{macrocode} \cs_new_protected:Npn \@@_backend_annotation:nnnn #1#2#3#4 { - \bool_if:NTF \g_@@_landscape_bool - { - \box_move_up:nn {#2} - { - \vbox:n - { - \@@_backend_annotation_aux:nnnn - { #2 + #3 } {#1} { 0pt } {#4} - } - } - } - { \@@_backend_annotation_aux:nnnn {#1} {#2} {#3} {#4} } - } -\cs_new_protected:Npn \@@_backend_annotation_aux:nnnn #1#2#3#4 - { \int_gincr:N \g_@@_backend_object_int \int_gset_eq:NN \g_@@_backend_annotation_int \g_@@_backend_object_int \@@_backend:x diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend.ins b/Master/texmf-dist/source/latex/l3backend/l3backend.ins index 7fced393bd0..5bba632ffbb 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend.ins +++ b/Master/texmf-dist/source/latex/l3backend/l3backend.ins @@ -30,7 +30,7 @@ license information is placed in the derived files. \fi \let\jobname\relax -\input l3docstrip.dtx +\input docstrip % \askforoverwritefalse \preamble diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def index b05710c7175..b736a792bd2 100644 --- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def @@ -26,7 +26,7 @@ %% %% File: l3backend-basics.dtx \ProvidesExplFile - {l3backend-dvipdfmx.def}{2021-02-18}{} + {l3backend-dvipdfmx.def}{2021-03-02}{} {L3 backend support: dvipdfmx} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -100,17 +100,20 @@ { \int_gincr:N \exp_not:N \g__color_backend_stack_int \int_const:Nn #1 { \exp_not:N \g__color_backend_stack_int } - \cs_if_exist:NTF \AtBeginDvi - { \exp_not:N \AtBeginDvi } - { \exp_not:N \use:n } + \use:x { - \__kernel_backend_literal:x + \cs_if_exist:NTF \AtBeginDvi + { \exp_not:N \AtBeginDvi } + { \exp_not:N \use:n } { - pdfcolorstackinit ~ - \exp_not:N \int_use:N \exp_not:N \g__color_backend_stack_int - \c_space_tl - \exp_not:N \tl_if_blank:nF {#2} { #2 ~ } - (#3) + \__kernel_backend_literal:n + { + pdfcolorstackinit ~ + \exp_not:N \int_use:N \exp_not:N \g__color_backend_stack_int + \c_space_tl + \exp_not:N \tl_if_blank:nF {#2} { #2 ~ } + (#3) + } } } } @@ -124,6 +127,7 @@ { page ~ direct } { 0 ~ g ~ 0 ~ G } \int_set_eq:NN \l__color_backend_stack_int \c__color_backend_main_stack_int + \int_const:cn { main@pdfcolorstack } { \c__color_backend_main_stack_int } } } \int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 } @@ -722,32 +726,9 @@ { @pdf.obj \int_use:N \g__pdf_backend_object_int } \cs_new:Npn \__pdf_backend_pageobject_ref:n #1 { @page #1 } -\bool_new:N \g__pdf_landscape_bool -\cs_if_exist:NT \landscape - { - \tl_put_right:Nn \landscape - { \bool_gset_true:N \g__pdf_landscape_bool } - \tl_put_left:Nn \endlandscape - { \bool_gset_false:N \g__pdf_landscape_bool } - } \int_new:N \g__pdf_backend_annotation_int \cs_new_protected:Npn \__pdf_backend_annotation:nnnn #1#2#3#4 { - \bool_if:NTF \g__pdf_landscape_bool - { - \box_move_up:nn {#2} - { - \vbox:n - { - \__pdf_backend_annotation_aux:nnnn - { #2 + #3 } {#1} { 0pt } {#4} - } - } - } - { \__pdf_backend_annotation_aux:nnnn {#1} {#2} {#3} {#4} } - } -\cs_new_protected:Npn \__pdf_backend_annotation_aux:nnnn #1#2#3#4 - { \int_gincr:N \g__pdf_backend_object_int \int_gset_eq:NN \g__pdf_backend_annotation_int \g__pdf_backend_object_int \__pdf_backend:x diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def index 1e47603f763..a772aeeaacf 100644 --- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def +++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def @@ -26,7 +26,7 @@ %% %% File: l3backend-basics.dtx \ProvidesExplFile - {l3backend-dvips.def}{2021-02-18}{} + {l3backend-dvips.def}{2021-03-02}{} {L3 backend support: dvips} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def index 078970ec7c9..86f2e1e0d7b 100644 --- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def +++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def @@ -26,7 +26,7 @@ %% %% File: l3backend-basics.dtx \ProvidesExplFile - {l3backend-dvisvgm.def}{2021-02-18}{} + {l3backend-dvisvgm.def}{2021-03-02}{} {L3 backend support: dvisvgm} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def index 235eaa023e3..befcb6fffd6 100644 --- a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def +++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def @@ -26,7 +26,7 @@ %% %% File: l3backend-basics.dtx \ProvidesExplFile - {l3backend-luatex.def}{2021-02-18}{} + {l3backend-luatex.def}{2021-03-02}{} {L3 backend support: PDF output (LuaTeX)} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def index 93ba0c8ef3d..5226e4e5c5f 100644 --- a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def @@ -26,7 +26,7 @@ %% %% File: l3backend-basics.dtx \ProvidesExplFile - {l3backend-pdftex.def}{2021-02-18}{} + {l3backend-pdftex.def}{2021-03-02}{} {L3 backend support: PDF output (pdfTeX)} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def index b4603d6f1b2..9784de396bd 100644 --- a/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def @@ -26,7 +26,7 @@ %% %% File: l3backend-basics.dtx \ProvidesExplFile - {l3backend-xetex.def}{2021-02-18}{} + {l3backend-xetex.def}{2021-03-02}{} {L3 backend support: XeTeX} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -100,17 +100,20 @@ { \int_gincr:N \exp_not:N \g__color_backend_stack_int \int_const:Nn #1 { \exp_not:N \g__color_backend_stack_int } - \cs_if_exist:NTF \AtBeginDvi - { \exp_not:N \AtBeginDvi } - { \exp_not:N \use:n } + \use:x { - \__kernel_backend_literal:x + \cs_if_exist:NTF \AtBeginDvi + { \exp_not:N \AtBeginDvi } + { \exp_not:N \use:n } { - pdfcolorstackinit ~ - \exp_not:N \int_use:N \exp_not:N \g__color_backend_stack_int - \c_space_tl - \exp_not:N \tl_if_blank:nF {#2} { #2 ~ } - (#3) + \__kernel_backend_literal:n + { + pdfcolorstackinit ~ + \exp_not:N \int_use:N \exp_not:N \g__color_backend_stack_int + \c_space_tl + \exp_not:N \tl_if_blank:nF {#2} { #2 ~ } + (#3) + } } } } @@ -124,6 +127,7 @@ { page ~ direct } { 0 ~ g ~ 0 ~ G } \int_set_eq:NN \l__color_backend_stack_int \c__color_backend_main_stack_int + \int_const:cn { main@pdfcolorstack } { \c__color_backend_main_stack_int } } } \int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 } @@ -768,32 +772,9 @@ { @pdf.obj \int_use:N \g__pdf_backend_object_int } \cs_new:Npn \__pdf_backend_pageobject_ref:n #1 { @page #1 } -\bool_new:N \g__pdf_landscape_bool -\cs_if_exist:NT \landscape - { - \tl_put_right:Nn \landscape - { \bool_gset_true:N \g__pdf_landscape_bool } - \tl_put_left:Nn \endlandscape - { \bool_gset_false:N \g__pdf_landscape_bool } - } \int_new:N \g__pdf_backend_annotation_int \cs_new_protected:Npn \__pdf_backend_annotation:nnnn #1#2#3#4 { - \bool_if:NTF \g__pdf_landscape_bool - { - \box_move_up:nn {#2} - { - \vbox:n - { - \__pdf_backend_annotation_aux:nnnn - { #2 + #3 } {#1} { 0pt } {#4} - } - } - } - { \__pdf_backend_annotation_aux:nnnn {#1} {#2} {#3} {#4} } - } -\cs_new_protected:Npn \__pdf_backend_annotation_aux:nnnn #1#2#3#4 - { \int_gincr:N \g__pdf_backend_object_int \int_gset_eq:NN \g__pdf_backend_annotation_int \g__pdf_backend_object_int \__pdf_backend:x |