From 29116173aae7aa9682c5eb2be190b680b62342fd Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 17 Oct 2021 20:51:10 +0000 Subject: l3 (17oct21) git-svn-id: svn://tug.org/texlive/trunk@60790 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/l3backend/l3backend-dvipdfmx.def | 49 ++++++++++++++++------ .../tex/latex/l3backend/l3backend-dvips.def | 38 ++++++++++++++++- .../tex/latex/l3backend/l3backend-dvisvgm.def | 2 +- .../tex/latex/l3backend/l3backend-luatex.def | 49 ++++++++++++++++------ .../tex/latex/l3backend/l3backend-pdftex.def | 49 ++++++++++++++++------ .../tex/latex/l3backend/l3backend-xetex.def | 49 ++++++++++++++++------ 6 files changed, 186 insertions(+), 50 deletions(-) (limited to 'Master/texmf-dist/tex/latex/l3backend') diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def index dd6d5746f88..3c60e08d909 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-10-12}{} + {l3backend-dvipdfmx.def}{2021-10-17}{} {L3 backend support: dvipdfmx} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -195,6 +195,32 @@ \cs_gset_protected:Npn \__color_backend_reset: { \__kernel_backend_literal:n { pdf: ec } } } +\prop_new:N \g__color_backend_colorant_prop +\cs_new:Npx \__color_backend_devicen_colorants:n #1 + { + \exp_not:N \tl_if_blank:nF {#1} + { + \c_space_tl + << ~ + /Colorants ~ + << ~ + \exp_not:N \__color_backend_devicen_colorants:w #1 ~ + \exp_not:N \q_recursion_tail \c_space_tl + \exp_not:N \q_recursion_stop + >> ~ + >> + } + } +\cs_new:Npn \__color_backend_devicen_colorants:w #1 ~ + { + \quark_if_recursion_tail_stop:n {#1} + \prop_if_in:NnT \g__color_backend_colorant_prop {#1} + { + #1 ~ + \prop_item:Nn \g__color_backend_colorant_prop {#1} ~ + } + \__color_backend_devicen_colorants:w + } \cs_new_protected:Npn \__color_backend_select_separation:nn #1#2 { \__color_backend_select:nn { /#1 ~ cs ~ #2 ~ scn } { /#1 ~ CS ~ #2 ~ SCN } } \cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn @@ -208,15 +234,11 @@ /C0 ~ [#4] ~ /C1 ~ [#5] /N ~ 1 } - \__color_backend_separation_init:n - { - /Separation ~ - / \str_convert_pdfname:n {#1} ~ #2 ~ - \pdf_object_ref_last: - } + \exp_args:Nx \__color_backend_separation_init:nn + { \str_convert_pdfname:n {#1} } {#2} \bool_lazy_and:nnT { \cs_if_exist_p:N \pdfmanagement_if_active_p: } - { \pdfmanagement_if_active_p:} + { \pdfmanagement_if_active_p: } { \use:x { @@ -227,9 +249,12 @@ } } } -\cs_new_protected:Npn \__color_backend_separation_init:n #1 +\cs_new_protected:Npn \__color_backend_separation_init:nn #1#2 { - \pdf_object_unnamed_write:nx { array } {#1} + \pdf_object_unnamed_write:nx { array } + { /Separation /#1 ~ #2 ~ \pdf_object_ref_last: } + \prop_gput:Nnx \g__color_backend_colorant_prop { /#1 } + { \pdf_object_ref_last: } } \cs_new_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 { @@ -277,12 +302,13 @@ } { {#3} } } - \__color_backend_separation_init:n + \pdf_object_unnamed_write:nx { array } { /DeviceN ~ [ ~ #1 ~ ] ~ #2 ~ \pdf_object_ref_last: + \__color_backend_devicen_colorants:n {#1} } \bool_lazy_and:nnT { \cs_if_exist_p:N \pdfmanagement_if_active_p: } @@ -303,7 +329,6 @@ \tl_if_blank:nF {#2} { \__color_backend_devicen_init:w #2 \s__color_stop } } -\cs_new_eq:NN \__color_backend_devicen_init:n \__color_backend_separation_init:n \int_compare:nNnT \c__kernel_sys_dvipdfmx_version_int < { 20201111 } { \cs_gset_protected:Npn \__color_backend_select_separation:nn #1#2 { } diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def index 7491d90db83..2b3314ee4bd 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-10-12}{} + {l3backend-dvips.def}{2021-10-17}{} {L3 backend support: dvips} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -118,6 +118,32 @@ } \cs_new_protected:Npn \__color_backend_reset: { \__kernel_backend_literal:n { color~pop } } +\prop_new:N \g__color_backend_colorant_prop +\cs_new:Npx \__color_backend_devicen_colorants:n #1 + { + \exp_not:N \tl_if_blank:nF {#1} + { + \c_space_tl + << ~ + /Colorants ~ + << ~ + \exp_not:N \__color_backend_devicen_colorants:w #1 ~ + \exp_not:N \q_recursion_tail \c_space_tl + \exp_not:N \q_recursion_stop + >> ~ + >> + } + } +\cs_new:Npn \__color_backend_devicen_colorants:w #1 ~ + { + \quark_if_recursion_tail_stop:n {#1} + \prop_if_in:NnT \g__color_backend_colorant_prop {#1} + { + #1 ~ + \prop_item:Nn \g__color_backend_colorant_prop {#1} ~ + } + \__color_backend_devicen_colorants:w + } \cs_new_protected:Npn \__color_backend_select_separation:nn #1#2 { \__color_backend_select:n { separation ~ #1 ~ #2 } } \cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn @@ -131,6 +157,15 @@ { \exp_not:N \int_use:N \g__color_model_int } {#1} {#2} {#3} {#4} {#5} } + \prop_gput:Nxx \exp_not:N \g__color_backend_colorant_prop + { / \exp_not:N \str_convert_pdfname:n {#1} } + { + << ~ + /setcolorspace ~ {} ~ + >> ~ begin ~ + color \exp_not:N \int_use:N \g__color_model_int \c_space_tl + end + } } } \cs_generate_variant:Nn \__color_backend_separation_init:nnnnn { nxx } @@ -283,6 +318,7 @@ [ ~ #1 ~ ] ~ #2 ~ { ~ #3 ~ } ~ + \__color_backend_devicen_colorants:n {#1} ] ~ setcolorspace } ~ def ~ end diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def index 8d63f229e7d..e76764e73cc 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-10-12}{} + {l3backend-dvisvgm.def}{2021-10-17}{} {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 f14297306b7..af99f37a036 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-10-12}{} + {l3backend-luatex.def}{2021-10-17}{} {L3 backend support: PDF output (LuaTeX)} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -152,6 +152,32 @@ } \cs_new_protected:Npn \__color_backend_reset: { \__kernel_color_backend_stack_pop:n \l__color_backend_stack_int } +\prop_new:N \g__color_backend_colorant_prop +\cs_new:Npx \__color_backend_devicen_colorants:n #1 + { + \exp_not:N \tl_if_blank:nF {#1} + { + \c_space_tl + << ~ + /Colorants ~ + << ~ + \exp_not:N \__color_backend_devicen_colorants:w #1 ~ + \exp_not:N \q_recursion_tail \c_space_tl + \exp_not:N \q_recursion_stop + >> ~ + >> + } + } +\cs_new:Npn \__color_backend_devicen_colorants:w #1 ~ + { + \quark_if_recursion_tail_stop:n {#1} + \prop_if_in:NnT \g__color_backend_colorant_prop {#1} + { + #1 ~ + \prop_item:Nn \g__color_backend_colorant_prop {#1} ~ + } + \__color_backend_devicen_colorants:w + } \cs_new_protected:Npn \__color_backend_select_separation:nn #1#2 { \__color_backend_select:nn { /#1 ~ cs ~ #2 ~ scn } { /#1 ~ CS ~ #2 ~ SCN } } \cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn @@ -165,15 +191,11 @@ /C0 ~ [#4] ~ /C1 ~ [#5] /N ~ 1 } - \__color_backend_separation_init:n - { - /Separation ~ - / \str_convert_pdfname:n {#1} ~ #2 ~ - \pdf_object_ref_last: - } + \exp_args:Nx \__color_backend_separation_init:nn + { \str_convert_pdfname:n {#1} } {#2} \bool_lazy_and:nnT { \cs_if_exist_p:N \pdfmanagement_if_active_p: } - { \pdfmanagement_if_active_p:} + { \pdfmanagement_if_active_p: } { \use:x { @@ -184,9 +206,12 @@ } } } -\cs_new_protected:Npn \__color_backend_separation_init:n #1 +\cs_new_protected:Npn \__color_backend_separation_init:nn #1#2 { - \pdf_object_unnamed_write:nx { array } {#1} + \pdf_object_unnamed_write:nx { array } + { /Separation /#1 ~ #2 ~ \pdf_object_ref_last: } + \prop_gput:Nnx \g__color_backend_colorant_prop { /#1 } + { \pdf_object_ref_last: } } \cs_new_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 { @@ -234,12 +259,13 @@ } { {#3} } } - \__color_backend_separation_init:n + \pdf_object_unnamed_write:nx { array } { /DeviceN ~ [ ~ #1 ~ ] ~ #2 ~ \pdf_object_ref_last: + \__color_backend_devicen_colorants:n {#1} } \bool_lazy_and:nnT { \cs_if_exist_p:N \pdfmanagement_if_active_p: } @@ -260,7 +286,6 @@ \tl_if_blank:nF {#2} { \__color_backend_devicen_init:w #2 \s__color_stop } } -\cs_new_eq:NN \__color_backend_devicen_init:n \__color_backend_separation_init:n \cs_new_protected:Npn \__color_backend_fill_cmyk:n #1 { \__color_backend_fill:n { #1 ~ k } } \cs_new_protected:Npn \__color_backend_fill_gray:n #1 diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def index dfa6d971e4c..55fb8e16993 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-10-12}{} + {l3backend-pdftex.def}{2021-10-17}{} {L3 backend support: PDF output (pdfTeX)} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -152,6 +152,32 @@ } \cs_new_protected:Npn \__color_backend_reset: { \__kernel_color_backend_stack_pop:n \l__color_backend_stack_int } +\prop_new:N \g__color_backend_colorant_prop +\cs_new:Npx \__color_backend_devicen_colorants:n #1 + { + \exp_not:N \tl_if_blank:nF {#1} + { + \c_space_tl + << ~ + /Colorants ~ + << ~ + \exp_not:N \__color_backend_devicen_colorants:w #1 ~ + \exp_not:N \q_recursion_tail \c_space_tl + \exp_not:N \q_recursion_stop + >> ~ + >> + } + } +\cs_new:Npn \__color_backend_devicen_colorants:w #1 ~ + { + \quark_if_recursion_tail_stop:n {#1} + \prop_if_in:NnT \g__color_backend_colorant_prop {#1} + { + #1 ~ + \prop_item:Nn \g__color_backend_colorant_prop {#1} ~ + } + \__color_backend_devicen_colorants:w + } \cs_new_protected:Npn \__color_backend_select_separation:nn #1#2 { \__color_backend_select:nn { /#1 ~ cs ~ #2 ~ scn } { /#1 ~ CS ~ #2 ~ SCN } } \cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn @@ -165,15 +191,11 @@ /C0 ~ [#4] ~ /C1 ~ [#5] /N ~ 1 } - \__color_backend_separation_init:n - { - /Separation ~ - / \str_convert_pdfname:n {#1} ~ #2 ~ - \pdf_object_ref_last: - } + \exp_args:Nx \__color_backend_separation_init:nn + { \str_convert_pdfname:n {#1} } {#2} \bool_lazy_and:nnT { \cs_if_exist_p:N \pdfmanagement_if_active_p: } - { \pdfmanagement_if_active_p:} + { \pdfmanagement_if_active_p: } { \use:x { @@ -184,9 +206,12 @@ } } } -\cs_new_protected:Npn \__color_backend_separation_init:n #1 +\cs_new_protected:Npn \__color_backend_separation_init:nn #1#2 { - \pdf_object_unnamed_write:nx { array } {#1} + \pdf_object_unnamed_write:nx { array } + { /Separation /#1 ~ #2 ~ \pdf_object_ref_last: } + \prop_gput:Nnx \g__color_backend_colorant_prop { /#1 } + { \pdf_object_ref_last: } } \cs_new_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 { @@ -234,12 +259,13 @@ } { {#3} } } - \__color_backend_separation_init:n + \pdf_object_unnamed_write:nx { array } { /DeviceN ~ [ ~ #1 ~ ] ~ #2 ~ \pdf_object_ref_last: + \__color_backend_devicen_colorants:n {#1} } \bool_lazy_and:nnT { \cs_if_exist_p:N \pdfmanagement_if_active_p: } @@ -260,7 +286,6 @@ \tl_if_blank:nF {#2} { \__color_backend_devicen_init:w #2 \s__color_stop } } -\cs_new_eq:NN \__color_backend_devicen_init:n \__color_backend_separation_init:n \cs_new_protected:Npn \__color_backend_fill_cmyk:n #1 { \__color_backend_fill:n { #1 ~ k } } \cs_new_protected:Npn \__color_backend_fill_gray:n #1 diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def index 9f74df6ce76..28afd4cba32 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-10-12}{} + {l3backend-xetex.def}{2021-10-17}{} {L3 backend support: XeTeX} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -195,6 +195,32 @@ \cs_gset_protected:Npn \__color_backend_reset: { \__kernel_backend_literal:n { pdf: ec } } } +\prop_new:N \g__color_backend_colorant_prop +\cs_new:Npx \__color_backend_devicen_colorants:n #1 + { + \exp_not:N \tl_if_blank:nF {#1} + { + \c_space_tl + << ~ + /Colorants ~ + << ~ + \exp_not:N \__color_backend_devicen_colorants:w #1 ~ + \exp_not:N \q_recursion_tail \c_space_tl + \exp_not:N \q_recursion_stop + >> ~ + >> + } + } +\cs_new:Npn \__color_backend_devicen_colorants:w #1 ~ + { + \quark_if_recursion_tail_stop:n {#1} + \prop_if_in:NnT \g__color_backend_colorant_prop {#1} + { + #1 ~ + \prop_item:Nn \g__color_backend_colorant_prop {#1} ~ + } + \__color_backend_devicen_colorants:w + } \cs_new_protected:Npn \__color_backend_select_separation:nn #1#2 { \__color_backend_select:nn { /#1 ~ cs ~ #2 ~ scn } { /#1 ~ CS ~ #2 ~ SCN } } \cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn @@ -208,15 +234,11 @@ /C0 ~ [#4] ~ /C1 ~ [#5] /N ~ 1 } - \__color_backend_separation_init:n - { - /Separation ~ - / \str_convert_pdfname:n {#1} ~ #2 ~ - \pdf_object_ref_last: - } + \exp_args:Nx \__color_backend_separation_init:nn + { \str_convert_pdfname:n {#1} } {#2} \bool_lazy_and:nnT { \cs_if_exist_p:N \pdfmanagement_if_active_p: } - { \pdfmanagement_if_active_p:} + { \pdfmanagement_if_active_p: } { \use:x { @@ -227,9 +249,12 @@ } } } -\cs_new_protected:Npn \__color_backend_separation_init:n #1 +\cs_new_protected:Npn \__color_backend_separation_init:nn #1#2 { - \pdf_object_unnamed_write:nx { array } {#1} + \pdf_object_unnamed_write:nx { array } + { /Separation /#1 ~ #2 ~ \pdf_object_ref_last: } + \prop_gput:Nnx \g__color_backend_colorant_prop { /#1 } + { \pdf_object_ref_last: } } \cs_new_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 { @@ -277,12 +302,13 @@ } { {#3} } } - \__color_backend_separation_init:n + \pdf_object_unnamed_write:nx { array } { /DeviceN ~ [ ~ #1 ~ ] ~ #2 ~ \pdf_object_ref_last: + \__color_backend_devicen_colorants:n {#1} } \bool_lazy_and:nnT { \cs_if_exist_p:N \pdfmanagement_if_active_p: } @@ -303,7 +329,6 @@ \tl_if_blank:nF {#2} { \__color_backend_devicen_init:w #2 \s__color_stop } } -\cs_new_eq:NN \__color_backend_devicen_init:n \__color_backend_separation_init:n \int_compare:nNnT \c__kernel_sys_dvipdfmx_version_int < { 20201111 } { \cs_gset_protected:Npn \__color_backend_select_separation:nn #1#2 { } -- cgit v1.2.3