[latex3-commits] [l3svn] branch master updated: Extend 'drawing' driver for dvips
noreply at latex-project.org
noreply at latex-project.org
Wed May 18 14:32:37 CEST 2016
This is an automated email from the git hooks/post-receive script.
joseph pushed a commit to branch master
in repository l3svn.
The following commit(s) were added to refs/heads/master by this push:
new 8ecb6fa Extend 'drawing' driver for dvips
8ecb6fa is described below
commit 8ecb6fab0d942d1fd4b3bd11306286b9b030e8bf
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Wed May 18 13:32:33 2016 +0100
Extend 'drawing' driver for dvips
---
l3kernel/l3drivers.dtx | 476 +++++++++++++++++++++++++++++-
l3kernel/testfiles/d3dvips.luatex.tlg | 2 +-
l3kernel/testfiles/d3dvips.tlg | 2 +-
l3kernel/testfiles/d3pdfmode.ptex.tlg | 2 +-
l3kernel/testfiles/d3pdfmode.uptex.tlg | 2 +-
l3kernel/testfiles/d3xdvipdfmx.ptex.tlg | 2 +-
l3kernel/testfiles/d3xdvipdfmx.uptex.tlg | 2 +-
l3kernel/testfiles/m3expl001.luatex.tlg | 6 +
l3kernel/testfiles/m3expl001.ptex.tlg | 6 +
l3kernel/testfiles/m3expl001.tlg | 6 +
l3kernel/testfiles/m3expl001.uptex.tlg | 6 +
l3kernel/testfiles/m3expl001.xetex.tlg | 6 +
l3kernel/testfiles/m3expl003.luatex.tlg | 6 +
l3kernel/testfiles/m3expl003.ptex.tlg | 6 +
l3kernel/testfiles/m3expl003.tlg | 6 +
l3kernel/testfiles/m3expl003.uptex.tlg | 6 +
l3kernel/testfiles/m3expl003.xetex.tlg | 6 +
17 files changed, 538 insertions(+), 10 deletions(-)
diff --git a/l3kernel/l3drivers.dtx b/l3kernel/l3drivers.dtx
index fe2d848..3e318a4 100755
--- a/l3kernel/l3drivers.dtx
+++ b/l3kernel/l3drivers.dtx
@@ -899,14 +899,45 @@
% \end{macro}
%
% \begin{macro}[int]
-% {\@@_draw_color_cmyk_fill:nnnn, \@@_draw_color_cmyk_stroke:nnnn}
+% {
+% \@@_draw_color_cmyk:nnnn ,
+% \@@_draw_color_cmyk_fill:nnnn ,
+% \@@_draw_color_cmyk_stroke:nnnn
+% }
+% \begin{macro}[aux]{\@@_draw_color_cmyk_aux:nnnn}
% \begin{macro}[int]
-% {\@@_draw_color_gray_fill:n, \@@_draw_color_gray_stroke:n}
+% {
+% \@@_draw_color_gray:n ,
+% \@@_draw_color_gray_fill:n ,
+% \@@_draw_color_gray_stroke:n
+% }
+% \begin{macro}[aux]{\@@_draw_color_gray_aux:n}
% \begin{macro}[int]
-% {\@@_draw_color_rgb_fill:nnn, \@@_draw_color_rgb_stroke:nnn}
+% {
+% \@@_draw_color_rgb:nnn ,
+% \@@_draw_color_rgb_fill:nnn ,
+% \@@_draw_color_rgb_stroke:nnn
+% }
+% \begin{macro}[aux]{\@@_draw_color_rgb_aux:nnn}
% Yet more fast conversion, all using the FPU to allow for expressions
% in numerical input.
% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_color_cmyk:nnnn #1#2#3#4
+ {
+ \use:x
+ {
+ \@@_draw_color_cmyk_aux:nnnn
+ { \fp_eval:n {#1} }
+ { \fp_eval:n {#2} }
+ { \fp_eval:n {#3} }
+ { \fp_eval:n {#4} }
+ }
+ }
+\cs_new_protected:Npn \@@_draw_color_cmyk_aux:nnnn #1#2#3#4
+ {
+ \@@_draw_literal:n
+ { #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K }
+ }
\cs_new_protected:Npn \@@_draw_color_cmyk_fill:nnnn #1#2#3#4
{
\@@_draw_literal:x
@@ -925,10 +956,34 @@
K
}
}
+\cs_new_protected:Npn \@@_draw_color_gray:n #1
+ {
+ \use:x
+ { \@@_draw_color_gray_aux:n { \fp_eval:n {#1} } }
+ }
+\cs_new_protected:Npn \@@_draw_color_gray_aux:n #1
+ {
+ \@@_draw_literal:n { #1 ~g ~ #1 ~ G }
+ }
\cs_new_protected:Npn \@@_draw_color_gray_fill:n #1
{ \@@_draw_literal:x { \fp_eval:n {#1} ~ g } }
\cs_new_protected:Npn \@@_draw_color_gray_stroke:n #1
{ \@@_draw_literal:x { \fp_eval:n {#1} ~ G } }
+\cs_new_protected:Npn \@@_draw_color_rgb:nnn #1#2#3
+ {
+ \use:x
+ {
+ \@@_draw_color_rgb_aux:nnn
+ { \fp_eval:n {#1} }
+ { \fp_eval:n {#2} }
+ { \fp_eval:n {#3} }
+ }
+ }
+\cs_new_protected:Npn \@@_draw_color_rgb_aux:nnn #1#2#3
+ {
+ \@@_draw_literal:n
+ { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG }
+ }
\cs_new_protected:Npn \@@_draw_color_rgb_fill:nnn #1#2#3
{
\@@_draw_literal:x
@@ -943,6 +998,9 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}[int]{\@@_draw_transformcm:nnnnnn}
% The first four arguments here are floats (the affine matrix), the last
@@ -1027,7 +1085,8 @@
%
% \begin{macro}{\@@_scope_begin:, \@@_scope_end:}
% Scope saving/restoring is done directly with no need to worry about the
-% transformation matrix.
+% transformation matrix. General scoping is only for the graphics stack so
+% the lower-cost |gsave|/|grestore| pair are used.
% \begin{macrocode}
\cs_new_protected_nopar:Npn \@@_scope_begin:
{ \tex_special:D { ps:gsave } }
@@ -1156,6 +1215,415 @@
% \end{macro}
% \end{macro}
%
+% \subsection{Drawing}
+%
+% \begin{macro}[aux]{\@@_draw_literal:n, \@@_draw_literal:x}
+% Literals with no positioning (using |ps:| each one is positioned but
+% cut of from everything else, so no good for the stepwise approach needed
+% here).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_literal:n #1
+ { \tex_special:D { ps:: ~ #1 } }
+\cs_generate_variant:Nn \@@_draw_literal:n { x }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@@_draw_begin:, \@@_draw_end:}
+% The |ps::[begin]| special here deals with positioning but allows us to
+% continue on to a matching |ps::[end]|: contrast with |ps:| which positions
+% but where we can't split material between separate calls. The
+% |@beginspecial|/|@endspecial| pair are from |special.pro| and correct the
+% scale and $y$-axis direction. The reference point at the start of the box
+% is saved (as |l3x|/|l3y|) as it is needed when inserting various items.
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_draw_begin:
+ {
+ \tex_special:D { ps::[begin] }
+ \tex_special:D { ps::~save }
+ \tex_special:D { ps::~/l3x~currentpoint~/l3y~exch~def~def }
+ \tex_special:D { ps::~@beginspecial }
+ }
+\cs_new_protected_nopar:Npn \@@_draw_end:
+ {
+ \tex_special:D { ps::~@endspecial }
+ \tex_special:D { ps::~restore }
+ \tex_special:D { ps::[end] }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@@_draw_scope_begin:, \@@_draw_scope_end:}
+% Scope here may need to contain saved definitions, so the entire memory
+% rather than just the graphic state has to be sent to the stack.
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_draw_scope_begin:
+ { \@@_draw_literal:n { save } }
+\cs_new_protected_nopar:Npn \@@_draw_scope_end:
+ { \@@_draw_literal:n { restore } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@@_draw_moveto:nn, \@@_draw_lineto:nn}
+% \begin{macro}[int]{\@@_draw_curveto:nnnnnn}
+% Path creation operations all resolve directly to PostScript primitive
+% steps, with only the need to convert to \texttt{bp}. Notice that
+% \texttt{x}-type expansion is included here to ensure that any variable
+% values are forced to literals before any possible caching.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_moveto:nn #1#2
+ {
+ \@@_draw_literal:x
+ { \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ moveto }
+ }
+\cs_new_protected:Npn \@@_draw_lineto:nn #1#2
+ {
+ \@@_draw_literal:x
+ { \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ lineto }
+ }
+\cs_new_protected:Npn \@@_draw_curveto:nnnnnn #1#2#3#4#5#6
+ {
+ \@@_draw_literal:x
+ {
+ \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~
+ \dim_to_decimal_in_bp:n {#3} ~ \dim_to_decimal_in_bp:n {#4} ~
+ \dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~
+ curveto
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{variable}[int]{\@@_draw_eor_bool}
+% The even-odd rule here can be implemented as a simply switch.
+% \begin{macrocode}
+\bool_new:N \@@_draw_eor_bool
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[int]
+% {
+% \@@_draw_closepath: ,
+% \@@_draw_stroke: ,
+% \@@_draw_closestroke: ,
+% \@@_draw_fill: ,
+% \@@_draw_fillstroke: ,
+% \@@_draw_clip: ,
+% \@@_draw_discardpath:
+% }
+% \begin{variable}[aux]{\l_@@_draw_clip_bool}
+% Unlike PDF, PostScript doesn't track separate colors for strokes and other
+% elements. It is also desirable to have the |clip| keyword after a stroke or
+% fill. To achieve those outcomes, there is some work to do. For color, if a
+% stroke or fill color is defined it is used for the relevant operation, with
+% a graphic scope inserted as required. That does mean that once such a color
+% is set all further uses inside the same scope have to use scoping: see also
+% the color set up functions. For clipping, the required ordering is achieved
+% using a \TeX{} switch. All of the operations end with a new path instruction
+% as they do not terminate (again in contrast to PDF).
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_draw_closepath:
+ { \@@_draw_literal:n { closepath } }
+\cs_new_protected_nopar:Npn \@@_draw_stroke:
+ {
+ \@@_draw_literal:n { currentdict~/l3sc~known~{gsave~l3sc}~if }
+ \@@_draw_literal:n { stroke }
+ \@@_draw_literal:n { currentdict~/l3sc~known~{grestore}~if }
+ \bool_if:NT \l_@@_draw_clip_bool
+ {
+ \@@_draw_literal:x
+ {
+ \bool_if:NT \@@_draw_eor_bool { eo }
+ clip
+ }
+ }
+ \@@_draw_literal:n { newpath }
+ \bool_set_false:N \l_@@_draw_clip_bool
+ }
+\cs_new_protected_nopar:Npn \@@_draw_closestroke:
+ {
+ \@@_draw_closepath:
+ \@@_draw_stroke:
+ }
+\cs_new_protected_nopar:Npn \@@_draw_fill:
+ {
+ \@@_draw_literal:n { currentdict~/l3fc~known~{gsave~l3fc}~if }
+ \@@_draw_literal:x
+ {
+ \bool_if:NT \@@_draw_eor_bool { eo }
+ fill
+ }
+ \@@_draw_literal:n { currentdict~/l3fc~known~{grestore}~if }
+ \@@_draw_literal:n { currentdict~/l3sc~known~{gsave~l3sc}~if }
+ \@@_draw_literal:n { stroke }
+ \@@_draw_literal:n { currentdict~/l3sc~known~{grestore}~if }
+ \bool_if:NT \l_@@_draw_clip_bool
+ {
+ \@@_draw_literal:x
+ {
+ \bool_if:NT \@@_draw_eor_bool { eo }
+ clip
+ }
+ }
+ \@@_draw_literal:n { newpath }
+ \bool_set_false:N \l_@@_draw_clip_bool
+ }
+\cs_new_protected_nopar:Npn \@@_draw_fillstroke:
+ {
+ \@@_draw_literal:n { currentdict~/l3fc~known~{gsave~l3fc}~if }
+ \@@_draw_literal:x
+ {
+ \bool_if:NT \@@_draw_eor_bool { eo }
+ fill
+ }
+ \@@_draw_literal:n { currentdict~/l3fc~known~{grestore}~if }
+ \bool_if:NT \l_@@_draw_clip_bool
+ {
+ \@@_draw_literal:x
+ {
+ \bool_if:NT \@@_draw_eor_bool { eo }
+ clip
+ }
+ }
+ \@@_draw_literal:n { newpath }
+ \bool_set_false:N \l_@@_draw_clip_bool
+ }
+\cs_new_protected_nopar:Npn \@@_draw_clip:
+ { \bool_set_true:N \l_@@_draw_clip_bool }
+\bool_new:N \l_@@_draw_clip_bool
+\cs_new_protected_nopar:Npn \@@_draw_discardpath:
+ {
+ \bool_if:NT \l_@@_draw_clip_bool
+ {
+ \@@_draw_literal:x
+ {
+ \bool_if:NT \@@_draw_eor_bool { eo }
+ clip
+ }
+ }
+ \@@_draw_literal:n { newpath }
+ \bool_set_false:N \l_@@_draw_clip_bool
+ }
+% \end{macrocode}
+% \end{variable}
+% \end{macro}
+%
+% \begin{macro}[int]{\@@_draw_dash:nn}
+% \begin{macro}[aux]{\@@_draw_dash:n}
+% \begin{macro}[int]{\@@_draw_linewidth:n}
+% \begin{macro}[int]{\@@_draw_miterlimit:n}
+% \begin{macro}[int]^^A
+% {
+% \@@_draw_cap_butt:, \@@_draw_cap_round:, \@@_draw_cap_rectangle:,
+% \@@_draw_join_miter:, \@@_draw_join_round:, \@@_draw_join_bevel:
+% }
+% Converting paths to output is again a case of mapping directly to
+% PostScript operations.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_dash:nn #1#2
+ {
+ \@@_draw_literal:x
+ {
+ [ ~
+ \clist_map_function:nN {#1} \@@_draw_dash:n
+ ] ~
+ \dim_to_decimal_in_bp:n {#2} ~ setdash
+ }
+ }
+\cs_new:Npn \@@_draw_dash:n #1
+ { \dim_to_decimal_in_bp:n {#1} ~ }
+\cs_new_protected:Npn \@@_draw_linewidth:n #1
+ {
+ \@@_draw_literal:x
+ { \dim_to_decimal_in_bp:n {#1} ~ setlinewidth }
+ }
+\cs_new_protected:Npn \@@_draw_miterlimit:n #1
+ { \@@_draw_literal:x { \fp_eval:n {#1} ~ setmiterlimit } }
+\cs_new_protected_nopar:Npn \@@_draw_cap_butt:
+ { \@@_draw_literal:n { 0 ~ setlinecap } }
+\cs_new_protected_nopar:Npn \@@_draw_cap_round:
+ { \@@_draw_literal:n { 1 ~ setlinecap } }
+\cs_new_protected_nopar:Npn \@@_draw_cap_rectangle:
+ { \@@_draw_literal:n { 2 ~ setlinecap } }
+\cs_new_protected_nopar:Npn \@@_draw_join_miter:
+ { \@@_draw_literal:n { 0 ~ setlinejoin } }
+\cs_new_protected_nopar:Npn \@@_draw_join_round:
+ { \@@_draw_literal:n { 1 ~ setlinejoin } }
+\cs_new_protected_nopar:Npn \@@_draw_join_bevel:
+ { \@@_draw_literal:n { 2 ~ setlinejoin } }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}[aux]{\_@@_draw_color_reset:}
+% \begin{macro}[int]
+% {
+% \@@_draw_color_cmyk:nnnn ,
+% \@@_draw_color_cmyk_fill:nnnn ,
+% \@@_draw_color_cmyk_stroke:nnnn
+% }
+% \begin{macro}[int]
+% {
+% \@@_draw_color_gray:n ,
+% \@@_draw_color_gray_fill:n ,
+% \@@_draw_color_gray_stroke:n
+% }
+% \begin{macro}[int]
+% {
+% \@@_draw_color_rgb:nnn ,
+% \@@_draw_color_rgb_fill:nnn ,
+% \@@_draw_color_rgb_stroke:nnn
+% }
+% To allow color to be defined for strokes and fills separately and to
+% respect scoping, the data needs to be stored at the PostScript level.
+% We cannot undefine (local) fill/stroke colors once set up but we can
+% set them blank to improve performance slightly.
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_draw_color_reset:
+ {
+ \@@_draw_literal:n { currentdic~/l3fc~known~{ /l3fc~ { } ~def }~if }
+ \@@_draw_literal:n { currentdic~/l3sc~known~{ /l3sc~ { } ~def }~if }
+ }
+\cs_new_protected:Npn \@@_draw_color_cmyk:nnnn #1#2#3#4
+ {
+ \@@_draw_literal:x
+ {
+ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
+ \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
+ setcmykcolor ~
+ }
+ \@@_draw_color_reset:
+ }
+\cs_new_protected:Npn \@@_draw_color_cmyk_fill:nnnn #1#2#3#4
+ {
+ \@@_draw_literal:x
+ {
+ /l3fc ~
+ {
+ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
+ \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
+ setcmykcolor
+ } ~
+ def
+ }
+ }
+\cs_new_protected:Npn \@@_draw_color_cmyk_stroke:nnnn #1#2#3#4
+ {
+ \__driver_draw_literal:x
+ {
+ /l3sc ~
+ {
+ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
+ \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
+ setcmykcolor
+ } ~
+ def
+ }
+ }
+\cs_new_protected:Npn \@@_draw_color_gray:n #1
+ {
+ \@@_draw_literal:x { fp_eval:n {#1} ~ setgray }
+ \@@_draw_color_reset:
+ }
+\cs_new_protected:Npn \@@_draw_color_gray_fill:n #1
+ { \@@_draw_literal:x { /l3fc ~ { \fp_eval:n {#1} ~ setgray } ~ def } }
+\cs_new_protected:Npn \@@_draw_color_gray_stroke:n #1
+ { \@@_draw_literal:x { /l3sc ~ { \fp_eval:n {#1} ~ setgray } ~ def } }
+\cs_new_protected:Npn \@@_draw_color_rgb:nnn #1#2#3
+ {
+ \@@_draw_literal:x
+ {
+ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~
+ setrgbcolor
+ }
+ \@@_draw_color_reset:
+ }
+\cs_new_protected:Npn \@@_draw_color_rgb_fill:nnn #1#2#3
+ {
+ \@@_draw_literal:x
+ {
+ /l3fc ~
+ {
+ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~
+ setrgbcolor
+ } ~
+ def
+ }
+ }
+\cs_new_protected:Npn \@@_draw_color_rgb_stroke:nnn #1#2#3
+ {
+ \@@_draw_literal:x
+ {
+ /l3sc ~
+ {
+ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~
+ setrgbcolor
+ } ~
+ def
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}[int]{\@@_draw_transformcm:nnnnnn}
+% The first four arguments here are floats (the affine matrix), the last
+% two are a displacement vector. Once again, force evaluation to allow for
+% caching.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_transformcm:nnnnnn #1#2#3#4#5#6
+ {
+ \@@_draw_literal:x
+ {
+ [
+ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
+ \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
+ \dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~
+ ] ~
+ concat
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@@_draw_hbox:Nnnnnnn}
+% \begin{variable}[aux]{\l_@@_tmp_box}
+% Inside a picture |@beginspecial|/|@endspecial| are active, which is
+% normally a good thing but means that the position and scaling will be off
+% if the box is inserted directly. Instead, we need to reverse the effect of
+% the (normally desirable) shift/scaling within the box. That requires
+% knowing where the reference point for the drawing is: saved as |l3x|/|l3y|
+% at the start of the picture. Transformation here is relative to the
+% drawing origin so has to be done purely in driver code not using \TeX{}
+% offsets. To keep the number of box levels equal between drivers there is
+% a no-op reboxing here (in the PDF mode version it is more useful).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
+ {
+ \@@_scope_begin:
+ \tex_special:D { ps::[end] }
+ \@@_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} {#6} {#7}
+ \tex_special:D { ps::~72~Resolution~div~72~VResolution~div~neg~scale }
+ \tex_special:D { ps::~magscale~{1~DVImag~div~dup~scale}~if }
+ \tex_special:D { ps::~l3x~neg~l3y~neg~translate }
+ \hbox_set:Nn \l_@@_tmp_box { \box_use:N #1 }
+ \box_set_wd:Nn \l_@@_tmp_box { 0pt }
+ \box_set_ht:Nn \l_@@_tmp_box { 0pt }
+ \box_set_dp:Nn \l_@@_tmp_box { 0pt }
+ \box_use:N \l__driver_tmp_box
+ \tex_special:D { ps::[begin] }
+ \@@_scope_end:
+ }
+\box_new:N \l_@@_tmp_box
+% \end{macrocode}
+% \end{variable}
+% \end{macro}
+%
% \begin{macrocode}
%</dvips>
% \end{macrocode}
diff --git a/l3kernel/testfiles/d3dvips.luatex.tlg b/l3kernel/testfiles/d3dvips.luatex.tlg
index 4094934..5eea204 100644
--- a/l3kernel/testfiles/d3dvips.luatex.tlg
+++ b/l3kernel/testfiles/d3dvips.luatex.tlg
@@ -580,7 +580,7 @@ l. ... }
============================================================
TEST 4: Color
============================================================
-> \box71=
+> \box72=
\hbox(6.94444+0.0)x50.02786, direction TLT
.\special{color push gray 0}
.\OT1/cmr/m/n/10 H
diff --git a/l3kernel/testfiles/d3dvips.tlg b/l3kernel/testfiles/d3dvips.tlg
index 77afc14..ed3c9b6 100644
--- a/l3kernel/testfiles/d3dvips.tlg
+++ b/l3kernel/testfiles/d3dvips.tlg
@@ -548,7 +548,7 @@ l. ... }
============================================================
TEST 4: Color
============================================================
-> \box71=
+> \box72=
\hbox(6.94444+0.0)x50.02786
.\special{color push gray 0}
.\OT1/cmr/m/n/10 H
diff --git a/l3kernel/testfiles/d3pdfmode.ptex.tlg b/l3kernel/testfiles/d3pdfmode.ptex.tlg
index ebe511b..56e4e93 100644
--- a/l3kernel/testfiles/d3pdfmode.ptex.tlg
+++ b/l3kernel/testfiles/d3pdfmode.ptex.tlg
@@ -548,7 +548,7 @@ l. ... }
============================================================
TEST 4: Color
============================================================
-> \box71=
+> \box72=
\hbox(6.94444+0.0)x50.02786
.\special{color push gray 0}
.\OT1/cmr/m/n/10 H
diff --git a/l3kernel/testfiles/d3pdfmode.uptex.tlg b/l3kernel/testfiles/d3pdfmode.uptex.tlg
index ebe511b..56e4e93 100644
--- a/l3kernel/testfiles/d3pdfmode.uptex.tlg
+++ b/l3kernel/testfiles/d3pdfmode.uptex.tlg
@@ -548,7 +548,7 @@ l. ... }
============================================================
TEST 4: Color
============================================================
-> \box71=
+> \box72=
\hbox(6.94444+0.0)x50.02786
.\special{color push gray 0}
.\OT1/cmr/m/n/10 H
diff --git a/l3kernel/testfiles/d3xdvipdfmx.ptex.tlg b/l3kernel/testfiles/d3xdvipdfmx.ptex.tlg
index ebe511b..56e4e93 100644
--- a/l3kernel/testfiles/d3xdvipdfmx.ptex.tlg
+++ b/l3kernel/testfiles/d3xdvipdfmx.ptex.tlg
@@ -548,7 +548,7 @@ l. ... }
============================================================
TEST 4: Color
============================================================
-> \box71=
+> \box72=
\hbox(6.94444+0.0)x50.02786
.\special{color push gray 0}
.\OT1/cmr/m/n/10 H
diff --git a/l3kernel/testfiles/d3xdvipdfmx.uptex.tlg b/l3kernel/testfiles/d3xdvipdfmx.uptex.tlg
index ebe511b..56e4e93 100644
--- a/l3kernel/testfiles/d3xdvipdfmx.uptex.tlg
+++ b/l3kernel/testfiles/d3xdvipdfmx.uptex.tlg
@@ -548,7 +548,7 @@ l. ... }
============================================================
TEST 4: Color
============================================================
-> \box71=
+> \box72=
\hbox(6.94444+0.0)x50.02786
.\special{color push gray 0}
.\OT1/cmr/m/n/10 H
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index aa20860..144c1ad 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -4817,10 +4817,16 @@ Defining \__driver_draw_cap_rectangle: on line ...
Defining \__driver_draw_join_miter: on line ...
Defining \__driver_draw_join_round: on line ...
Defining \__driver_draw_join_bevel: on line ...
+Defining \__driver_draw_color_cmyk:nnnn on line ...
+Defining \__driver_draw_color_cmyk_aux:nnnn on line ...
Defining \__driver_draw_color_cmyk_fill:nnnn on line ...
Defining \__driver_draw_color_cmyk_stroke:nnnn on line ...
+Defining \__driver_draw_color_gray:n on line ...
+Defining \__driver_draw_color_gray_aux:n on line ...
Defining \__driver_draw_color_gray_fill:n on line ...
Defining \__driver_draw_color_gray_stroke:n on line ...
+Defining \__driver_draw_color_rgb:nnn on line ...
+Defining \__driver_draw_color_rgb_aux:nnn on line ...
Defining \__driver_draw_color_rgb_fill:nnn on line ...
Defining \__driver_draw_color_rgb_stroke:nnn on line ...
Defining \__driver_draw_transformcm:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index 889940c..495d0be 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -4806,10 +4806,16 @@ Defining \__driver_draw_cap_rectangle: on line ...
Defining \__driver_draw_join_miter: on line ...
Defining \__driver_draw_join_round: on line ...
Defining \__driver_draw_join_bevel: on line ...
+Defining \__driver_draw_color_cmyk:nnnn on line ...
+Defining \__driver_draw_color_cmyk_aux:nnnn on line ...
Defining \__driver_draw_color_cmyk_fill:nnnn on line ...
Defining \__driver_draw_color_cmyk_stroke:nnnn on line ...
+Defining \__driver_draw_color_gray:n on line ...
+Defining \__driver_draw_color_gray_aux:n on line ...
Defining \__driver_draw_color_gray_fill:n on line ...
Defining \__driver_draw_color_gray_stroke:n on line ...
+Defining \__driver_draw_color_rgb:nnn on line ...
+Defining \__driver_draw_color_rgb_aux:nnn on line ...
Defining \__driver_draw_color_rgb_fill:nnn on line ...
Defining \__driver_draw_color_rgb_stroke:nnn on line ...
Defining \__driver_draw_transformcm:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 1185e5e..aeaa83f 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -5009,10 +5009,16 @@ Defining \__driver_draw_cap_rectangle: on line ...
Defining \__driver_draw_join_miter: on line ...
Defining \__driver_draw_join_round: on line ...
Defining \__driver_draw_join_bevel: on line ...
+Defining \__driver_draw_color_cmyk:nnnn on line ...
+Defining \__driver_draw_color_cmyk_aux:nnnn on line ...
Defining \__driver_draw_color_cmyk_fill:nnnn on line ...
Defining \__driver_draw_color_cmyk_stroke:nnnn on line ...
+Defining \__driver_draw_color_gray:n on line ...
+Defining \__driver_draw_color_gray_aux:n on line ...
Defining \__driver_draw_color_gray_fill:n on line ...
Defining \__driver_draw_color_gray_stroke:n on line ...
+Defining \__driver_draw_color_rgb:nnn on line ...
+Defining \__driver_draw_color_rgb_aux:nnn on line ...
Defining \__driver_draw_color_rgb_fill:nnn on line ...
Defining \__driver_draw_color_rgb_stroke:nnn on line ...
Defining \__driver_draw_transformcm:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 193b30e..2254331 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -5007,10 +5007,16 @@ Defining \__driver_draw_cap_rectangle: on line ...
Defining \__driver_draw_join_miter: on line ...
Defining \__driver_draw_join_round: on line ...
Defining \__driver_draw_join_bevel: on line ...
+Defining \__driver_draw_color_cmyk:nnnn on line ...
+Defining \__driver_draw_color_cmyk_aux:nnnn on line ...
Defining \__driver_draw_color_cmyk_fill:nnnn on line ...
Defining \__driver_draw_color_cmyk_stroke:nnnn on line ...
+Defining \__driver_draw_color_gray:n on line ...
+Defining \__driver_draw_color_gray_aux:n on line ...
Defining \__driver_draw_color_gray_fill:n on line ...
Defining \__driver_draw_color_gray_stroke:n on line ...
+Defining \__driver_draw_color_rgb:nnn on line ...
+Defining \__driver_draw_color_rgb_aux:nnn on line ...
Defining \__driver_draw_color_rgb_fill:nnn on line ...
Defining \__driver_draw_color_rgb_stroke:nnn on line ...
Defining \__driver_draw_transformcm:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 5774eba..2d89a52 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -4813,10 +4813,16 @@ Defining \__driver_draw_cap_rectangle: on line ...
Defining \__driver_draw_join_miter: on line ...
Defining \__driver_draw_join_round: on line ...
Defining \__driver_draw_join_bevel: on line ...
+Defining \__driver_draw_color_cmyk:nnnn on line ...
+Defining \__driver_draw_color_cmyk_aux:nnnn on line ...
Defining \__driver_draw_color_cmyk_fill:nnnn on line ...
Defining \__driver_draw_color_cmyk_stroke:nnnn on line ...
+Defining \__driver_draw_color_gray:n on line ...
+Defining \__driver_draw_color_gray_aux:n on line ...
Defining \__driver_draw_color_gray_fill:n on line ...
Defining \__driver_draw_color_gray_stroke:n on line ...
+Defining \__driver_draw_color_rgb:nnn on line ...
+Defining \__driver_draw_color_rgb_aux:nnn on line ...
Defining \__driver_draw_color_rgb_fill:nnn on line ...
Defining \__driver_draw_color_rgb_stroke:nnn on line ...
Defining \__driver_draw_transformcm:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index c52948f..275b149 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -4818,10 +4818,16 @@ Defining \__driver_draw_cap_rectangle: on line ...
Defining \__driver_draw_join_miter: on line ...
Defining \__driver_draw_join_round: on line ...
Defining \__driver_draw_join_bevel: on line ...
+Defining \__driver_draw_color_cmyk:nnnn on line ...
+Defining \__driver_draw_color_cmyk_aux:nnnn on line ...
Defining \__driver_draw_color_cmyk_fill:nnnn on line ...
Defining \__driver_draw_color_cmyk_stroke:nnnn on line ...
+Defining \__driver_draw_color_gray:n on line ...
+Defining \__driver_draw_color_gray_aux:n on line ...
Defining \__driver_draw_color_gray_fill:n on line ...
Defining \__driver_draw_color_gray_stroke:n on line ...
+Defining \__driver_draw_color_rgb:nnn on line ...
+Defining \__driver_draw_color_rgb_aux:nnn on line ...
Defining \__driver_draw_color_rgb_fill:nnn on line ...
Defining \__driver_draw_color_rgb_stroke:nnn on line ...
Defining \__driver_draw_transformcm:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index d0faa94..5f0064b 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -4807,10 +4807,16 @@ Defining \__driver_draw_cap_rectangle: on line ...
Defining \__driver_draw_join_miter: on line ...
Defining \__driver_draw_join_round: on line ...
Defining \__driver_draw_join_bevel: on line ...
+Defining \__driver_draw_color_cmyk:nnnn on line ...
+Defining \__driver_draw_color_cmyk_aux:nnnn on line ...
Defining \__driver_draw_color_cmyk_fill:nnnn on line ...
Defining \__driver_draw_color_cmyk_stroke:nnnn on line ...
+Defining \__driver_draw_color_gray:n on line ...
+Defining \__driver_draw_color_gray_aux:n on line ...
Defining \__driver_draw_color_gray_fill:n on line ...
Defining \__driver_draw_color_gray_stroke:n on line ...
+Defining \__driver_draw_color_rgb:nnn on line ...
+Defining \__driver_draw_color_rgb_aux:nnn on line ...
Defining \__driver_draw_color_rgb_fill:nnn on line ...
Defining \__driver_draw_color_rgb_stroke:nnn on line ...
Defining \__driver_draw_transformcm:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index c31152e..1c0abdf 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -5010,10 +5010,16 @@ Defining \__driver_draw_cap_rectangle: on line ...
Defining \__driver_draw_join_miter: on line ...
Defining \__driver_draw_join_round: on line ...
Defining \__driver_draw_join_bevel: on line ...
+Defining \__driver_draw_color_cmyk:nnnn on line ...
+Defining \__driver_draw_color_cmyk_aux:nnnn on line ...
Defining \__driver_draw_color_cmyk_fill:nnnn on line ...
Defining \__driver_draw_color_cmyk_stroke:nnnn on line ...
+Defining \__driver_draw_color_gray:n on line ...
+Defining \__driver_draw_color_gray_aux:n on line ...
Defining \__driver_draw_color_gray_fill:n on line ...
Defining \__driver_draw_color_gray_stroke:n on line ...
+Defining \__driver_draw_color_rgb:nnn on line ...
+Defining \__driver_draw_color_rgb_aux:nnn on line ...
Defining \__driver_draw_color_rgb_fill:nnn on line ...
Defining \__driver_draw_color_rgb_stroke:nnn on line ...
Defining \__driver_draw_transformcm:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index c93a8b9..dd4cc80 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -5008,10 +5008,16 @@ Defining \__driver_draw_cap_rectangle: on line ...
Defining \__driver_draw_join_miter: on line ...
Defining \__driver_draw_join_round: on line ...
Defining \__driver_draw_join_bevel: on line ...
+Defining \__driver_draw_color_cmyk:nnnn on line ...
+Defining \__driver_draw_color_cmyk_aux:nnnn on line ...
Defining \__driver_draw_color_cmyk_fill:nnnn on line ...
Defining \__driver_draw_color_cmyk_stroke:nnnn on line ...
+Defining \__driver_draw_color_gray:n on line ...
+Defining \__driver_draw_color_gray_aux:n on line ...
Defining \__driver_draw_color_gray_fill:n on line ...
Defining \__driver_draw_color_gray_stroke:n on line ...
+Defining \__driver_draw_color_rgb:nnn on line ...
+Defining \__driver_draw_color_rgb_aux:nnn on line ...
Defining \__driver_draw_color_rgb_fill:nnn on line ...
Defining \__driver_draw_color_rgb_stroke:nnn on line ...
Defining \__driver_draw_transformcm:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 102b083..524c94c 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -4814,10 +4814,16 @@ Defining \__driver_draw_cap_rectangle: on line ...
Defining \__driver_draw_join_miter: on line ...
Defining \__driver_draw_join_round: on line ...
Defining \__driver_draw_join_bevel: on line ...
+Defining \__driver_draw_color_cmyk:nnnn on line ...
+Defining \__driver_draw_color_cmyk_aux:nnnn on line ...
Defining \__driver_draw_color_cmyk_fill:nnnn on line ...
Defining \__driver_draw_color_cmyk_stroke:nnnn on line ...
+Defining \__driver_draw_color_gray:n on line ...
+Defining \__driver_draw_color_gray_aux:n on line ...
Defining \__driver_draw_color_gray_fill:n on line ...
Defining \__driver_draw_color_gray_stroke:n on line ...
+Defining \__driver_draw_color_rgb:nnn on line ...
+Defining \__driver_draw_color_rgb_aux:nnn on line ...
Defining \__driver_draw_color_rgb_fill:nnn on line ...
Defining \__driver_draw_color_rgb_stroke:nnn on line ...
Defining \__driver_draw_transformcm:nnnnnn on line ...
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the latex3-commits
mailing list