[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.