[latex3-commits] [git/LaTeX3-latex3-latex3] main: Better DeviceN support (00de45504)
Joseph Wright
joseph.wright at morningstar2.co.uk
Fri Oct 15 09:03:06 CEST 2021
Repository : https://github.com/latex3/latex3
On branch : main
Link : https://github.com/latex3/latex3/commit/00de455041faa0bd4748df6687cf76c9fe96c83f
>---------------------------------------------------------------
commit 00de455041faa0bd4748df6687cf76c9fe96c83f
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Fri Oct 15 08:03:06 2021 +0100
Better DeviceN support
>---------------------------------------------------------------
00de455041faa0bd4748df6687cf76c9fe96c83f
l3backend/CHANGELOG.md | 3 +++
l3backend/l3backend-color.dtx | 33 ++++++++++++++++++++++++++++++---
l3kernel/CHANGELOG.md | 3 +++
l3kernel/testfiles/m3expl001.luatex.tlg | 3 ++-
l3kernel/testfiles/m3expl001.tlg | 3 ++-
l3kernel/testfiles/m3expl001.xetex.tlg | 3 ++-
l3kernel/testfiles/m3expl003.luatex.tlg | 3 ++-
l3kernel/testfiles/m3expl003.tlg | 3 ++-
l3kernel/testfiles/m3expl003.xetex.tlg | 3 ++-
9 files changed, 48 insertions(+), 9 deletions(-)
diff --git a/l3backend/CHANGELOG.md b/l3backend/CHANGELOG.md
index f98528e31..3f0cdde6a 100644
--- a/l3backend/CHANGELOG.md
+++ b/l3backend/CHANGELOG.md
@@ -6,6 +6,9 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+### Changed
+- Better DeviceN support
+
## [2021-10-12]
### Fixed
diff --git a/l3backend/l3backend-color.dtx b/l3backend/l3backend-color.dtx
index 029553aac..38ed4c854 100644
--- a/l3backend/l3backend-color.dtx
+++ b/l3backend/l3backend-color.dtx
@@ -835,7 +835,7 @@
{
\pdf_object_unnamed_write:nx { array }
{ /Separation /#1 ~ #2 ~ \pdf_object_ref_last: }
- \prop_gput:Nnx \g_@@_backend_colorant_prop {#1}
+ \prop_gput:Nnx \g_@@_backend_colorant_prop { /#1 }
{ \pdf_object_ref_last: }
}
% \end{macrocode}
@@ -871,7 +871,8 @@
%
% \begin{macro}{\@@_backend_devicen_init:nnn}
% \begin{macro}[EXP]{\@@_backend_devicen_init:w}
-% \begin{macro}{\@@_backend_devicen_init:n}
+% \begin{macro}[EXP]{\@@_backend_devicen_colorants:n}
+% \begin{macro}[EXP]{\@@_backend_devicen_colorants:w}
% Similar to the Separations case, but with an arbitrary function for
% the alternative space work.
% \begin{macrocode}
@@ -905,6 +906,7 @@
[ ~ #1 ~ ] ~
#2 ~
\pdf_object_ref_last:
+ \@@_backend_devicen_colorants:n {#1}
}
\bool_lazy_and:nnT
{ \cs_if_exist_p:N \pdfmanagement_if_active_p: }
@@ -925,11 +927,36 @@
\tl_if_blank:nF {#2}
{ \@@_backend_devicen_init:w #2 \s_@@_stop }
}
-\cs_new_eq:NN \@@_backend_devicen_init:n \@@_backend_separation_init:n
+\cs_new:Npx \@@_backend_devicen_colorants:n #1
+ {
+ \exp_not:N \tl_if_blank:nF {#1}
+ {
+ \c_space_tl
+ << ~
+ /Colorants ~
+ << ~
+ \exp_not:N \@@_backend_devicen_colorants:w #1 ~
+ \exp_not:N \q_recursion_tail \c_space_tl
+ \exp_not:N \q_recursion_stop
+ >> ~
+ >>
+ }
+ }
+\cs_new:Npn \@@_backend_devicen_colorants:w #1 ~
+ {
+ \quark_if_recursion_tail_stop:n {#1}
+ \prop_if_in:NnT \g_@@_backend_colorant_prop {#1}
+ {
+ #1 ~
+ \prop_item:Nn \g_@@_backend_colorant_prop {#1} ~
+ }
+ \@@_backend_devicen_colorants:w
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macrocode}
%</dvipdfmx|luatex|pdftex|xetex>
diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index 55e9db4bb..76f76e55b 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -7,6 +7,9 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+### Changed
+- Better DeviceN support
+
## [2021-10-12]
### Fixed
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index e0f98c05e..a4e5220ea 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -50,7 +50,8 @@ Defining \__color_backend_separation_init:nn on line ...
Defining \__color_backend_separation_init_CIELAB:nnn on line ...
Defining \__color_backend_devicen_init:nnn on line ...
Defining \__color_backend_devicen_init:w on line ...
-Defining \__color_backend_devicen_init:n on line ...
+Defining \__color_backend_devicen_colorants:n on line ...
+Defining \__color_backend_devicen_colorants:w on line ...
Defining \__color_backend_fill_cmyk:n on line ...
Defining \__color_backend_fill_gray:n on line ...
Defining \__color_backend_fill_rgb:n on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index e57fd6c28..f4588cf03 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -50,7 +50,8 @@ Defining \__color_backend_separation_init:nn on line ...
Defining \__color_backend_separation_init_CIELAB:nnn on line ...
Defining \__color_backend_devicen_init:nnn on line ...
Defining \__color_backend_devicen_init:w on line ...
-Defining \__color_backend_devicen_init:n on line ...
+Defining \__color_backend_devicen_colorants:n on line ...
+Defining \__color_backend_devicen_colorants:w on line ...
Defining \__color_backend_fill_cmyk:n on line ...
Defining \__color_backend_fill_gray:n on line ...
Defining \__color_backend_fill_rgb:n on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index adcf7e5d9..9eeef5caf 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -55,7 +55,8 @@ Defining \__color_backend_separation_init:nn on line ...
Defining \__color_backend_separation_init_CIELAB:nnn on line ...
Defining \__color_backend_devicen_init:nnn on line ...
Defining \__color_backend_devicen_init:w on line ...
-Defining \__color_backend_devicen_init:n on line ...
+Defining \__color_backend_devicen_colorants:n on line ...
+Defining \__color_backend_devicen_colorants:w on line ...
Defining \__color_backend_fill_cmyk:n on line ...
Defining \__color_backend_fill_gray:n on line ...
Defining \__color_backend_fill_rgb:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index e0f98c05e..a4e5220ea 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -50,7 +50,8 @@ Defining \__color_backend_separation_init:nn on line ...
Defining \__color_backend_separation_init_CIELAB:nnn on line ...
Defining \__color_backend_devicen_init:nnn on line ...
Defining \__color_backend_devicen_init:w on line ...
-Defining \__color_backend_devicen_init:n on line ...
+Defining \__color_backend_devicen_colorants:n on line ...
+Defining \__color_backend_devicen_colorants:w on line ...
Defining \__color_backend_fill_cmyk:n on line ...
Defining \__color_backend_fill_gray:n on line ...
Defining \__color_backend_fill_rgb:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index e57fd6c28..f4588cf03 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -50,7 +50,8 @@ Defining \__color_backend_separation_init:nn on line ...
Defining \__color_backend_separation_init_CIELAB:nnn on line ...
Defining \__color_backend_devicen_init:nnn on line ...
Defining \__color_backend_devicen_init:w on line ...
-Defining \__color_backend_devicen_init:n on line ...
+Defining \__color_backend_devicen_colorants:n on line ...
+Defining \__color_backend_devicen_colorants:w on line ...
Defining \__color_backend_fill_cmyk:n on line ...
Defining \__color_backend_fill_gray:n on line ...
Defining \__color_backend_fill_rgb:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index adcf7e5d9..9eeef5caf 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -55,7 +55,8 @@ Defining \__color_backend_separation_init:nn on line ...
Defining \__color_backend_separation_init_CIELAB:nnn on line ...
Defining \__color_backend_devicen_init:nnn on line ...
Defining \__color_backend_devicen_init:w on line ...
-Defining \__color_backend_devicen_init:n on line ...
+Defining \__color_backend_devicen_colorants:n on line ...
+Defining \__color_backend_devicen_colorants:w on line ...
Defining \__color_backend_fill_cmyk:n on line ...
Defining \__color_backend_fill_gray:n on line ...
Defining \__color_backend_fill_rgb:n on line ...
More information about the latex3-commits
mailing list.