diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def | 49 |
1 files changed, 37 insertions, 12 deletions
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 |