From 2e1f687d46764061ec8df089e40b9ac1aece2761 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 24 Sep 2020 20:46:14 +0000 Subject: l3 (24sep20) git-svn-id: svn://tug.org/texlive/trunk@56424 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/l3backend/l3backend-dvipdfmx.def | 50 +++++++++++++++++-- .../tex/latex/l3backend/l3backend-dvips.def | 25 +++++++++- .../tex/latex/l3backend/l3backend-dvisvgm.def | 11 +++-- .../tex/latex/l3backend/l3backend-luatex.def | 57 ++++++++++++++++++++-- .../tex/latex/l3backend/l3backend-pdftex.def | 57 ++++++++++++++++++++-- .../tex/latex/l3backend/l3backend-xetex.def | 50 +++++++++++++++++-- 6 files changed, 231 insertions(+), 19 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 ecef294a754..8643b498c4a 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-11}{} + {l3backend-dvipdfmx.def}{2020-09-24}{} {L3 backend support: dvipdfmx} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -92,6 +92,7 @@ \__kernel_backend_literal:n { pdf: bc ~ #1 } \group_insert_after:N \__color_backend_reset: } +\cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn \cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5 { \pdf_object_now:nx { dict } @@ -104,7 +105,7 @@ } \__color_backend_separation_init:n { - /Separation + /Separation ~ / \str_convert_pdfname:n {#1} ~ #2 ~ \pdf_object_last: } @@ -115,7 +116,7 @@ { \__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_model_int \c_space_tl [#1] } } @@ -146,6 +147,47 @@ \cs_gset_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 { } } +\cs_new_protected:Npn \__color_backend_devicen_init:nnn #1#2#3 + { + \pdf_object_now:nx { stream } + { + { + /FunctionType ~ 4 ~ + /Domain ~ + [ ~ + \prg_replicate:nn + { 0 \__color_backend_devicen_init:w #1 ~ \s__color_stop } + { 0 ~ 1 ~ } ~ + ] ~ + /Range ~ + [ ~ + \str_case:nn {#2} + { + { /DeviceCMYK } { 0 ~ 1 ~ 0 ~ 1 ~ 0 ~ 1 ~ 0 ~ 1 } + { /DeviceGray } { 0 ~ 1 } + { /DeviceRGB } { 0 ~ 1 ~ 0 ~ 1 ~ 0 ~ 1 } + } ~ + ] + } + {#3} + } + \__color_backend_separation_init:n + { + /DeviceN ~ + [ ~ #1 ~ ] ~ + #2 ~ + \pdf_object_last: + } + } +\cs_if_exist:NF \pdf_object_now:nn + { \cs_gset_protected:Npn \__color_backend_devicen_init:nnn #1#2#3 { } } +\cs_new:Npn \__color_backend_devicen_init:w #1 ~ #2 \s__color_stop + { + + 1 + \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 { \__kernel_backend_literal_pdf:n { #1 ~ k } } \cs_new_protected:Npn \__color_backend_fill_gray:n #1 @@ -162,6 +204,8 @@ { \__kernel_backend_literal_pdf:n { /#1 ~ cs ~ #2 ~ scn } } \cs_new_protected:Npn \__color_backend_stroke_separation:nn #1#2 { \__kernel_backend_literal_pdf:n { /#1 ~ CS ~ #2 ~ SCN } } +\cs_new_eq:NN \__color_backend_fill_devicen:nn \__color_backend_fill_separation:nn +\cs_new_eq:NN \__color_backend_stroke_devicen:nn \__color_backend_stroke_separation:nn %% File: l3backend-box.dtx \cs_new_protected:Npn \__box_backend_clip: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 84ff37e80c0..32425e0870a 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-11}{} + {l3backend-dvips.def}{2020-09-24}{} {L3 backend support: dvips} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -112,6 +112,7 @@ { \__kernel_backend_literal:n { color~pop } } \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 \cs_new_protected:Npx \__color_backend_separation_init:nnnnn #1#2#3#4#5 { \bool_if:NT \g__kernel_backend_header_bool @@ -132,7 +133,7 @@ { ! TeXDict ~ begin ~ - /color \int_use:N \g__color_separation_int + /color \int_use:N \g__color_model_int { [ ~ /Separation ~ ( \str_convert_pdfname:n {#1} ) ~ @@ -262,6 +263,24 @@ { 100 ~ 0 ~ 0 } {#3} } +\cs_new_protected:Npn \__color_backend_devicen_init:nnn #1#2#3 + { + \__kernel_backend_literal:e + { + ! + TeXDict ~ begin ~ + /color \int_use:N \g__color_model_int + { + [ ~ + /DeviceN ~ + [ ~ #1 ~ ] ~ + #2 ~ + { ~ #3 ~ } ~ + ] ~ setcolorspace + } ~ def ~ + end + } + } \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 @@ -278,6 +297,8 @@ { \__kernel_backend_postscript:n { /color.fc { #1 } def } } \cs_new_protected:Npn \__color_backend_stroke_separation:nn #1#2 { \__kernel_backend_postscript:n { /color.sc { #1 } def } } +\cs_new_eq:NN \__color_backend_fill_devicen:nn \__color_backend_fill_separation:nn +\cs_new_eq:NN \__color_backend_stroke_devicen:nn \__color_backend_stroke_separation:nn %% File: l3backend-box.dtx \cs_new_protected:Npn \__box_backend_clip: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 a2616cd5741..a85b91ed169 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-11}{} + {l3backend-dvisvgm.def}{2020-09-24}{} {L3 backend support: dvisvgm} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -121,6 +121,7 @@ \cs_new_protected:Npn \__color_backend_reset: { \__kernel_backend_literal:n { color~pop } } \cs_new_protected:Npn \__color_backend_select_separation:nn #1#2 { } +\cs_new_protected:Npn \__color_backend_select_devicen: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:nnnnnn #1#2#3 { } \cs_new_protected:Npn \__color_backend_fill_cmyk:n #1 @@ -185,10 +186,10 @@ " } } -\cs_new_protected:Npn \__color_backend_fill_separation:nn #1#2 - { } -\cs_new_protected:Npn \__color_backend_stroke_separation:nn #1#2 - { } +\cs_new_protected:Npn \__color_backend_fill_separation:nn #1#2 { } +\cs_new_protected:Npn \__color_backend_stroke_separation:nn #1#2 { } +\cs_new_eq:NN \__color_backend_fill_devicen:nn \__color_backend_fill_separation:nn +\cs_new_eq:NN \__color_backend_stroke_devicen:nn \__color_backend_stroke_separation:nn %% File: l3backend-box.dtx \cs_new_protected:Npn \__box_backend_clip: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 f7eb09b28bc..80181c90df3 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-11}{} + {l3backend-luatex.def}{2020-09-24}{} {L3 backend support: PDF output (LuaTeX)} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -123,6 +123,7 @@ } \cs_new_protected:Npn \__color_backend_select_separation:nn #1#2 { \__color_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ scn ~ #2 ~ SCN } } +\cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn \cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5 { \pdf_object_now:nx { dict } @@ -135,7 +136,7 @@ } \__color_backend_separation_init:n { - /Separation + /Separation ~ / \str_convert_pdfname:n {#1} ~ #2 ~ \pdf_object_last: } @@ -143,7 +144,7 @@ { \pdfcoredict_gput:nnn { Page / Resources / ColorSpace } - { color \int_use:N \g__color_separation_int } + { color \int_use:N \g__color_model_int } { \pdf_object_last: } } } @@ -180,6 +181,54 @@ \cs_gset_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 { } } +\cs_new_protected:Npn \__color_backend_devicen_init:nnn #1#2#3 + { + \pdf_object_now:nx { stream } + { + { + /FunctionType ~ 4 ~ + /Domain ~ + [ ~ + \prg_replicate:nn + { 0 \__color_backend_devicen_init:w #1 ~ \s__color_stop } + { 0 ~ 1 ~ } ~ + ] ~ + /Range ~ + [ ~ + \str_case:nn {#2} + { + { /DeviceCMYK } { 0 ~ 1 ~ 0 ~ 1 ~ 0 ~ 1 ~ 0 ~ 1 } + { /DeviceGray } { 0 ~ 1 } + { /DeviceRGB } { 0 ~ 1 ~ 0 ~ 1 ~ 0 ~ 1 } + } ~ + ] + } + {#3} + } + \__color_backend_separation_init:n + { + /DeviceN ~ + [ ~ #1 ~ ] ~ + #2 ~ + \pdf_object_last: + } + \use:x + { + \pdfcoredict_gput:nnn + { Page / Resources / ColorSpace } + { color \int_use:N \g__color_model_int } + { \pdf_object_last: } + } + } +\cs_if_exist:NF \pdf_object_now:nn + { \cs_gset_protected:Npn \__color_backend_devicen_init:nnn #1#2#3 { } } +\cs_new:Npn \__color_backend_devicen_init:w #1 ~ #2 \s__color_stop + { + + 1 + \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 { \__kernel_backend_literal_pdf:n { #1 ~ k } } \cs_new_protected:Npn \__color_backend_fill_gray:n #1 @@ -196,6 +245,8 @@ { \__kernel_backend_literal_pdf:n { /#1 ~ cs ~ #2 ~ scn } } \cs_new_protected:Npn \__color_backend_stroke_separation:nn #1#2 { \__kernel_backend_literal_pdf:n { /#1 ~ CS ~ #2 ~ SCN } } +\cs_new_eq:NN \__color_backend_fill_devicen:nn \__color_backend_fill_separation:nn +\cs_new_eq:NN \__color_backend_stroke_devicen:nn \__color_backend_stroke_separation:nn %% File: l3backend-box.dtx \cs_new_protected:Npn \__box_backend_clip: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 85d24278f52..fa05b1f7721 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-11}{} + {l3backend-pdftex.def}{2020-09-24}{} {L3 backend support: PDF output (pdfTeX)} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -123,6 +123,7 @@ } \cs_new_protected:Npn \__color_backend_select_separation:nn #1#2 { \__color_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ scn ~ #2 ~ SCN } } +\cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn \cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5 { \pdf_object_now:nx { dict } @@ -135,7 +136,7 @@ } \__color_backend_separation_init:n { - /Separation + /Separation ~ / \str_convert_pdfname:n {#1} ~ #2 ~ \pdf_object_last: } @@ -143,7 +144,7 @@ { \pdfcoredict_gput:nnn { Page / Resources / ColorSpace } - { color \int_use:N \g__color_separation_int } + { color \int_use:N \g__color_model_int } { \pdf_object_last: } } } @@ -180,6 +181,54 @@ \cs_gset_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 { } } +\cs_new_protected:Npn \__color_backend_devicen_init:nnn #1#2#3 + { + \pdf_object_now:nx { stream } + { + { + /FunctionType ~ 4 ~ + /Domain ~ + [ ~ + \prg_replicate:nn + { 0 \__color_backend_devicen_init:w #1 ~ \s__color_stop } + { 0 ~ 1 ~ } ~ + ] ~ + /Range ~ + [ ~ + \str_case:nn {#2} + { + { /DeviceCMYK } { 0 ~ 1 ~ 0 ~ 1 ~ 0 ~ 1 ~ 0 ~ 1 } + { /DeviceGray } { 0 ~ 1 } + { /DeviceRGB } { 0 ~ 1 ~ 0 ~ 1 ~ 0 ~ 1 } + } ~ + ] + } + {#3} + } + \__color_backend_separation_init:n + { + /DeviceN ~ + [ ~ #1 ~ ] ~ + #2 ~ + \pdf_object_last: + } + \use:x + { + \pdfcoredict_gput:nnn + { Page / Resources / ColorSpace } + { color \int_use:N \g__color_model_int } + { \pdf_object_last: } + } + } +\cs_if_exist:NF \pdf_object_now:nn + { \cs_gset_protected:Npn \__color_backend_devicen_init:nnn #1#2#3 { } } +\cs_new:Npn \__color_backend_devicen_init:w #1 ~ #2 \s__color_stop + { + + 1 + \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 { \__kernel_backend_literal_pdf:n { #1 ~ k } } \cs_new_protected:Npn \__color_backend_fill_gray:n #1 @@ -196,6 +245,8 @@ { \__kernel_backend_literal_pdf:n { /#1 ~ cs ~ #2 ~ scn } } \cs_new_protected:Npn \__color_backend_stroke_separation:nn #1#2 { \__kernel_backend_literal_pdf:n { /#1 ~ CS ~ #2 ~ SCN } } +\cs_new_eq:NN \__color_backend_fill_devicen:nn \__color_backend_fill_separation:nn +\cs_new_eq:NN \__color_backend_stroke_devicen:nn \__color_backend_stroke_separation:nn %% File: l3backend-box.dtx \cs_new_protected:Npn \__box_backend_clip: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 bc40c6ee387..fa755e56742 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-11}{} + {l3backend-xetex.def}{2020-09-24}{} {L3 backend support: XeTeX} \cs_if_exist:NTF \__kernel_dependency_version_check:nn { @@ -92,6 +92,7 @@ \__kernel_backend_literal:n { pdf: bc ~ #1 } \group_insert_after:N \__color_backend_reset: } +\cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn \cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5 { \pdf_object_now:nx { dict } @@ -104,7 +105,7 @@ } \__color_backend_separation_init:n { - /Separation + /Separation ~ / \str_convert_pdfname:n {#1} ~ #2 ~ \pdf_object_last: } @@ -115,7 +116,7 @@ { \__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_model_int \c_space_tl [#1] } } @@ -146,6 +147,47 @@ \cs_gset_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3 { } } +\cs_new_protected:Npn \__color_backend_devicen_init:nnn #1#2#3 + { + \pdf_object_now:nx { stream } + { + { + /FunctionType ~ 4 ~ + /Domain ~ + [ ~ + \prg_replicate:nn + { 0 \__color_backend_devicen_init:w #1 ~ \s__color_stop } + { 0 ~ 1 ~ } ~ + ] ~ + /Range ~ + [ ~ + \str_case:nn {#2} + { + { /DeviceCMYK } { 0 ~ 1 ~ 0 ~ 1 ~ 0 ~ 1 ~ 0 ~ 1 } + { /DeviceGray } { 0 ~ 1 } + { /DeviceRGB } { 0 ~ 1 ~ 0 ~ 1 ~ 0 ~ 1 } + } ~ + ] + } + {#3} + } + \__color_backend_separation_init:n + { + /DeviceN ~ + [ ~ #1 ~ ] ~ + #2 ~ + \pdf_object_last: + } + } +\cs_if_exist:NF \pdf_object_now:nn + { \cs_gset_protected:Npn \__color_backend_devicen_init:nnn #1#2#3 { } } +\cs_new:Npn \__color_backend_devicen_init:w #1 ~ #2 \s__color_stop + { + + 1 + \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 { \__kernel_backend_literal_pdf:n { #1 ~ k } } \cs_new_protected:Npn \__color_backend_fill_gray:n #1 @@ -162,6 +204,8 @@ { \__kernel_backend_literal_pdf:n { /#1 ~ cs ~ #2 ~ scn } } \cs_new_protected:Npn \__color_backend_stroke_separation:nn #1#2 { \__kernel_backend_literal_pdf:n { /#1 ~ CS ~ #2 ~ SCN } } +\cs_new_eq:NN \__color_backend_fill_devicen:nn \__color_backend_fill_separation:nn +\cs_new_eq:NN \__color_backend_stroke_devicen:nn \__color_backend_stroke_separation:nn %% File: l3backend-box.dtx \cs_new_protected:Npn \__box_backend_clip:N #1 { -- cgit v1.2.3