diff options
author | Karl Berry <karl@freefriends.org> | 2020-09-11 20:56:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-09-11 20:56:15 +0000 |
commit | 669f118b45756491c4d06049f501796b22192227 (patch) | |
tree | e5d2a257620ae1db2a056173a16044a2c3aca77c /Master/texmf-dist/tex/latex/l3backend | |
parent | 926a0d3532953597dadb382e89a94a7aa9a1cdb4 (diff) |
l3 (10sep20)
git-svn-id: svn://tug.org/texlive/trunk@56323 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3backend')
6 files changed, 269 insertions, 131 deletions
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def index 54c4b43301d..ecef294a754 100644 --- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def @@ -25,7 +25,7 @@ %% %% File: l3backend-basics.dtx \ProvidesExplFile - {l3backend-dvipdfmx.def}{2020-09-01}{} + {l3backend-dvipdfmx.def}{2020-09-11}{} {L3 backend support: dvipdfmx} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -87,19 +87,26 @@ } \cs_new_protected:Npn \__color_backend_select_separation:nn #1#2 { \__color_backend_select:n { @#1 ~ [#2] } } +\cs_new_protected:Npn \__color_backend_select:n #1 + { + \__kernel_backend_literal:n { pdf: bc ~ #1 } + \group_insert_after:N \__color_backend_reset: + } \cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5 { + \pdf_object_now:nx { dict } + { + /FunctionType ~ 2 + /Domain ~ [0 ~ 1] + \tl_if_blank:nF {#3} { /Range ~ [#3] } + /C0 ~ [#4] ~ + /C1 ~ [#5] /N ~ 1 + } \__color_backend_separation_init:n { /Separation / \str_convert_pdfname:n {#1} ~ #2 ~ - << - /FunctionType ~ 2 - /Domain ~ [0 ~ 1] - \tl_if_blank:nF {#3} { /Range ~ [#3] } - /C0 ~ [#4] ~ - /C1 ~ [#5] /N ~ 1 - >> + \pdf_object_last: } } \cs_if_exist:NF \pdf_object_now:nn @@ -108,36 +115,37 @@ { \__kernel_backend_literal:x { - pdf:obj ~ @ color \int_use:N \g__color_separation_int \c_space_tl + pdf:obj ~ @color \int_use:N \g__color_separation_int \c_space_tl [#1] } } -\cs_new_protected:Npn \__color_backend_separation_init_cielab:nnnnn #1#2#3#4#5 +\cs_new_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 { + \pdf_object_if_exist:nF { __color_illuminant_CIELAB_ #1 } + { + \pdf_object_new:nn { __color_illuminant_CIELAB_ #1 } { array } + \pdf_object_write:nx { __color_illuminant_CIELAB_ #1 } + { + /Lab ~ + << + /WhitePoint ~ + [ \tl_use:c { c__color_model_whitepoint_CIELAB_ #1 _tl } ] + /Range ~ [ \c__color_model_range_CIELAB_tl ] + >> + } + } \__color_backend_separation_init:nnnnn {#2} - { \pdf_object_ref:n { __color_illuminant_cielab_ #1 } } - { \c__color_model_range_lab_tl } + { \pdf_object_ref:n { __color_illuminant_CIELAB_ #1 } } + { \c__color_model_range_CIELAB_tl } { 100 ~ 0 ~ 0 } - { #3 ~ #4 ~ #5 } + {#3} } \cs_if_exist:NF \pdf_object_now:nn - { \cs_gset_protected:Npn \__color_backend_separation_init_cielab:nnnnn #1#2#3#4#5 { } } -\cs_new_protected:Npn \__color_backend_separation_init_cielab:n #1 { - \pdf_object_new:nn { __color_illuminant_cielab_ #1 } { array } - \pdf_object_write:nx { __color_illuminant_cielab_ #1 } - { - /Lab ~ - << - /WhitePoint ~ - [ \tl_use:c { c__color_model_whitepoint_cielab_ #1 _tl } ] - /Range ~ [ \c__color_model_range_lab_tl ] - >> - } - } -\cs_if_exist:NF \pdf_object_new:nn - { \cs_gset_protected:Npn \__color_backend_separation_init_cielab:n #1 { } } + \cs_gset_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 + { } + } \cs_new_protected:Npn \__color_backend_fill_cmyk:n #1 { \__kernel_backend_literal_pdf:n { #1 ~ k } } \cs_new_protected:Npn \__color_backend_fill_gray:n #1 diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def index 7065ad419dd..84ff37e80c0 100644 --- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def +++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def @@ -25,7 +25,7 @@ %% %% File: l3backend-basics.dtx \ProvidesExplFile - {l3backend-dvips.def}{2020-09-01}{} + {l3backend-dvips.def}{2020-09-11}{} {L3 backend support: dvips} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -111,40 +111,157 @@ \cs_new_protected:Npn \__color_backend_reset: { \__kernel_backend_literal:n { color~pop } } \cs_new_protected:Npn \__color_backend_select_separation:nn #1#2 - { \__color_backend_select:n { setspotcolor ~ #1 ~ #2 } } + { \__color_backend_select:n { separation ~ #1 ~ #2 } } \cs_new_protected:Npx \__color_backend_separation_init:nnnnn #1#2#3#4#5 { \bool_if:NT \g__kernel_backend_header_bool { \cs_if_exist:NTF \AtBeginDvi - { \AtBeginDvi } + { \exp_not:N \AtBeginDvi } { \use:n } { - \exp_not:N \__color_backend_separation_init:nnn - {#1} {#2} {#5} + \exp_not:N \__color_backend_separation_init_aux:nnnnn + {#1} {#2} {#3} {#4} {#5} } } } -\cs_new_protected:Npn \__color_backend_separation_init:nnn #1#2#3 +\cs_generate_variant:Nn \__color_backend_separation_init:nnnnn { nxx } +\cs_new_protected:Npn \__color_backend_separation_init_aux:nnnnn #1#2#3#4#5 { \__kernel_backend_literal:e { ! TeXDict ~ begin ~ - /color \int_use:N \g__color_separation_int \c_space_tl - [#3] ~ aload ~ pop ~ ( \str_convert_pdfname:n {#1} ) ~ - find \__color_backend_separation_init:n {#2} customcolor ~ def ~ + /color \int_use:N \g__color_separation_int + { + [ ~ + /Separation ~ ( \str_convert_pdfname:n {#1} ) ~ + [ ~ #2 ~ ] ~ + { + \cs_if_exist_use:cF { __color_backend_separation_init_ #2 :nnn } + { \__color_backend_separation_init:nnn } + {#3} {#4} {#5} + } + ] ~ setcolorspace + } ~ def ~ end } } -\cs_new:Npn \__color_backend_separation_init:n #1 +\cs_new:cpn { __color_backend_separation_init_ /DeviceCMYK :nnn } #1#2#3 + { \__color_backend_separation_init_Device:Nn 4 {#3} } +\cs_new:cpn { __color_backend_separation_init_ /DeviceGray :nnn } #1#2#3 + { \__color_backend_separation_init_Device:Nn 1 {#3} } +\cs_new:cpn { __color_backend_separation_init_ /DeviceRGB :nnn } #1#2#3 + { \__color_backend_separation_init_Device:Nn 2 {#3} } +\cs_new:Npn \__color_backend_separation_init_Device:Nn #1#2 + { + #2 ~ + \prg_replicate:nn {#1} + { #1 ~ index ~ mul ~ #1 ~ 1 ~ roll ~ } + \int_eval:n { #1 + 1 } ~ -1 ~ roll ~ pop + } +\cs_new:Npn \__color_backend_separation_init:nnn #1#2#3 + { + \exp_args:Ne \__color_backend_separation_init:nnnn + { \__color_backend_separation_init_count:n {#2} } + {#1} {#2} {#3} + } +\cs_new:Npn \__color_backend_separation_init_count:n #1 + { \int_eval:n { 0 \__color_backend_separation_init_count:w #1 ~ \s__color_stop } } +\cs_new:Npn \__color_backend_separation_init_count:w #1 ~ #2 \s__color_stop { - \__color_backend_separation_init:w #1 /Device #1 /Device \s__color_stop + +1 + \tl_if_blank:nF {#2} + { \__color_backend_separation_init_count:w #2 \s__color_stop } + } +\cs_new:Npn \__color_backend_separation_init:nnnn #1#2#3#4 + { + \__color_backend_separation_init:w #3 ~ \s__color_stop #4 ~ \s__color_stop + \prg_replicate:nn {#1} + { + pop ~ 1 ~ index ~ neg ~ 1 ~ index ~ add ~ + \int_eval:n { 3 * #1 } ~ index ~ mul ~ + 2 ~ index ~ add ~ + \int_eval:n { 3 * #1 } ~ #1 ~ roll ~ + } + \int_step_function:nnnN {#1} { -1 } { 1 } + \__color_backend_separation_init:n + \int_eval:n { 4 * #1 + 1 } ~ #1 ~ roll ~ + \prg_replicate:nn { 3 * #1 + 1 } { pop ~ } + \tl_if_blank:nF {#2} + { \__color_backend_separation_init:nw {#1} #2 ~ \s__color_stop } + } +\cs_new:Npn \__color_backend_separation_init:w + #1 ~ #2 \s__color_stop #3 ~ #4 \s__color_stop + { + #1 ~ #3 ~ 0 ~ + \tl_if_blank:nF {#2} + { \__color_backend_separation_init:w #2 \s__color_stop #4 \s__color_stop } + } +\cs_new:Npn \__color_backend_separation_init:n #1 + { \int_eval:n { #1 * 2 } ~ index ~ } +\cs_new:Npn \__color_backend_separation_init:nw #1#2 ~ #3 ~ #4 \s__color_stop + { + #2 ~ #3 ~ + 2 ~ index ~ 2 ~ index ~ lt ~ + { ~ pop ~ exch ~ pop ~ } ~ + { ~ + 2 ~ index ~ 1 ~ index ~ gt ~ + { ~ exch ~ pop ~ exch ~ pop ~ } ~ + { ~ pop ~ pop ~ } ~ + ifelse ~ + } + ifelse ~ + #1 ~ 1 ~ roll ~ + \tl_if_blank:nF {#4} + { \__color_backend_separation_init:nw {#1} #4 \s__color_stop } + } +\cs_new_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 + { + \__color_backend_separation_init:nxxnn + {#2} + { + /CIEBasedABC ~ + << ~ + /RangeABC ~ [ ~ \c__color_model_range_CIELAB_tl \c_space_tl ] ~ + /DecodeABC ~ + [ ~ + { ~ 16 ~ add ~ 116 ~ div ~ } ~ bind ~ + { ~ 500 ~ div ~ } ~ bind ~ + { ~ 200 ~ div ~ } ~ bind ~ + ] ~ + /MatrixABC ~ [ ~ 1 ~ 1 ~ 1 ~ 1 ~ 0 ~ 0 ~ 0 ~ 0 ~ -1 ~ ] ~ + /DecodeLMN ~ + [ ~ + { ~ + dup ~ 6 ~ 29 ~ div ~ ge ~ + { ~ dup ~ dup ~ mul ~ mul ~ ~ } ~ + { ~ 4 ~ 29 ~ div ~ sub ~ 108 ~ 841 ~ div ~ mul ~ } ~ + ifelse ~ + 0.9505 ~ mul ~ + } ~ bind ~ + { ~ + dup ~ 6 ~ 29 ~ div ~ ge ~ + { ~ dup ~ dup ~ mul ~ mul ~ } ~ + { ~ 4 ~ 29 ~ div ~ sub ~ 108 ~ 841 ~ div ~ mul ~ } ~ + ifelse ~ + } ~ bind ~ + { ~ + dup ~ 6 ~ 29 ~ div ~ ge ~ + { ~ dup ~ dup ~ mul ~ mul ~ } ~ + { ~ 4 ~ 29 ~ div ~ sub ~ 108 ~ 841 ~ div ~ mul ~ } ~ + ifelse ~ + 1.0890 ~ mul ~ + } ~ bind + ] ~ + /WhitePoint ~ + [ ~ \tl_use:c { c__color_model_whitepoint_CIELAB_ #1 _tl } ~ ] ~ + >> + } + { \c__color_model_range_CIELAB_tl } + { 100 ~ 0 ~ 0 } + {#3} } -\cs_new:Npn \__color_backend_separation_init:w #1 /Device #2 /Device #3 \s__color_stop - { \str_lowercase:n {#2} } -\cs_new_protected:Npn \__color_backend_separation_init_cielab:nnnnn #1#2#3#4#5 { } -\cs_new_protected:Npn \__color_backend_separation_init_cielab:n #1 { } \cs_new_protected:Npn \__color_backend_fill_cmyk:n #1 { \__kernel_backend_postscript:n { /color.fc { #1 ~ setcmykcolor } def } } \cs_new_protected:Npn \__color_backend_fill_gray:n #1 diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def index fed3c0d3721..a2616cd5741 100644 --- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def +++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def @@ -25,7 +25,7 @@ %% %% File: l3backend-basics.dtx \ProvidesExplFile - {l3backend-dvisvgm.def}{2020-09-01}{} + {l3backend-dvisvgm.def}{2020-09-11}{} {L3 backend support: dvisvgm} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -122,8 +122,7 @@ { \__kernel_backend_literal:n { color~pop } } \cs_new_protected:Npn \__color_backend_select_separation:nn #1#2 { } \cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5 { } -\cs_new_protected:Npn \__color_backend_separation_init_cielab:nnnnn #1#2#3#4#5 { } -\cs_new_protected:Npn \__color_backend_separation_init_cielab:n #1 { } +\cs_new_protected:Npn \__color_backend_separation_init_CIELAB:nnnnnn #1#2#3 { } \cs_new_protected:Npn \__color_backend_fill_cmyk:n #1 { \__color_backend_cmyk:nw { fill } #1 \s__color_stop } \cs_new_protected:Npn \__color_backend_stroke_cmyk:n #1 diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def index 309dfca33cf..f7eb09b28bc 100644 --- a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def +++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def @@ -25,7 +25,7 @@ %% %% File: l3backend-basics.dtx \ProvidesExplFile - {l3backend-luatex.def}{2020-09-01}{} + {l3backend-luatex.def}{2020-09-11}{} {L3 backend support: PDF output (LuaTeX)} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -125,17 +125,19 @@ { \__color_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ scn ~ #2 ~ SCN } } \cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5 { + \pdf_object_now:nx { dict } + { + /FunctionType ~ 2 + /Domain ~ [0 ~ 1] + \tl_if_blank:nF {#3} { /Range ~ [#3] } + /C0 ~ [#4] ~ + /C1 ~ [#5] /N ~ 1 + } \__color_backend_separation_init:n { /Separation / \str_convert_pdfname:n {#1} ~ #2 ~ - << - /FunctionType ~ 2 - /Domain ~ [0 ~ 1] - \tl_if_blank:nF {#3} { /Range ~ [#3] } - /C0 ~ [#4] ~ - /C1 ~ [#5] /N ~ 1 - >> + \pdf_object_last: } \use:x { @@ -151,32 +153,33 @@ { \pdf_object_now:nx { array } {#1} } -\cs_new_protected:Npn \__color_backend_separation_init_cielab:nnnnn #1#2#3#4#5 +\cs_new_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 { + \pdf_object_if_exist:nF { __color_illuminant_CIELAB_ #1 } + { + \pdf_object_new:nn { __color_illuminant_CIELAB_ #1 } { array } + \pdf_object_write:nx { __color_illuminant_CIELAB_ #1 } + { + /Lab ~ + << + /WhitePoint ~ + [ \tl_use:c { c__color_model_whitepoint_CIELAB_ #1 _tl } ] + /Range ~ [ \c__color_model_range_CIELAB_tl ] + >> + } + } \__color_backend_separation_init:nnnnn {#2} - { \pdf_object_ref:n { __color_illuminant_cielab_ #1 } } - { \c__color_model_range_lab_tl } + { \pdf_object_ref:n { __color_illuminant_CIELAB_ #1 } } + { \c__color_model_range_CIELAB_tl } { 100 ~ 0 ~ 0 } - { #3 ~ #4 ~ #5 } + {#3} } \cs_if_exist:NF \pdf_object_now:nn - { \cs_gset_protected:Npn \__color_backend_separation_init_cielab:nnnnn #1#2#3#4#5 { } } -\cs_new_protected:Npn \__color_backend_separation_init_cielab:n #1 { - \pdf_object_new:nn { __color_illuminant_cielab_ #1 } { array } - \pdf_object_write:nx { __color_illuminant_cielab_ #1 } - { - /Lab ~ - << - /WhitePoint ~ - [ \tl_use:c { c__color_model_whitepoint_cielab_ #1 _tl } ] - /Range ~ [ \c__color_model_range_lab_tl ] - >> - } + \cs_gset_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 + { } } -\cs_if_exist:NF \pdf_object_new:nn - { \cs_gset_protected:Npn \__color_backend_separation_init_cielab:n #1 { } } \cs_new_protected:Npn \__color_backend_fill_cmyk:n #1 { \__kernel_backend_literal_pdf:n { #1 ~ k } } \cs_new_protected:Npn \__color_backend_fill_gray:n #1 @@ -479,7 +482,7 @@ \cs_new:Npx \__pdf_backend_annotation_last: { \exp_not:N \int_value:w - \exp_not:N \tex_pdffeedback:D lastannot + \exp_not:N \tex_pdffeedback:D lastannot ~ \c_space_tl 0 ~ R } \cs_new_protected:Npn \__pdf_backend_link_begin_goto:nnw #1#2 @@ -499,7 +502,7 @@ \cs_new:Npx \__pdf_backend_link_last: { \exp_not:N \int_value:w - \exp_not:N \tex_pdffeedback:D lastlink + \exp_not:N \tex_pdffeedback:D lastlink ~ \c_space_tl 0 ~ R } \cs_new_protected:Npn \__pdf_backend_link_margin:n #1 @@ -555,7 +558,7 @@ \int_const:cn { c__pdf_backend_object_ \tl_to_str:n {#1} _int } { \tex_pdffeedback:D lastobj } - \prop_gput:Nnn \exp_not:N \g__pdf_backend_object_prop {#1} {#2} + \prop_gput:Nnn \g__pdf_backend_object_prop {#1} {#2} } \cs_new:Npn \__pdf_backend_object_ref:n #1 { \int_use:c { c__pdf_backend_object_ \tl_to_str:n {#1} _int } ~ 0 ~ R } diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def index 1307f33a12c..85d24278f52 100644 --- a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def @@ -25,7 +25,7 @@ %% %% File: l3backend-basics.dtx \ProvidesExplFile - {l3backend-pdftex.def}{2020-09-01}{} + {l3backend-pdftex.def}{2020-09-11}{} {L3 backend support: PDF output (pdfTeX)} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -125,17 +125,19 @@ { \__color_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ scn ~ #2 ~ SCN } } \cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5 { + \pdf_object_now:nx { dict } + { + /FunctionType ~ 2 + /Domain ~ [0 ~ 1] + \tl_if_blank:nF {#3} { /Range ~ [#3] } + /C0 ~ [#4] ~ + /C1 ~ [#5] /N ~ 1 + } \__color_backend_separation_init:n { /Separation / \str_convert_pdfname:n {#1} ~ #2 ~ - << - /FunctionType ~ 2 - /Domain ~ [0 ~ 1] - \tl_if_blank:nF {#3} { /Range ~ [#3] } - /C0 ~ [#4] ~ - /C1 ~ [#5] /N ~ 1 - >> + \pdf_object_last: } \use:x { @@ -151,32 +153,33 @@ { \pdf_object_now:nx { array } {#1} } -\cs_new_protected:Npn \__color_backend_separation_init_cielab:nnnnn #1#2#3#4#5 +\cs_new_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 { + \pdf_object_if_exist:nF { __color_illuminant_CIELAB_ #1 } + { + \pdf_object_new:nn { __color_illuminant_CIELAB_ #1 } { array } + \pdf_object_write:nx { __color_illuminant_CIELAB_ #1 } + { + /Lab ~ + << + /WhitePoint ~ + [ \tl_use:c { c__color_model_whitepoint_CIELAB_ #1 _tl } ] + /Range ~ [ \c__color_model_range_CIELAB_tl ] + >> + } + } \__color_backend_separation_init:nnnnn {#2} - { \pdf_object_ref:n { __color_illuminant_cielab_ #1 } } - { \c__color_model_range_lab_tl } + { \pdf_object_ref:n { __color_illuminant_CIELAB_ #1 } } + { \c__color_model_range_CIELAB_tl } { 100 ~ 0 ~ 0 } - { #3 ~ #4 ~ #5 } + {#3} } \cs_if_exist:NF \pdf_object_now:nn - { \cs_gset_protected:Npn \__color_backend_separation_init_cielab:nnnnn #1#2#3#4#5 { } } -\cs_new_protected:Npn \__color_backend_separation_init_cielab:n #1 { - \pdf_object_new:nn { __color_illuminant_cielab_ #1 } { array } - \pdf_object_write:nx { __color_illuminant_cielab_ #1 } - { - /Lab ~ - << - /WhitePoint ~ - [ \tl_use:c { c__color_model_whitepoint_cielab_ #1 _tl } ] - /Range ~ [ \c__color_model_range_lab_tl ] - >> - } + \cs_gset_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 + { } } -\cs_if_exist:NF \pdf_object_new:nn - { \cs_gset_protected:Npn \__color_backend_separation_init_cielab:n #1 { } } \cs_new_protected:Npn \__color_backend_fill_cmyk:n #1 { \__kernel_backend_literal_pdf:n { #1 ~ k } } \cs_new_protected:Npn \__color_backend_fill_gray:n #1 @@ -479,7 +482,7 @@ \cs_new:Npx \__pdf_backend_annotation_last: { \exp_not:N \int_value:w - \exp_not:N \tex_pdfannot:D + \exp_not:N \tex_pdflastannot:D \c_space_tl 0 ~ R } \cs_new_protected:Npn \__pdf_backend_link_begin_goto:nnw #1#2 @@ -555,7 +558,7 @@ \int_const:cn { c__pdf_backend_object_ \tl_to_str:n {#1} _int } { \tex_pdflastobj:D } - \prop_gput:Nnn \exp_not:N \g__pdf_backend_object_prop {#1} {#2} + \prop_gput:Nnn \g__pdf_backend_object_prop {#1} {#2} } \cs_new:Npn \__pdf_backend_object_ref:n #1 { \int_use:c { c__pdf_backend_object_ \tl_to_str:n {#1} _int } ~ 0 ~ R } diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def index 1250c1577f0..bc40c6ee387 100644 --- a/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def +++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def @@ -25,7 +25,7 @@ %% %% File: l3backend-basics.dtx \ProvidesExplFile - {l3backend-xetex.def}{2020-09-01}{} + {l3backend-xetex.def}{2020-09-11}{} {L3 backend support: XeTeX} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -87,19 +87,26 @@ } \cs_new_protected:Npn \__color_backend_select_separation:nn #1#2 { \__color_backend_select:n { @#1 ~ [#2] } } +\cs_new_protected:Npn \__color_backend_select:n #1 + { + \__kernel_backend_literal:n { pdf: bc ~ #1 } + \group_insert_after:N \__color_backend_reset: + } \cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5 { + \pdf_object_now:nx { dict } + { + /FunctionType ~ 2 + /Domain ~ [0 ~ 1] + \tl_if_blank:nF {#3} { /Range ~ [#3] } + /C0 ~ [#4] ~ + /C1 ~ [#5] /N ~ 1 + } \__color_backend_separation_init:n { /Separation / \str_convert_pdfname:n {#1} ~ #2 ~ - << - /FunctionType ~ 2 - /Domain ~ [0 ~ 1] - \tl_if_blank:nF {#3} { /Range ~ [#3] } - /C0 ~ [#4] ~ - /C1 ~ [#5] /N ~ 1 - >> + \pdf_object_last: } } \cs_if_exist:NF \pdf_object_now:nn @@ -108,36 +115,37 @@ { \__kernel_backend_literal:x { - pdf:obj ~ @ color \int_use:N \g__color_separation_int \c_space_tl + pdf:obj ~ @color \int_use:N \g__color_separation_int \c_space_tl [#1] } } -\cs_new_protected:Npn \__color_backend_separation_init_cielab:nnnnn #1#2#3#4#5 +\cs_new_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 { + \pdf_object_if_exist:nF { __color_illuminant_CIELAB_ #1 } + { + \pdf_object_new:nn { __color_illuminant_CIELAB_ #1 } { array } + \pdf_object_write:nx { __color_illuminant_CIELAB_ #1 } + { + /Lab ~ + << + /WhitePoint ~ + [ \tl_use:c { c__color_model_whitepoint_CIELAB_ #1 _tl } ] + /Range ~ [ \c__color_model_range_CIELAB_tl ] + >> + } + } \__color_backend_separation_init:nnnnn {#2} - { \pdf_object_ref:n { __color_illuminant_cielab_ #1 } } - { \c__color_model_range_lab_tl } + { \pdf_object_ref:n { __color_illuminant_CIELAB_ #1 } } + { \c__color_model_range_CIELAB_tl } { 100 ~ 0 ~ 0 } - { #3 ~ #4 ~ #5 } + {#3} } \cs_if_exist:NF \pdf_object_now:nn - { \cs_gset_protected:Npn \__color_backend_separation_init_cielab:nnnnn #1#2#3#4#5 { } } -\cs_new_protected:Npn \__color_backend_separation_init_cielab:n #1 { - \pdf_object_new:nn { __color_illuminant_cielab_ #1 } { array } - \pdf_object_write:nx { __color_illuminant_cielab_ #1 } - { - /Lab ~ - << - /WhitePoint ~ - [ \tl_use:c { c__color_model_whitepoint_cielab_ #1 _tl } ] - /Range ~ [ \c__color_model_range_lab_tl ] - >> - } - } -\cs_if_exist:NF \pdf_object_new:nn - { \cs_gset_protected:Npn \__color_backend_separation_init_cielab:n #1 { } } + \cs_gset_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 + { } + } \cs_new_protected:Npn \__color_backend_fill_cmyk:n #1 { \__kernel_backend_literal_pdf:n { #1 ~ k } } \cs_new_protected:Npn \__color_backend_fill_gray:n #1 |