diff options
Diffstat (limited to 'macros/latex/contrib/l3backend')
-rw-r--r-- | macros/latex/contrib/l3backend/CHANGELOG.md | 8 | ||||
-rw-r--r-- | macros/latex/contrib/l3backend/README.md | 2 | ||||
-rw-r--r-- | macros/latex/contrib/l3backend/l3backend-basics.dtx | 14 | ||||
-rw-r--r-- | macros/latex/contrib/l3backend/l3backend-box.dtx | 2 | ||||
-rw-r--r-- | macros/latex/contrib/l3backend/l3backend-code.pdf | bin | 0 -> 773062 bytes | |||
-rw-r--r-- | macros/latex/contrib/l3backend/l3backend-color.dtx | 128 | ||||
-rw-r--r-- | macros/latex/contrib/l3backend/l3backend-draw.dtx | 2 | ||||
-rw-r--r-- | macros/latex/contrib/l3backend/l3backend-graphics.dtx | 2 | ||||
-rw-r--r-- | macros/latex/contrib/l3backend/l3backend-header.dtx | 2 | ||||
-rw-r--r-- | macros/latex/contrib/l3backend/l3backend-pdf.dtx | 2 |
10 files changed, 133 insertions, 29 deletions
diff --git a/macros/latex/contrib/l3backend/CHANGELOG.md b/macros/latex/contrib/l3backend/CHANGELOG.md index 959212901a..61b75641de 100644 --- a/macros/latex/contrib/l3backend/CHANGELOG.md +++ b/macros/latex/contrib/l3backend/CHANGELOG.md @@ -6,6 +6,11 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2020-09-24] + +### Fixed +- Documented source as PDF + ## [2020-09-11] ### Added @@ -120,7 +125,8 @@ this project uses date-based 'snapshot' version identifiers. - Include `l3backend` in file names - Moved backend code to internal for each 'parent' module -[Unreleased]: https://github.com/latex3/latex3/compare/2020-09-11...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2020-09-24...HEAD +[2020-09-24]: https://github.com/latex3/latex3/compare/2020-09-11...2020-09-24 [2020-09-11]: https://github.com/latex3/latex3/compare/2020-09-01...2020-09-11 [2020-09-01]: https://github.com/latex3/latex3/compare/2020-08-07...2020-09-01 [2020-08-07]: https://github.com/latex3/latex3/compare/2020-06-29...2020-08-07 diff --git a/macros/latex/contrib/l3backend/README.md b/macros/latex/contrib/l3backend/README.md index 20a0301cf2..0d40ed996b 100644 --- a/macros/latex/contrib/l3backend/README.md +++ b/macros/latex/contrib/l3backend/README.md @@ -1,7 +1,7 @@ LaTeX3 Backend Drivers ====================== -Release 2020-09-11 +Release 2020-09-24 This package forms parts of `expl3`, and contains the code used to interface with backends (drivers) across the `expl3` codebase. The functions here are diff --git a/macros/latex/contrib/l3backend/l3backend-basics.dtx b/macros/latex/contrib/l3backend/l3backend-basics.dtx index abd972dca0..8b01e543ce 100644 --- a/macros/latex/contrib/l3backend/l3backend-basics.dtx +++ b/macros/latex/contrib/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/macros/latex/contrib/l3backend/l3backend-box.dtx b/macros/latex/contrib/l3backend/l3backend-box.dtx index 039fa38c85..e233c729f3 100644 --- a/macros/latex/contrib/l3backend/l3backend-box.dtx +++ b/macros/latex/contrib/l3backend/l3backend-box.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-11} +% \date{Released 2020-09-24} % % \maketitle % diff --git a/macros/latex/contrib/l3backend/l3backend-code.pdf b/macros/latex/contrib/l3backend/l3backend-code.pdf Binary files differnew file mode 100644 index 0000000000..0be885472a --- /dev/null +++ b/macros/latex/contrib/l3backend/l3backend-code.pdf diff --git a/macros/latex/contrib/l3backend/l3backend-color.dtx b/macros/latex/contrib/l3backend/l3backend-color.dtx index a9a86daebb..baefde5d3c 100644 --- a/macros/latex/contrib/l3backend/l3backend-color.dtx +++ b/macros/latex/contrib/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/macros/latex/contrib/l3backend/l3backend-draw.dtx b/macros/latex/contrib/l3backend/l3backend-draw.dtx index f28bfd13bf..8de6910edf 100644 --- a/macros/latex/contrib/l3backend/l3backend-draw.dtx +++ b/macros/latex/contrib/l3backend/l3backend-draw.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-11} +% \date{Released 2020-09-24} % % \maketitle % diff --git a/macros/latex/contrib/l3backend/l3backend-graphics.dtx b/macros/latex/contrib/l3backend/l3backend-graphics.dtx index bac80fa884..e72bbe9a58 100644 --- a/macros/latex/contrib/l3backend/l3backend-graphics.dtx +++ b/macros/latex/contrib/l3backend/l3backend-graphics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-11} +% \date{Released 2020-09-24} % % \maketitle % diff --git a/macros/latex/contrib/l3backend/l3backend-header.dtx b/macros/latex/contrib/l3backend/l3backend-header.dtx index 73cf1bc5ad..e158491688 100644 --- a/macros/latex/contrib/l3backend/l3backend-header.dtx +++ b/macros/latex/contrib/l3backend/l3backend-header.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-11} +% \date{Released 2020-09-24} % % \maketitle % diff --git a/macros/latex/contrib/l3backend/l3backend-pdf.dtx b/macros/latex/contrib/l3backend/l3backend-pdf.dtx index 0763c411eb..58c7da7f08 100644 --- a/macros/latex/contrib/l3backend/l3backend-pdf.dtx +++ b/macros/latex/contrib/l3backend/l3backend-pdf.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-09-11} +% \date{Released 2020-09-24} % % \maketitle % |