summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3backend
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-09-11 20:56:15 +0000
committerKarl Berry <karl@freefriends.org>2020-09-11 20:56:15 +0000
commit669f118b45756491c4d06049f501796b22192227 (patch)
treee5d2a257620ae1db2a056173a16044a2c3aca77c /Master/texmf-dist/tex/latex/l3backend
parent926a0d3532953597dadb382e89a94a7aa9a1cdb4 (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')
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def64
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def147
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def5
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def61
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def59
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def64
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