diff options
author | Karl Berry <karl@freefriends.org> | 2020-09-24 20:46:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-09-24 20:46:14 +0000 |
commit | 2e1f687d46764061ec8df089e40b9ac1aece2761 (patch) | |
tree | b633d8a205fd529be57878fc2502e2c07a4c5efc /Master/texmf-dist/source/latex/l3backend | |
parent | c0e73acce7eb5e03fceb4e011fa579a5706460c2 (diff) |
l3 (24sep20)
git-svn-id: svn://tug.org/texlive/trunk@56424 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3backend')
7 files changed, 125 insertions, 27 deletions
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx index abd972dca08..8b01e543ce0 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-11} +% \date{Released 2020-09-24} % % \maketitle % @@ -70,27 +70,27 @@ % \begin{macrocode} \ProvidesExplFile %<*dvipdfmx> - {l3backend-dvipdfmx.def}{2020-09-11}{} + {l3backend-dvipdfmx.def}{2020-09-24}{} {L3 backend support: dvipdfmx} %</dvipdfmx> %<*dvips> - {l3backend-dvips.def}{2020-09-11}{} + {l3backend-dvips.def}{2020-09-24}{} {L3 backend support: dvips} %</dvips> %<*dvisvgm> - {l3backend-dvisvgm.def}{2020-09-11}{} + {l3backend-dvisvgm.def}{2020-09-24}{} {L3 backend support: dvisvgm} %</dvisvgm> %<*luatex> - {l3backend-luatex.def}{2020-09-11}{} + {l3backend-luatex.def}{2020-09-24}{} {L3 backend support: PDF output (LuaTeX)} %</luatex> %<*pdftex> - {l3backend-pdftex.def}{2020-09-11}{} + {l3backend-pdftex.def}{2020-09-24}{} {L3 backend support: PDF output (pdfTeX)} %</pdftex> %<*xetex> - {l3backend-xetex.def}{2020-09-11}{} + {l3backend-xetex.def}{2020-09-24}{} {L3 backend support: XeTeX} %</xetex> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx index 039fa38c85b..e233c729f3a 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-11} +% \date{Released 2020-09-24} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx index a9a86daebb1..baefde5d3cb 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-11} +% \date{Released 2020-09-24} % % \maketitle % @@ -308,10 +308,11 @@ %<*dvips> % \end{macrocode} % -% \begin{macro}{\@@_backend_select_separation:nn} +% \begin{macro}{\@@_backend_select_separation:nn, \@@_backend_select_devicen:nn} % \begin{macrocode} \cs_new_protected:Npn \@@_backend_select_separation:nn #1#2 { \@@_backend_select:n { separation ~ #1 ~ #2 } } +\cs_new_eq:NN \@@_backend_select_devicen:nn \@@_backend_select_separation:nn % \end{macrocode} % \end{macro} % @@ -362,7 +363,7 @@ { ! TeXDict ~ begin ~ - /color \int_use:N \g_@@_separation_int + /color \int_use:N \g_@@_model_int { [ ~ /Separation ~ ( \str_convert_pdfname:n {#1} ) ~ @@ -541,6 +542,30 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\@@_backend_devicen_init:nnn} +% Trivial as almost all of the work occurs in the shared code. +% \begin{macrocode} +\cs_new_protected:Npn \@@_backend_devicen_init:nnn #1#2#3 + { + \__kernel_backend_literal:e + { + ! + TeXDict ~ begin ~ + /color \int_use:N \g_@@_model_int + { + [ ~ + /DeviceN ~ + [ ~ #1 ~ ] ~ + #2 ~ + { ~ #3 ~ } ~ + ] ~ setcolorspace + } ~ def ~ + end + } + } +% \end{macrocode} +% \end{macro} +% % \begin{macrocode} %</dvips> % \end{macrocode} @@ -549,10 +574,11 @@ %<*dvisvgm> % \end{macrocode} % -% \begin{macro}{\@@_backend_select_separation:nn} +% \begin{macro}{\@@_backend_select_separation:nn, \@@_backend_select_devicen:nn} % No support at present. % \begin{macrocode} \cs_new_protected:Npn \@@_backend_select_separation:nn #1#2 { } +\cs_new_protected:Npn \@@_backend_select_devicen:nn #1#2 { } % \end{macrocode} % \end{macro} % @@ -573,7 +599,7 @@ %<*dvipdfmx|luatex|pdftex|xetex> % \end{macrocode} % -% \begin{macro}{\@@_backend_select_separation:nn} +% \begin{macro}{\@@_backend_select_separation:nn, \@@_backend_select_devicen:nn} % \begin{macro}{\@@_backend_select:n} % Different syntaxes here as the stacks are accessed very differently. % \begin{macrocode} @@ -591,6 +617,7 @@ \group_insert_after:N \@@_backend_reset: } %</dvipdfmx|xetex> +\cs_new_eq:NN \@@_backend_select_devicen:nn \@@_backend_select_separation:nn % \end{macrocode} % \end{macro} % \end{macro} @@ -617,7 +644,7 @@ } \@@_backend_separation_init:n { - /Separation + /Separation ~ / \str_convert_pdfname:n {#1} ~ #2 ~ \pdf_object_last: } @@ -626,7 +653,7 @@ { \pdfcoredict_gput:nnn { Page / Resources / ColorSpace } - { color \int_use:N \g_@@_separation_int } + { color \int_use:N \g_@@_model_int } { \pdf_object_last: } } %</luatex|pdftex> @@ -638,7 +665,7 @@ %<*dvipdfmx|xetex> \__kernel_backend_literal:x { - pdf:obj ~ @color \int_use:N \g_@@_separation_int \c_space_tl + pdf:obj ~ @color \int_use:N \g_@@_model_int \c_space_tl [#1] } %</dvipdfmx|xetex> @@ -682,6 +709,67 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\@@_backend_devicen_init:nnn} +% \begin{macro}[EXP]{\@@_backend_devicen_init:w} +% \begin{macro}{\@@_backend_devicen_init:n} +% Similar to the Separations case, but with an arbitrary function for +% the alternative space work. +% \begin{macrocode} +\cs_new_protected:Npn \@@_backend_devicen_init:nnn #1#2#3 + { + \pdf_object_now:nx { stream } + { + { + /FunctionType ~ 4 ~ + /Domain ~ + [ ~ + \prg_replicate:nn + { 0 \@@_backend_devicen_init:w #1 ~ \s_@@_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} + } + \@@_backend_separation_init:n + { + /DeviceN ~ + [ ~ #1 ~ ] ~ + #2 ~ + \pdf_object_last: + } +%<*luatex|pdftex> + \use:x + { + \pdfcoredict_gput:nnn + { Page / Resources / ColorSpace } + { color \int_use:N \g_@@_model_int } + { \pdf_object_last: } + } +%</luatex|pdftex> + } +\cs_if_exist:NF \pdf_object_now:nn + { \cs_gset_protected:Npn \@@_backend_devicen_init:nnn #1#2#3 { } } +\cs_new:Npn \@@_backend_devicen_init:w #1 ~ #2 \s_@@_stop + { + + 1 + \tl_if_blank:nF {#2} + { \@@_backend_devicen_init:w #2 \s_@@_stop } + } +\cs_new_eq:NN \@@_backend_devicen_init:n \@@_backend_separation_init:n +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% % \begin{macrocode} %</dvipdfmx|luatex|pdftex|xetex> % \end{macrocode} @@ -730,13 +818,17 @@ % \begin{macro} % { % \@@_backend_fill_separation:nn, -% \@@_backend_stroke_separation:nn +% \@@_backend_stroke_separation:nn, +% \@@_backend_fill_devicen:nn, +% \@@_backend_stroke_devicen:nn % } % \begin{macrocode} \cs_new_protected:Npn \@@_backend_fill_separation:nn #1#2 { \__kernel_backend_literal_pdf:n { /#1 ~ cs ~ #2 ~ scn } } \cs_new_protected:Npn \@@_backend_stroke_separation:nn #1#2 { \__kernel_backend_literal_pdf:n { /#1 ~ CS ~ #2 ~ SCN } } +\cs_new_eq:NN \@@_backend_fill_devicen:nn \@@_backend_fill_separation:nn +\cs_new_eq:NN \@@_backend_stroke_devicen:nn \@@_backend_stroke_separation:nn % \end{macrocode} % \end{macro} % @@ -777,13 +869,17 @@ % \begin{macro} % { % \@@_backend_fill_separation:nn, -% \@@_backend_stroke_separation:nn +% \@@_backend_stroke_separation:nn, +% \@@_backend_fill_devicen:nn, +% \@@_backend_stroke_devicen:nn % } % \begin{macrocode} \cs_new_protected:Npn \@@_backend_fill_separation:nn #1#2 { \__kernel_backend_postscript:n { /color.fc { #1 } def } } \cs_new_protected:Npn \@@_backend_stroke_separation:nn #1#2 { \__kernel_backend_postscript:n { /color.sc { #1 } def } } +\cs_new_eq:NN \@@_backend_fill_devicen:nn \@@_backend_fill_separation:nn +\cs_new_eq:NN \@@_backend_stroke_devicen:nn \@@_backend_stroke_separation:nn % \end{macrocode} % \end{macro} % @@ -892,14 +988,16 @@ % \begin{macro} % { % \@@_backend_fill_separation:nn, -% \@@_backend_stroke_separation:nn +% \@@_backend_stroke_separation:nn, +% \@@_backend_fill_devicen:nn, +% \@@_backend_stroke_devicen:nn % } % At present, these are no-ops. % \begin{macrocode} -\cs_new_protected:Npn \@@_backend_fill_separation:nn #1#2 - { } -\cs_new_protected:Npn \@@_backend_stroke_separation:nn #1#2 - { } +\cs_new_protected:Npn \@@_backend_fill_separation:nn #1#2 { } +\cs_new_protected:Npn \@@_backend_stroke_separation:nn #1#2 { } +\cs_new_eq:NN \@@_backend_fill_devicen:nn \@@_backend_fill_separation:nn +\cs_new_eq:NN \@@_backend_stroke_devicen:nn \@@_backend_stroke_separation:nn % \end{macrocode} % \end{macro} % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx index f28bfd13bf0..8de6910edf0 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-11} +% \date{Released 2020-09-24} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx index bac80fa884d..e72bbe9a588 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-11} +% \date{Released 2020-09-24} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx index 73cf1bc5ad3..e1584916888 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-11} +% \date{Released 2020-09-24} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx index 0763c411ebe..58c7da7f086 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-11} +% \date{Released 2020-09-24} % % \maketitle % |