[latex3-commits] [git/LaTeX3-latex3-latex3] master: Mumble (9b4d12d55)
Joseph Wright
joseph.wright at morningstar2.co.uk
Wed Jan 13 12:22:21 CET 2021
Repository : https://github.com/latex3/latex3
On branch : master
Link : https://github.com/latex3/latex3/commit/9b4d12d5542095f2111e0f9aa75630790f8bd052
>---------------------------------------------------------------
commit 9b4d12d5542095f2111e0f9aa75630790f8bd052
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Wed Jan 13 11:22:21 2021 +0000
Mumble
>---------------------------------------------------------------
9b4d12d5542095f2111e0f9aa75630790f8bd052
l3backend/CHANGELOG.md | 3 +
l3backend/l3backend-color.dtx | 172 +++++++++++++++++++++++++++++++-
l3kernel/testfiles/m3expl001.luatex.tlg | 9 ++
l3kernel/testfiles/m3expl001.ptex.tlg | 5 +
l3kernel/testfiles/m3expl001.tlg | 9 ++
l3kernel/testfiles/m3expl001.uptex.tlg | 5 +
l3kernel/testfiles/m3expl001.xetex.tlg | 8 ++
l3kernel/testfiles/m3expl003.luatex.tlg | 9 ++
l3kernel/testfiles/m3expl003.ptex.tlg | 5 +
l3kernel/testfiles/m3expl003.tlg | 9 ++
l3kernel/testfiles/m3expl003.uptex.tlg | 5 +
l3kernel/testfiles/m3expl003.xetex.tlg | 8 ++
12 files changed, 244 insertions(+), 3 deletions(-)
diff --git a/l3backend/CHANGELOG.md b/l3backend/CHANGELOG.md
index 242cacf93..2aeddca2d 100644
--- a/l3backend/CHANGELOG.md
+++ b/l3backend/CHANGELOG.md
@@ -6,6 +6,9 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+### Added
+- Basic opacity support
+
## [2021-01-09]
### Added
diff --git a/l3backend/l3backend-color.dtx b/l3backend/l3backend-color.dtx
index 8dd484dc8..8ba43f066 100644
--- a/l3backend/l3backend-color.dtx
+++ b/l3backend/l3backend-color.dtx
@@ -184,7 +184,8 @@
% In \texttt{(x)dvipdfmx}, the base color stack is not set up, so we have to
% force that, as well as providing a mechanism more generally.
% \begin{macrocode}
-\int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+\int_compare:nNnTF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ { \cs_new_protected:Npn \@@_backend_stack_init:Nnn #1#2#3 { } }
{
\int_new:N \g_@@_backend_stack_int
\cs_new_protected:Npx \@@_backend_stack_init:Nnn #1#2#3
@@ -221,7 +222,7 @@
% \end{variable}
% \end{macro}
%
-% \begin{macro}{\@@_backend_stack_push:nn}
+% \begin{macro}{\@@_backend_stack_push:nn, \@@_backend_stack_push:nx}
% \begin{macro}{\@@_backend_stack_pop:n}
% Simple enough but needs a version check.
% \begin{macrocode}
@@ -236,6 +237,7 @@
push ~ (#2)
}
}
+ \cs_generate_variant:Nn \@@_backend_stack_push:nn { nx }
\cs_new_protected:Npn \@@_backend_stack_pop:n #1
{
\__kernel_backend_literal:x
@@ -279,7 +281,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_backend_stack_push:nn}
+% \begin{macro}{\@@_backend_stack_push:nn, \@@_backend_stack_push:nx}
% \begin{macro}{\@@_backend_stack_pop:n}
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_stack_push:nn #1#2
@@ -292,6 +294,7 @@
%</pdftex>
\int_eval:n {#1} ~ push ~ {#2}
}
+\cs_generate_variant:Nn \@@_backend_stack_push:nn { nx }
\cs_new_protected:Npn \@@_backend_stack_pop:n #1
{
%<*luatex>
@@ -1124,6 +1127,169 @@
%</dvisvgm>
% \end{macrocode}
%
+% \subsection{Opacity (transparency)}
+%
+% Although opacity is not color, it needs to be managed in a somewhat
+% similar way: using a dedicated stack if possible. Depending on the backend,
+% that may not be possible. There is also the need to cover fill/stroke setting
+% as well as more general running opacity. It is easiest to describe the value
+% used in terms of opacity, although commonly this is referred to as
+% transparency.
+%
+% \begin{macrocode}
+%<*dvips>
+% \end{macrocode}
+%
+% \begin{macro}{\@@_backend_opacity_select:n}
+% No stack support.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_opacity_select:n #1 { }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_backend_fill_opacity:n, \@@_backend_stroke_opacity:n}
+% \begin{macro}{\@@_backend_opacity:nn, \@@_backend_opacity:xn}
+% Similar to the above but with no stack and only adding to one or other of
+% the entries.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_fill_opacity:n #1
+ { \@@_backend_opacity:nn { \fp_eval:n { min(max(0,#1),1) } } { fill } }
+\cs_new_protected:Npn \@@_backend_stroke_opacity:n #1
+ { \@@_backend_opacity:nn { \fp_eval:n { min(max(0,#1),1) } } { stroke } }
+\cs_new_protected:Npn \@@_backend_opacity:nn #1#2
+ {
+ \__kernel_backend_postscript:n { #1 ~ .set #2 constantalpha }
+ }
+\cs_generate_variant:Nn \@@_backend_opacity:nn { x }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macrocode}
+%</dvips>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*dvipdfmx|luatex|pdftex|xetex>
+% \end{macrocode}
+%
+% \begin{variable}{\c_@@_backend_opacity_stack_int}
+% Set up a stack.
+% \begin{macrocode}
+\@@_backend_stack_init:Nnn \c_@@_backend_opacity_stack_int
+ { page ~ direct } { /color.opa 1 ~ gs }
+\cs_if_exist:NT \pdfmanagement_add:nnn
+ {
+ \pdfmanagement_add:nnn { Page / Resources / ExtGState }
+ { color.opa 1 } { << /ca ~ 1 /CA ~ 1 >> }
+ }
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\@@_backend_opacity_select:n, \@@_backend_opacity_select_aux:n}
+% \begin{macro}{\@@_backend_opacity_reset:}
+% Other than the need to evaluate the opacity as an \texttt{fp}, much the
+% same as color.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_opacity_select:n #1
+ {
+ \exp_args:Nx \@@_backend_opacity_select_aux:n
+ { \fp_eval:n { min(max(0,#1),1) } }
+ \group_insert_after:N \@@_backend_opacity_reset:
+ }
+\cs_new_protected:Npn \@@_backend_opacity_select_aux:n #1
+ {
+ \pdfmanagement_add:nnn { Page / Resources / ExtGState }
+ { color.opa #1 }
+ { << /ca ~ #1 /CA ~ #1 >> }
+ \@@_backend_stack_push:nn \c_@@_backend_opacity_stack_int
+ { /color.opa #1 ~ gs }
+ }
+\cs_if_exist:NF \pdfmanagement_add:nnn
+ {
+ \cs_gset_protected:Npn \@@_backend_opacity_select_aux:n #1 { }
+ }
+\cs_new_protected:Npn \@@_backend_opacity_reset:
+ { \@@_backend_stack_pop:n \c_@@_backend_opacity_stack_int }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_backend_fill_opacity:n, \@@_backend_stroke_opacity:n}
+% \begin{macro}{\@@_backend_opacity:nn, \@@_backend_opacity:xn}
+% Similar to the above but with no stack and only adding to one or other of
+% the entries.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_fill_opacity:n #1
+ { \@@_backend_opacity:nn { \fp_eval:n { min(max(0,#1),1) } } { ca } }
+\cs_new_protected:Npn \@@_backend_stroke_opacity:n #1
+ { \@@_backend_opacity:nn { \fp_eval:n { min(max(0,#1),1) } } { CA } }
+\cs_new_protected:Npn \@@_backend_opacity:nn #1#2
+ {
+ \pdfmanagement_add:nnn { Page / Resources / ExtGState }
+ { color.opa #1 }
+ { << /#2 ~ #1 >> }
+ \@@_backend_stack_push:nn \c_@@_backend_opacity_stack_int
+ { /color.opa #1 ~ gs }
+ }
+\cs_generate_variant:Nn \@@_backend_opacity:nn { x }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macrocode}
+%</dvipdfmx|luatex|pdftex|xetex>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*dvipdfmx|xdvipdfmx>
+% \end{macrocode}
+%
+% \begin{macro}{\@@_backend_opacity_select:n}
+% Older backends have no stack support.
+% \begin{macrocode}
+\int_compare:nNnT \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ {
+ \cs_gset_protected:Npn \@@_backend_opacity_select:n #1 { }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</dvipdfmx|xdvipdfmx>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*dvisvgm>
+% \end{macrocode}
+%
+% \begin{macro}{\@@_backend_opacity_select:n}
+% No stack support.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_opacity_select:n #1 { }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_backend_fill_opacity:n, \@@_backend_stroke_opacity:n}
+% \begin{macro}{\@@_backend_opacity:nn, \@@_backend_opacity:xn}
+% Once again, we use a scope here. There is a general opacity function for
+% SVG, but that is of course not set up using the stack.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_fill_opacity:n #1
+ { \@@_backend_opacity:nn { \fp_eval:n { min(max(0,#1),1) } } { fill } }
+\cs_new_protected:Npn \@@_backend_stroke_opacity:n #1
+ { \@@_backend_opacity:nn { \fp_eval:n { min(max(0,#1),1) } } { stroke } }
+\cs_new_protected:Npn \@@_backend_opacity:nn #1#2
+ { \__kernel_backend_scope:n { #2 -opacity = "#1" } }
+\cs_generate_variant:Nn \@@_backend_opacity:nn { x }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macrocode}
+%</dvisvgm>
+% \end{macrocode}
+%
% \begin{macrocode}
%</package>
% \end{macrocode}
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 5cb4e9595..2e97f29e5 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -30,6 +30,7 @@ Defining \__kernel_backend_matrix:x on line ...
Defining \__color_backend_pickup:N on line ...
Defining \__color_backend_stack_init:Nnn on line ...
Defining \__color_backend_stack_push:nn on line ...
+Defining \__color_backend_stack_push:nx on line ...
Defining \__color_backend_stack_pop:n on line ...
Defining \l__color_backend_stack_int on line ...
\l__color_backend_stack_int=\count...
@@ -56,6 +57,14 @@ Defining \__color_backend_fill_separation:nn on line ...
Defining \__color_backend_stroke_separation:nn on line ...
Defining \__color_backend_fill_devicen:nn on line ...
Defining \__color_backend_stroke_devicen:nn on line ...
+Defining \c__color_backend_opacity_stack_int on line ...
+Defining \__color_backend_opacity_select:n on line ...
+Defining \__color_backend_opacity_select_aux:n on line ...
+Defining \__color_backend_opacity_reset: on line ...
+Defining \__color_backend_fill_opacity:n on line ...
+Defining \__color_backend_stroke_opacity:n on line ...
+Defining \__color_backend_opacity:nn on line ...
+Defining \__color_backend_opacity:xn on line ...
Defining \__box_backend_clip:N on line ...
Defining \__box_backend_rotate:Nn on line ...
Defining \__box_backend_rotate_aux:Nn on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index 4d3d1ed8d..2cadbff66 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -63,6 +63,11 @@ Defining \__color_backend_fill_separation:nn on line ...
Defining \__color_backend_stroke_separation:nn on line ...
Defining \__color_backend_fill_devicen:nn on line ...
Defining \__color_backend_stroke_devicen:nn on line ...
+Defining \__color_backend_opacity_select:n on line ...
+Defining \__color_backend_fill_opacity:n on line ...
+Defining \__color_backend_stroke_opacity:n on line ...
+Defining \__color_backend_opacity:nn on line ...
+Defining \__color_backend_opacity:xn on line ...
Defining \__box_backend_clip:N on line ...
Defining \__box_backend_rotate:Nn on line ...
Defining \__box_backend_rotate_aux:Nn on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index a16faa5aa..353bcac70 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -30,6 +30,7 @@ Defining \__kernel_backend_matrix:x on line ...
Defining \__color_backend_pickup:N on line ...
Defining \__color_backend_stack_init:Nnn on line ...
Defining \__color_backend_stack_push:nn on line ...
+Defining \__color_backend_stack_push:nx on line ...
Defining \__color_backend_stack_pop:n on line ...
Defining \l__color_backend_stack_int on line ...
\l__color_backend_stack_int=\count...
@@ -56,6 +57,14 @@ Defining \__color_backend_fill_separation:nn on line ...
Defining \__color_backend_stroke_separation:nn on line ...
Defining \__color_backend_fill_devicen:nn on line ...
Defining \__color_backend_stroke_devicen:nn on line ...
+Defining \c__color_backend_opacity_stack_int on line ...
+Defining \__color_backend_opacity_select:n on line ...
+Defining \__color_backend_opacity_select_aux:n on line ...
+Defining \__color_backend_opacity_reset: on line ...
+Defining \__color_backend_fill_opacity:n on line ...
+Defining \__color_backend_stroke_opacity:n on line ...
+Defining \__color_backend_opacity:nn on line ...
+Defining \__color_backend_opacity:xn on line ...
Defining \__box_backend_clip:N on line ...
Defining \__box_backend_rotate:Nn on line ...
Defining \__box_backend_rotate_aux:Nn on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 4d3d1ed8d..2cadbff66 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -63,6 +63,11 @@ Defining \__color_backend_fill_separation:nn on line ...
Defining \__color_backend_stroke_separation:nn on line ...
Defining \__color_backend_fill_devicen:nn on line ...
Defining \__color_backend_stroke_devicen:nn on line ...
+Defining \__color_backend_opacity_select:n on line ...
+Defining \__color_backend_fill_opacity:n on line ...
+Defining \__color_backend_stroke_opacity:n on line ...
+Defining \__color_backend_opacity:nn on line ...
+Defining \__color_backend_opacity:xn on line ...
Defining \__box_backend_clip:N on line ...
Defining \__box_backend_rotate:Nn on line ...
Defining \__box_backend_rotate_aux:Nn on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 3ce68d10a..24f9c5a0f 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -29,6 +29,7 @@ Defining \__kernel_backend_scope_end: on line ...
Defining \c__kernel_sys_dvipdfmx_version_int on line ...
\c__kernel_sys_dvipdfmx_version_int=\count...
Defining \__color_backend_pickup:N on line ...
+Defining \__color_backend_stack_init:Nnn on line ...
Defining \l__color_backend_stack_int on line ...
\l__color_backend_stack_int=\count...
Defining \__color_backend_select_cmyk:n on line ...
@@ -54,6 +55,13 @@ Defining \__color_backend_fill_separation:nn on line ...
Defining \__color_backend_stroke_separation:nn on line ...
Defining \__color_backend_fill_devicen:nn on line ...
Defining \__color_backend_stroke_devicen:nn on line ...
+Defining \__color_backend_opacity_select:n on line ...
+Defining \__color_backend_opacity_select_aux:n on line ...
+Defining \__color_backend_opacity_reset: on line ...
+Defining \__color_backend_fill_opacity:n on line ...
+Defining \__color_backend_stroke_opacity:n on line ...
+Defining \__color_backend_opacity:nn on line ...
+Defining \__color_backend_opacity:xn on line ...
Defining \__box_backend_clip:N on line ...
Defining \__box_backend_rotate:Nn on line ...
Defining \__box_backend_rotate_aux:Nn on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 5cb4e9595..2e97f29e5 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -30,6 +30,7 @@ Defining \__kernel_backend_matrix:x on line ...
Defining \__color_backend_pickup:N on line ...
Defining \__color_backend_stack_init:Nnn on line ...
Defining \__color_backend_stack_push:nn on line ...
+Defining \__color_backend_stack_push:nx on line ...
Defining \__color_backend_stack_pop:n on line ...
Defining \l__color_backend_stack_int on line ...
\l__color_backend_stack_int=\count...
@@ -56,6 +57,14 @@ Defining \__color_backend_fill_separation:nn on line ...
Defining \__color_backend_stroke_separation:nn on line ...
Defining \__color_backend_fill_devicen:nn on line ...
Defining \__color_backend_stroke_devicen:nn on line ...
+Defining \c__color_backend_opacity_stack_int on line ...
+Defining \__color_backend_opacity_select:n on line ...
+Defining \__color_backend_opacity_select_aux:n on line ...
+Defining \__color_backend_opacity_reset: on line ...
+Defining \__color_backend_fill_opacity:n on line ...
+Defining \__color_backend_stroke_opacity:n on line ...
+Defining \__color_backend_opacity:nn on line ...
+Defining \__color_backend_opacity:xn on line ...
Defining \__box_backend_clip:N on line ...
Defining \__box_backend_rotate:Nn on line ...
Defining \__box_backend_rotate_aux:Nn on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index 4d3d1ed8d..2cadbff66 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -63,6 +63,11 @@ Defining \__color_backend_fill_separation:nn on line ...
Defining \__color_backend_stroke_separation:nn on line ...
Defining \__color_backend_fill_devicen:nn on line ...
Defining \__color_backend_stroke_devicen:nn on line ...
+Defining \__color_backend_opacity_select:n on line ...
+Defining \__color_backend_fill_opacity:n on line ...
+Defining \__color_backend_stroke_opacity:n on line ...
+Defining \__color_backend_opacity:nn on line ...
+Defining \__color_backend_opacity:xn on line ...
Defining \__box_backend_clip:N on line ...
Defining \__box_backend_rotate:Nn on line ...
Defining \__box_backend_rotate_aux:Nn on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index a16faa5aa..353bcac70 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -30,6 +30,7 @@ Defining \__kernel_backend_matrix:x on line ...
Defining \__color_backend_pickup:N on line ...
Defining \__color_backend_stack_init:Nnn on line ...
Defining \__color_backend_stack_push:nn on line ...
+Defining \__color_backend_stack_push:nx on line ...
Defining \__color_backend_stack_pop:n on line ...
Defining \l__color_backend_stack_int on line ...
\l__color_backend_stack_int=\count...
@@ -56,6 +57,14 @@ Defining \__color_backend_fill_separation:nn on line ...
Defining \__color_backend_stroke_separation:nn on line ...
Defining \__color_backend_fill_devicen:nn on line ...
Defining \__color_backend_stroke_devicen:nn on line ...
+Defining \c__color_backend_opacity_stack_int on line ...
+Defining \__color_backend_opacity_select:n on line ...
+Defining \__color_backend_opacity_select_aux:n on line ...
+Defining \__color_backend_opacity_reset: on line ...
+Defining \__color_backend_fill_opacity:n on line ...
+Defining \__color_backend_stroke_opacity:n on line ...
+Defining \__color_backend_opacity:nn on line ...
+Defining \__color_backend_opacity:xn on line ...
Defining \__box_backend_clip:N on line ...
Defining \__box_backend_rotate:Nn on line ...
Defining \__box_backend_rotate_aux:Nn on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 4d3d1ed8d..2cadbff66 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -63,6 +63,11 @@ Defining \__color_backend_fill_separation:nn on line ...
Defining \__color_backend_stroke_separation:nn on line ...
Defining \__color_backend_fill_devicen:nn on line ...
Defining \__color_backend_stroke_devicen:nn on line ...
+Defining \__color_backend_opacity_select:n on line ...
+Defining \__color_backend_fill_opacity:n on line ...
+Defining \__color_backend_stroke_opacity:n on line ...
+Defining \__color_backend_opacity:nn on line ...
+Defining \__color_backend_opacity:xn on line ...
Defining \__box_backend_clip:N on line ...
Defining \__box_backend_rotate:Nn on line ...
Defining \__box_backend_rotate_aux:Nn on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 3ce68d10a..24f9c5a0f 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -29,6 +29,7 @@ Defining \__kernel_backend_scope_end: on line ...
Defining \c__kernel_sys_dvipdfmx_version_int on line ...
\c__kernel_sys_dvipdfmx_version_int=\count...
Defining \__color_backend_pickup:N on line ...
+Defining \__color_backend_stack_init:Nnn on line ...
Defining \l__color_backend_stack_int on line ...
\l__color_backend_stack_int=\count...
Defining \__color_backend_select_cmyk:n on line ...
@@ -54,6 +55,13 @@ Defining \__color_backend_fill_separation:nn on line ...
Defining \__color_backend_stroke_separation:nn on line ...
Defining \__color_backend_fill_devicen:nn on line ...
Defining \__color_backend_stroke_devicen:nn on line ...
+Defining \__color_backend_opacity_select:n on line ...
+Defining \__color_backend_opacity_select_aux:n on line ...
+Defining \__color_backend_opacity_reset: on line ...
+Defining \__color_backend_fill_opacity:n on line ...
+Defining \__color_backend_stroke_opacity:n on line ...
+Defining \__color_backend_opacity:nn on line ...
+Defining \__color_backend_opacity:xn on line ...
Defining \__box_backend_clip:N on line ...
Defining \__box_backend_rotate:Nn on line ...
Defining \__box_backend_rotate_aux:Nn on line ...
More information about the latex3-commits
mailing list.