summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pgf/systemlayer
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/systemlayer')
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf-via-dvi.def2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def6
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def6
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvi.def2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def7
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def503
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm.def2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm4ht.def70
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def6
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def6
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-tex4ht.def2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-textures.def2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-vtex.def2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def8
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex7
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsysanimations.code.tex2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex2
21 files changed, 605 insertions, 38 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg
index 5f7a34c8372..2580bad9d1c 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf-via-dvi.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf-via-dvi.def
index d39078338a5..0678b188207 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf-via-dvi.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf-via-dvi.def
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
% CMYK and grayscale shadings adaptation copyright 2019 by David Purton
%
% This file may be distributed and/or modified
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
index c70f3ef2b7f..765ffc84092 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def
index 803ed71cdaf..004b8e38f4f 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
% CMYK and grayscale shadings adaptation copyright 2019 by David Purton
%
% This file may be distributed and/or modified
@@ -150,10 +150,10 @@
% Opacity
\def\pgfsys@fill@opacity#1{%
- \pgfsysprotocol@literal{#1 .pgfsetfillopacityalpha}
+ \pgfsysprotocol@literal{#1 .pgfsetfillopacityalpha}%
}
\def\pgfsys@stroke@opacity#1{%
- \pgfsysprotocol@literal{#1 .pgfsetstrokeopacityalpha}
+ \pgfsysprotocol@literal{#1 .pgfsetstrokeopacityalpha}%
}
% Objects
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def
index 9dcb2e0e7c9..f1d27290230 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -891,7 +891,7 @@
\let\pgf@sys@svg@marker@id@start\pgfutil@empty%
\else%
\global\advance\pgf@sys@svg@objectcount by1\relax%
- \edef\pgf@sys@svg@marker@id{pgf\the\pgf@sys@svg@objectcount}%
+ \edef\pgf@sys@svg@marker@id{pgf\the\pgf@sys@svg@objectcount m}%
\edef\pgf@sys@svg@add@code{%
\noexpand\pgf@sys@svg@ref@defs{pgfs\pgf@svg@anim@marker@start}%
\noexpand\pgfsysprotocol@literal{<marker id="\pgf@sys@svg@marker@id" markerUnits="userSpaceOnUse" orient="auto" overflow="visible">
@@ -904,7 +904,7 @@
\let\pgf@sys@svg@marker@id@end\pgfutil@empty%
\else%
\global\advance\pgf@sys@svg@objectcount by1\relax%
- \edef\pgf@sys@svg@marker@id{pgf\the\pgf@sys@svg@objectcount}%
+ \edef\pgf@sys@svg@marker@id{pgf\the\pgf@sys@svg@objectcount m}%
\edef\pgf@sys@svg@add@code@{%
\noexpand\pgf@sys@svg@ref@defs{pgfs\pgf@svg@anim@marker@end}%
\noexpand\pgfsysprotocol@literal{<marker id="\pgf@sys@svg@marker@id" markerUnits="userSpaceOnUse" orient="auto" overflow="visible">
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvi.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvi.def
index a6397752ff4..dbe6fb31306 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvi.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvi.def
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def
index 939595089ad..df1209aefb4 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
index b2be0c9110b..2c0fc8ae559 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
% CMYK and grayscale shadings adaptation copyright 2019 by David Purton
%
% This file may be distributed and/or modified
@@ -314,7 +314,7 @@
\ifx\pgf@imagemask\pgfutil@empty\else\xdef\pgf@imagemask{ /SMask @\pgf@imagemask}\fi%
\edef\pgf@image{\noexpand\hbox to \pgf@imagewidth{\vbox to \pgf@imageheight{\vfil\special{pdf:image width \pgf@imagewidth\space height \pgf@imageheight\space\pgf@imagepage\space(\pgf@filename) <<\pgf@imageinterpolate\pgf@imagemask\space>>}}\hfil}}%
}
-\def\pgfsys@definemask#1{%
+\def\pgfsys@definemask{%
\ifx\pgf@maskmatte\pgfutil@empty%
\else%
\edef\pgf@maskmatte{/Matte [\pgf@maskmatte]}%
@@ -450,6 +450,7 @@
% Transparency groups came from pgfsys-pdftex.def
\def\pgfsys@transparencygroupfrombox#1{%
{%
+ \pgfutil@tempdima=\pgf@picminx
\pgf@sys@bp@correct\pgf@picminx%
\pgf@sys@bp@correct\pgf@picmaxx%
\pgf@sys@bp@correct\pgf@picminy%
@@ -459,7 +460,7 @@
\wd#1=0pt%
\ht#1=0pt%
\dp#1=0pt%
- \hskip\pgf@picminx bp\box#1\hskip-\pgf@picminx bp%
+ \hskip\pgfutil@tempdima\box#1\hskip-\pgfutil@tempdima%
\special{pdf:put @resources
<<
\ifpgf@sys@pdf@extgs@exists /ExtGState @pgfextgs \fi
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def
index 4cb4d51b8b0..70f5ba28873 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def
@@ -1,4 +1,7 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
+%
+% PS-3 shadings, image and opacity masks (fadings), transparency groups,
+% blend modes copyright 2020 by Alexander Grahn
%
% This file may be distributed and/or modified
%
@@ -33,9 +36,9 @@
\pgfsys@begin@idscope%
\pgfsys@invoke{pgfs}%
\special{ps::[end]}%
- \wd#1=0pt%
- \ht#1=0pt%
- \dp#1=0pt%
+ \wd#1=0pt
+ \ht#1=0pt
+ \dp#1=0pt
\box#1
\special{ps::[begin]}%
\pgfsys@invoke{pgfr}%
@@ -79,13 +82,36 @@
/pgfc{newpath @endspecial pgfpd}bind def %close
/pgfsd{globaldict /pgfdelta /delta where {pop delta} {0} ifelse put}bind def% save delta
/pgfpd{/delta globaldict /pgfdelta get def}bind def % put delta
- /.setopacityalpha where {pop} {/.setopacityalpha{pop}def} ifelse % install .setopacityalpha
+ /.setblendmode where {pop} {/.setblendmode{pop}def} ifelse % install .setblendmode
+ /.setfillconstantalpha where {%
+ pop /.setopacityalpha {.setfillconstantalpha} def%
+ } {%
+ /.setopacityalpha where {pop} {/.setopacityalpha {pop} def} ifelse% install .setopacityalpha (fallback)
+ } ifelse
/.pgfsetfillopacityalpha{/pgffoa exch def
- /pgffill{gsave pgffoa .setopacityalpha fill 1 .setopacityalpha newpath fill grestore newpath}bind def
- /pgfeofill{gsave pgffoa .setopacityalpha eofill 1 .setopacityalpha newpath eofill grestore newpath}bind def}bind def
- /.pgfsetstrokeopacityalpha{/pgfsoa exch def /pgfstr{gsave pgfsoa .setopacityalpha stroke grestore newpath}bind def}bind def
+ /.setfillconstantalpha where {pop pgffoa .setfillconstantalpha} {%
+ /pgffill{gsave pgffoa .setopacityalpha fill 1 .setopacityalpha newpath fill grestore newpath}bind def
+ /pgfeofill{gsave pgffoa .setopacityalpha eofill 1 .setopacityalpha newpath eofill grestore newpath}bind def%
+ } ifelse%
+ } bind def
+ /.pgfsetstrokeopacityalpha{/pgfsoa exch def
+ /.setstrokeconstantalpha where {pop pgfsoa .setstrokeconstantalpha} {%
+ /pgfstr{gsave pgfsoa .setopacityalpha stroke grestore newpath}bind def%
+ } ifelse%
+ }bind def
/pgffoa 1 def
/pgfsoa 1 def
+ % mandatory, transparency-related per-page operations, see
+ % https://www.ghostscript.com/doc/current/Language.htm#Transparency
+ % (bop-hook & eop-hook automatically executed if defined in userdict, see texdoc dvips)
+ /.pushpdf14devicefilter where {pop
+ [userdict /bop-hook known {userdict /bop-hook get aload pop} if
+ {0 .pushpdf14devicefilter} aload pop] cvx userdict exch /bop-hook exch put
+ [userdict /eop-hook known {userdict /eop-hook get aload pop} if
+ {.poppdf14devicefilter} aload pop] cvx userdict exch /eop-hook exch put%
+ } if
+ % keeps printers from choking on pdfmark operator
+ systemdict /pdfmark known not {userdict /pdfmark systemdict /cleartomark get put} if
end
}%
}
@@ -138,6 +164,467 @@
\fi
+
+% Path usage:
+\def\pgfsys@discardpath{%
+ \ifpgfsys@@clipnext%
+ \ifpgfsys@eorule%
+ \pgfsysprotocol@literal{%
+ /pgfsmaskinplace dup where {exch get}{pop false} ifelse not {eoclip} if}%
+ \else%
+ \pgfsysprotocol@literal{%
+ /pgfsmaskinplace dup where {exch get}{pop false} ifelse not {clip} if}%
+ \fi%
+ \pgfsys@@clipnextfalse%
+ \fi%
+ \pgfsysprotocol@literal{newpath}}
+
+
+%
+% Blending
+%
+
+\def\pgfsys@blend@mode#1{%
+ \expandafter\ifx\csname pgf@sys@pdf@bm@#1\endcsname\relax%
+ \expandafter\let\expandafter\pgf@temp\csname pgf@sys@pdf@blend@mode@map@#1\endcsname%
+ \expandafter\xdef\csname pgf@sys@pdf@bm@#1\endcsname{/\pgf@temp}%
+ \ifx\pgf@temp\relax%
+ \pgferror{Unknown blend mode '#1'}%
+ \def\pgf@temp{Normal}%
+ \fi%
+ \fi%
+ \pgfsysprotocol@literal{\csname pgf@sys@pdf@bm@#1\endcsname\space .setblendmode}%
+}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@normal\endcsname{Normal}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@multiply\endcsname{Multiply}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@screen\endcsname{Screen}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@overlay\endcsname{Overlay}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@darken\endcsname{Darken}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@lighten\endcsname{Lighten}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@color dodge\endcsname{ColorDodge}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@color burn\endcsname{ColorBurn}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@hard light\endcsname{HardLight}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@soft light\endcsname{SoftLight}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@difference\endcsname{Difference}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@exclusion\endcsname{Exclusion}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@saturation\endcsname{Saturation}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@color\endcsname{Color}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@hue\endcsname{Hue}
+\expandafter\def\csname pgf@sys@pdf@blend@mode@map@luminosity\endcsname{Luminosity}
+
+
+%
+% Shadings
+%
+
+\def\pgfsys@horishading#1#2#3{%
+ {%
+ \pgf@parsefunc{#3}%
+ \pgf@xb=\pgf@max
+ \pgfmathsetlength\pgf@y{#2}%
+ \pgf@yb=\pgf@y
+ \pgf@sys@bp@correct{\pgf@xb}%
+ \pgf@sys@bp@correct{\pgf@yb}%
+ \xdef\pgfutil@tempa{\hbox to \the\pgf@max{%
+ \noexpand\vrule width0pt height\the\pgf@y%
+ \noexpand\pgfsys@beginpurepicture%
+ \noexpand\pgfsys@outerinvoke{
+ \pgf@sys@tonumber{\pgf@yb} \pgf@sys@tonumber{\pgf@xb} 0 0 pgfe <<
+ /PatternType 2
+ /Shading <<
+ /ShadingType 2
+ /ColorSpace \pgf@shading@device\space
+ /Domain [\pgf@pdfparseddomain]
+ /Coords [\pgf@doma\space0 \pgf@domb\space0]
+ /Function \pgf@pdfparsedfunction
+ >>
+ >> matrix makepattern setpattern fill
+ }%
+ \hss%
+ \noexpand\pgfsys@endpurepicture%
+ }}%
+ }%
+ \global\expandafter\let\csname @pgfshading#1!\endcsname\pgfutil@tempa%
+}
+\def\pgfsys@vertshading#1#2#3{%
+ {%
+ \pgf@parsefunc{#3}%
+ \pgfmathsetlength\pgf@x{#2}%
+ \pgf@xb=\pgf@x
+ \pgf@yb=\pgf@max
+ \pgf@sys@bp@correct{\pgf@xb}%
+ \pgf@sys@bp@correct{\pgf@yb}%
+ \xdef\pgfutil@tempa{\hbox to \the\pgf@x{%
+ \noexpand\vrule width0pt height\the\pgf@max%
+ \noexpand\pgfsys@beginpurepicture%
+ \noexpand\pgfsys@outerinvoke{
+ \pgf@sys@tonumber{\pgf@yb} \pgf@sys@tonumber{\pgf@xb} 0 0 pgfe <<
+ /PatternType 2
+ /Shading <<
+ /ShadingType 2
+ /ColorSpace \pgf@shading@device\space
+ /Domain [\pgf@pdfparseddomain]
+ /Coords [0 \pgf@doma\space0 \pgf@domb]
+ /Function \pgf@pdfparsedfunction
+ >>
+ >> matrix makepattern setpattern fill
+ }%
+ \hss%
+ \noexpand\pgfsys@endpurepicture%
+ }}%
+ }%
+ \global\expandafter\let\csname @pgfshading#1!\endcsname\pgfutil@tempa%
+}
+\def\pgfsys@radialshading#1#2#3{%
+ {%
+ \pgf@parsefunc{#3}%
+ \pgf@process{#2}%
+ \pgf@xa=\pgf@x
+ \pgf@ya=\pgf@y
+ \pgf@process{\pgfpoint{\pgf@max}{\pgf@max}}%
+ \advance\pgf@xa by \pgf@x
+ \advance\pgf@ya by \pgf@y
+ \pgf@sys@bp@correct{\pgf@x}%
+ \pgf@sys@bp@correct{\pgf@y}%
+ \pgf@sys@bp@correct{\pgf@xa}%
+ \pgf@sys@bp@correct{\pgf@ya}%
+ \pgf@max=2\pgf@max
+ \xdef\pgfutil@tempa{\hbox to \the\pgf@max{%
+ \noexpand\vrule width0pt height\the\pgf@max%
+ \noexpand\pgfsys@beginpurepicture%
+ \noexpand\pgfsys@outerinvoke{
+ <<
+ /ShadingType 3
+ /ColorSpace \pgf@shading@device\space
+ /Domain [\pgf@pdfparseddomain]
+ /Coords [\pgf@sys@tonumber{\pgf@xa} \pgf@sys@tonumber{\pgf@ya} \pgf@doma\space
+ \pgf@sys@tonumber{\pgf@x} \pgf@sys@tonumber{\pgf@y} \pgf@domb]
+ /Function \pgf@pdfparsedfunction
+ /Extend [true false]
+ >> shfill
+ }%
+ \hss%
+ \noexpand\pgfsys@endpurepicture%
+ }}%
+ }%
+ \global\expandafter\let\csname @pgfshading#1!\endcsname\pgfutil@tempa%
+}
+\def\pgfsys@functionalshading#1#2#3#4{%
+ {%
+ \pgf@process{#2}%
+ \pgf@xa=\pgf@x
+ \pgf@ya=\pgf@y
+ \pgf@process{#3}%
+ \pgf@xb=\pgf@x
+ \pgf@yb=\pgf@y
+ \advance\pgf@x by-\pgf@xa
+ \advance\pgf@y by-\pgf@ya
+ \pgf@sys@bp@correct{\pgf@xa}%
+ \pgf@sys@bp@correct{\pgf@ya}%
+ \pgf@sys@bp@correct{\pgf@xb}%
+ \pgf@sys@bp@correct{\pgf@yb}%
+ \pgf@xc=-\pgf@xa
+ \pgf@yc=-\pgf@ya
+ \xdef\pgfutil@tempa{%
+ \hbox to\the\pgf@x{\vbox to\the\pgf@y{\vfil
+ \noexpand\pgfsys@beginpurepicture%
+ \noexpand\pgfsys@invoke{%
+ % patch coords
+ /pgfpatchllx \pgf@sys@tonumber{\pgf@xa} def
+ /pgfpatchlly \pgf@sys@tonumber{\pgf@ya} def
+ % shading patch width and height
+ /pgfpatchX \pgf@sys@tonumber{\pgf@xb} pgfpatchllx sub def
+ /pgfpatchY \pgf@sys@tonumber{\pgf@yb} pgfpatchlly sub def
+ % number of samples in each direction (with samples spaced by approx. 1bp)
+ /pgfsamplesx pgfpatchX round cvi 1 add def
+ /pgfsamplesy pgfpatchY round cvi 1 add def
+ % exact sample distance in each direction, in bp
+ /pgfpatchdx pgfpatchX pgfsamplesx 1 sub div def
+ /pgfpatchdy pgfpatchY pgfsamplesy 1 sub div def
+ %
+ pgfpatchllx neg pgfpatchlly neg translate
+ /pgfproc {#4} bind def
+ %
+ % sampling procedure; repeatedly called by /ReusableStreamDecode filter;
+ % on each call, /pgfsamplingproc puts one colour sample (rgb, cmyk or gray)
+ % on the operand stack which is then consumed by the filter
+ userdict /pgfsampleidx 0 put % internal index; updated on each call
+ /pgfsamplingproc {
+ pgfsampleidx pgfsamplesx pgfsamplesy mul eq {
+ () % push empty string on the stack to signal end-of-data
+ } {
+ pgfcolorsample\pgf@shading@model\space % -str-
+ pgfsampleidx pgfsamplesx mod pgfpatchdx mul pgfpatchllx add % -str- x
+ pgfsampleidx pgfsamplesx idiv pgfpatchdy mul pgfpatchlly add % -str- x y
+ pgfproc % -str- <colour>
+ pgfwritesample\pgf@shading@model\space % -str-
+ /pgfsampleidx pgfsampleidx 1 add store % (update index)
+ } ifelse
+ } bind def
+ %
+ pgfpatchY pgfpatchX pgfpatchllx pgfpatchlly pgfe <<
+ /PatternType 2
+ /Shading <<
+ /ShadingType 1
+ /Domain [0 1 0 1]
+ /Matrix [pgfpatchX 0 0 pgfpatchY pgfpatchllx pgfpatchlly]
+ /ColorSpace \pgf@shading@device\space
+ /Function <<
+ /FunctionType 0
+ /Order 1
+ /Domain [0 1 0 1]
+ /Range pgfrange\pgf@shading@model
+ /BitsPerSample pgfchanneldepth\pgf@shading@model % bits per channel, actually
+ /Size [pgfsamplesx pgfsamplesy]
+ /DataSource /pgfsamplingproc load /ReusableStreamDecode filter
+ >>
+ >>
+ >> matrix makepattern setpattern fill
+ }%
+ \noexpand\pgfsys@endpurepicture%
+ }\hss}%
+ }%
+ }%
+ \global\expandafter\let\csname @pgfshading#1!\endcsname\pgfutil@tempa%
+}
+
+% helpers for converting FunctionType-4 to FunctionType-0, i. e. sampled, functions;
+% FunctionType-4 functions are not defined in PostScript-3
+%
+% These are the different colour models we are going to use:
+% +-------+-------------------+-----------+------------------+
+% | model | channel depth/bit | max value | sample size/byte |
+% +-------+-------------------+-----------+------------------+
+% | cmyk | 8 | 255 | 4 |
+% | rgb | 8 | 255 | 3 |
+% | gray | 24 | 16777215 | 3 |
+% +-------+-------------------+-----------+------------------+
+\expandafter\gdef\expandafter\pgfsys@atbegindocument\expandafter{\pgfsys@atbegindocument%
+ \pgf@sys@postscript@header{
+ %
+ % -str- c m y k pgfwritesamplecmyk ==> -str-
+ % -str- r g b pgfwritesamplergb ==> -str-
+ % -str- gray pgfwritesamplegray ==> -str-
+ % writes a single colour sample into the /pgfcolorsample* string;
+ % colour components (c,m,y,k; r,g,b; gray) between 0.0 to 1.0
+ %
+ /pgfwritesamplecmyk {
+ 4 index 0 5 index pgfcheckcolorrange 255 mul round cvi put
+ 4 index 1 4 index pgfcheckcolorrange 255 mul round cvi put
+ 4 index 2 3 index pgfcheckcolorrange 255 mul round cvi put
+ 4 index 3 2 index pgfcheckcolorrange 255 mul round cvi put
+ pop pop pop pop
+ } bind def
+ %
+ /pgfwritesamplergb {
+ 3 index 0 4 index pgfcheckcolorrange 255 mul round cvi put
+ 3 index 1 3 index pgfcheckcolorrange 255 mul round cvi put
+ 3 index 2 2 index pgfcheckcolorrange 255 mul round cvi put
+ pop pop pop
+ } bind def
+ %
+ /pgfwritesamplegray {
+ % grayvalue between 0 and 16777215 (24 bit)
+ pgfcheckcolorrange 16777215 mul round cvi % -str- gray24
+ 1 index 0 2 index -16 bitshift put % high byte
+ 1 index 1 2 index 65535 and -8 bitshift put % middle byte
+ 1 index 2 2 index 255 and put % low byte
+ pop
+ } bind def
+ %
+ % <colour component> pgfcheckcolorrange ==> <something between 0.0 and 1.0>
+ % truncates value to the allowed range (user-defined Type-4 functions may
+ % happen to provide values outside this range)
+ /pgfcheckcolorrange {
+ dup 0.0 lt {pop 0.0} if
+ dup 1.0 gt {pop 1.0} if
+ } bind def
+ %
+ %colour depths per channel (bit)
+ /pgfchanneldepthcmyk 8 def
+ /pgfchanneldepthrgb 8 def
+ /pgfchanneldepthgray 24 def
+ %
+ % allocate strings as buffers for storing a single colour sample
+ /pgfcolorsamplecmyk 4 string def
+ /pgfcolorsamplergb 3 string def
+ /pgfcolorsamplegray 3 string def
+ %
+ %/Range array in the FunctionType 0 dictionary
+ /pgfrangecmyk [0 1 0 1 0 1 0 1] def
+ /pgfrangergb [0 1 0 1 0 1] def
+ /pgfrangegray [0 1] def
+ }%
+}
+
+
+%
+% Opacity masks
+%
+
+\def\pgfsys@fadingfrombox#1#2{%
+ \ifcsname pgfsmaskxform@#1\endcsname
+ \pgfwarning{Fading '#1' already defined.\MessageBreak Going to replace it with new definition}%
+ \fi%
+ \global\advance\pgf@objectcount\@ne%
+ {%
+ \pgf@x=-.5\wd#2%
+ \pgf@y=-.5\ht#2%
+ \advance\pgf@y by.5\dp#2%
+ \expandafter\xdef\csname pgfsmasktrans@#1\endcsname{%
+ \noexpand\pgftransformcm{1}{0}{0}{1}{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}}%
+ \edef\@tempa{\noexpand\pgfutil@insertatbegincurrentpagefrombox{%
+ % box coordinates (reference point and top) needed for distilling
+ \pgfsys@outerinvoke{currentpoint /pgf@refy exch def /pgf@refx exch def}%
+ \hbox to 0pt {\hbox to \ifdim\ht#2>\ht\strutbox\ht#2\else\ht\strutbox\fi{\hss\pgfsys@outerinvoke{%
+ /pgf@top pgf@refy currentpoint pop pgf@refx sub VResolution Resolution div mul sub def%
+ }}\hss}%
+ \pgfsys@outerinvoke{gsave
+ % translate box to upper left page corner, so we have the whole clipping path (i. e.
+ % page area) available for distilling, as outlying parts get clipped
+ clippath pathbbox newpath pop pop translate pgf@refx neg pgf@top neg translate
+ % translate origin (0,0) to the reference point
+ gsave pgf@refx pgf@refy translate
+ mark /_objdef {pgfsmaskxform@\the\pgf@objectcount}
+ /BBox [clippath pathbbox newpath] /BP pdfmark grestore%
+ }%
+ \wd#2=0pt
+ \ht#2=0pt
+ \dp#2=0pt
+ \box#2%
+ \pgfsys@outerinvoke{mark /EP pdfmark grestore}%
+ }}\@tempa%
+ \expandafter\xdef\csname pgfsmaskxform@#1\endcsname{\the\pgf@objectcount}%
+ }%
+}
+\def\pgfsys@usefading#1#2#3#4#5#6#7{%
+ \ifcsname pgfsmaskxform@#1\endcsname%
+ {%
+ \pgftransformreset%
+ \pgftransformcm{#2}{#3}{#4}{#5}{\pgfpoint{#6}{#7}}%
+ \csname pgfsmasktrans@#1\endcsname%
+ {%
+ \pgflowlevelsynccm%
+ \pgfsys@outerinvoke{%
+ /.begintransparencymaskgroup where {pop
+ /pgf@sys@currentcolorspace currentcolorspace def
+ /pgf@sys@currentcolor [currentcolor] cvx def
+ /pgf@sys@OverrideICC currentuserparams /OverrideICC get def % Chr. Liddell
+ <</OverrideICC true>> setuserparams % of Artifex
+ /DeviceGray setcolorspace
+ true <</Subtype/Luminosity>> clippath pathbbox newpath .begintransparencymaskgroup
+ gsave
+ 72 Resolution div 72 VResolution div scale
+ 1 DVImag div 1 DVImag div neg scale
+ mark {pgfsmaskxform@\csname pgfsmaskxform@#1\endcsname} /SP pdfmark
+ grestore
+ 0 .endtransparencymask
+ <</OverrideICC pgf@sys@OverrideICC>> setuserparams % restore orig. settings
+ pgf@sys@currentcolorspace setcolorspace
+ pgf@sys@currentcolor setcolor
+ /pgfsmaskinplace true def
+ } if%
+ }%
+ }%
+ \pgftransforminvert%
+ \pgflowlevelsynccm%
+ }%
+ \else
+ \pgferror{Undefined fading '#1'}%
+ \fi%
+}
+\def\pgfsys@clipfading{%
+ \pgfsyssoftpath@invokecurrentpath%
+ \pgfsys@clipnext%
+ \pgfsys@discardpath%
+}
+
+
+%
+% Transparency groups
+%
+\def\pgfsys@transparencygroupfrombox#1{%
+ \global\advance\pgf@objectcount\@ne%
+ \pgfsys@outerinvoke{%
+ mark /_objdef {pgfxform@\the\pgf@objectcount} /BBox [clippath pathbbox newpath] /BP pdfmark
+ gsave
+ /pgf@sys@foa pgffoa def /pgf@sys@soa pgfsoa def
+ /.setstrokeconstantalpha where
+ {pop 1 .pgfsetfillopacityalpha 1 .pgfsetstrokeopacityalpha} if%
+ }%
+ \wd#1=0pt
+ \ht#1=0pt
+ \dp#1=0pt
+ \hskip\pgf@picminx\box#1%
+ \pgfsys@outerinvoke{%
+ /pgffoa pgf@sys@foa def /pgfsoa pgf@sys@soa def
+ grestore
+ mark /EP pdfmark
+ mark {pgfxform@\the\pgf@objectcount} << /Group << /S /Transparency
+ /I \ifpgfsys@transparency@group@isolated true \else false \fi
+ /K \ifpgfsys@transparency@group@knockout true \else false \fi >> >> /PUT pdfmark%
+ }%
+ \setbox#1=\hbox{\pgfsys@outerinvoke{mark {pgfxform@\the\pgf@objectcount} /SP pdfmark}}%
+}
+
+
+%
+% Image inclusion, adding SMask reference and image interpolation if mandated
+%
+
+\def\pgfsys@defineimage{%
+ \ifx\pgf@imagewidth\pgfutil@empty\else\edef\pgf@imagewidth{width=\pgf@imagewidth,}\fi%
+ \ifx\pgf@imageheight\pgfutil@empty\else\edef\pgf@imageheight{height=\pgf@imageheight,}\fi%
+ \begingroup%
+ \def\pgf@imageaddedkeys{}\def\@tempa{true}%
+ \ifx\pgf@imageinterpolate\@tempa\def\pgf@imageaddedkeys{/Interpolate true}\fi%
+ \ifx\pgf@imagemask\pgfutil@empty\else\edef\pgf@imageaddedkeys{\pgf@imageaddedkeys /SMask {\pgf@imagemask}}\fi%
+ \edef\@tempa{%
+ \ifx\pgf@imageaddedkeys\pgfutil@empty\else%
+ \noexpand\pgfsys@outerinvoke{%
+ save /pgfparent [(img) cvx cvn rand] cvx def %random name for current image
+ mark /_objdef /pgfparent load /NI pdfmark
+ % sometimes, image metadata contain embedded pdfmarks that prevent us from
+ % writing to the image dictionary ourselves, so we disable them temporarily
+ save /pdfmark /cleartomark load def
+ }%
+ \fi%
+ \noexpand\includegraphics[\pgf@imageheight\pgf@imagewidth]{\pgf@filename}%
+ \ifx\pgf@imageaddedkeys\pgfutil@empty\else%
+ \noexpand\pgfsys@outerinvoke{%
+ % empty image dummy, in case the provided file is not a valid raster image
+ 0 0 1 [1 0 0 1 0 0] {} image restore
+ mark /pgfparent load <<\pgf@imageaddedkeys>> /PUT pdfmark restore
+ }%
+ \fi%
+ }%
+ \expandafter\endgroup%
+ \expandafter\def\expandafter\pgf@image\expandafter{\@tempa}%
+}
+
+
+%
+% Image masks
+%
+
+\def\pgfsys@definemask{%
+ \global\advance\pgf@objectcount\@ne%
+ \ifx\pgf@maskmatte\pgfutil@empty%
+ \else%
+ \edef\pgf@maskmatte{/Matte [\pgf@maskmatte]}%
+ \fi%
+ \pgfsys@outerinvoke{%
+ mark /_objdef {pgfmask\the\pgf@objectcount} /NI pdfmark
+ 1 dict begin /pdfmark /cleartomark load def
+ }%
+ \special{psfile=\pgf@filename\space hsize=0 vsize=0}%
+ \pgfsys@outerinvoke{%
+ 0 0 1 [1 0 0 1 0 0] {} image
+ end mark {pgfmask\the\pgf@objectcount} <</Decode [1 0] \pgf@maskmatte>> /PUT pdfmark
+ }%
+ \edef\pgf@mask{pgfmask\the\pgf@objectcount}%
+}
+
\endinput
%%% Local Variables:
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm.def
index f817f508740..a0896011828 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm.def
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm4ht.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm4ht.def
new file mode 100644
index 00000000000..2853147a8d1
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm4ht.def
@@ -0,0 +1,70 @@
+% Copyright 2020 by Michal Hoftich
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS{pgfsys-dvisvgm4ht.def}
+
+% Driver commands for tex4ht
+
+%
+% Load common pdf commands:
+%
+ %\input pgfsys-dvisvgm.def
+\input pgfsys-dvips.def
+
+
+
+\AtBeginDocument{
+ % configure the output picture format to svg
+ \Configure{Picture}{.svg}
+ % insert tex4ht hook to the code used at the start and end of each TikZ picture
+ \def\pgfsys@beginpicture{%
+ \bgroup%
+ \ifdefined\inside@pict@cmd% handle nested uses
+ \def\run@pict@cmd{}% insert the \Picture hooks only in the top nesting level
+ \def\end@pict@cmd{}%
+ \else
+ % use different version of \Picture depending on the vertical mode
+ \ifvmode\def\run@pict@cmd{\Picture*}\else\def\run@pict@cmd{\Picture+}\fi%
+ \def\end@pict@cmd{\EndPicture}%
+ \fi%
+ % command used to detect nesting
+ \def\inside@pict@cmd{}%
+ \csname a:tikzpicture\endcsname%
+ \orig@pgfsys@begin%
+ }%
+ \def\pgfsys@endpicture{%
+ \orig@pgfsys@end%
+ \csname b:tikzpicture\endcsname%
+ \egroup%
+ \par%
+ }%
+}
+
+
+% Make the code inserted by tex4ht configurable
+
+\NewConfigure{tikzpicture}{2}
+\Configure{tikzpicture}{%
+ % \ifvmode\IgnorePar\fi\EndP%\HtmlParOff
+ \protect\csname nested:math\endcsname% support display math
+ \run@pict@cmd{}%
+}{\end@pict@cmd}
+
+\let\orig@pgfsys@begin\pgfsys@beginpicture
+\let\orig@pgfsys@end\pgfsys@endpicture
+\def\pgf@sys@postscript@header#1{{\special{! #1}}}
+
+
+\endinput
+
+
+%%% Local Variables:
+%%% mode: latex
+%%% End:
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def
index a0b63c1cace..88adfd42d9d 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
% CMYK and grayscale shadings adaptation copyright 2019 by David Purton
%
% This file may be distributed and/or modified
@@ -71,7 +71,7 @@
\edef\pgf@image{\noexpand\useimageresource\the\lastsavedimageresourceindex}%
\fi
}%
-\def\pgfsys@definemask#1{%
+\def\pgfsys@definemask{%
\ifx\pgf@maskmatte\pgfutil@empty%
\else%
\edef\pgf@maskmatte{/Matte [\pgf@maskmatte]}%
@@ -289,7 +289,7 @@
\pgferror{Undefined fading '#1'}%
\else%
{%
- \expandafter\ifx\csname pgfsmaks@#1\endcsname\relax%
+ \expandafter\ifx\csname pgfsmask@#1\endcsname\relax%
\pgf@sys@pdf@install@mask{#1}%
\fi%
\pgftransformreset%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
index b74e005a757..3654670e67c 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
% CMYK and grayscale shadings adaptation copyright 2019 by David Purton
%
% This file may be distributed and/or modified
@@ -68,7 +68,7 @@
\edef\pgf@image{\noexpand\pdfrefximage\the\pdflastximage}%
\fi
}%
-\def\pgfsys@definemask#1{%
+\def\pgfsys@definemask{%
\ifx\pgf@maskmatte\pgfutil@empty%
\else%
\edef\pgf@maskmatte{/Matte [\pgf@maskmatte]}%
@@ -286,7 +286,7 @@
\pgferror{Undefined fading '#1'}%
\else%
{%
- \expandafter\ifx\csname pgfsmaks@#1\endcsname\relax%
+ \expandafter\ifx\csname pgfsmask@#1\endcsname\relax%
\pgf@sys@pdf@install@mask{#1}%
\fi%
\pgftransformreset%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-tex4ht.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-tex4ht.def
index 1f8c09d0c10..44dd1ae5b09 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-tex4ht.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-tex4ht.def
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-textures.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-textures.def
index 1a01a6f8f11..01f7cd9fb95 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-textures.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-textures.def
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-vtex.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-vtex.def
index cce6e4a3444..6bb0c71595c 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-vtex.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-vtex.def
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def
index 5147214ef9b..ce08194ce1c 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -62,7 +62,11 @@
\pgf@marshal%
}
-\def\pgf@sys@pdf@mark@pos@pgfpageorigin{\pgfqpoint{2\hoffset}{0pt}}
+\ifnum\the\XeTeXversion\expandafter\pgfutil@gobble\XeTeXrevision>0999991\relax
+ \def\pgf@sys@pdf@mark@pos@pgfpageorigin{\pgfqpoint{\hoffset}{\voffset}}
+\else
+ \def\pgf@sys@pdf@mark@pos@pgfpageorigin{\pgfqpoint{2\hoffset}{0pt}}
+\fi
\ifx\paperheight\@undefined
\else
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
index e3e8a5ff833..000eef098c2 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -862,6 +862,11 @@
% state. Parameters #2 to #7 specify a transformation cm that should
% be applied to the mask before it is used.
+\def\pgfsys@clipfading{}
+% This default implementation is a no-op for all drivers except `dvips'
+% where we have to set the clipping path _before_ installing the fading (used in
+% \pgfsetfadingforcurrentpath, \pgfsetfadingforcurrentpathstroked commands of
+% the basic layer)
%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsysanimations.code.tex b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsysanimations.code.tex
index 06bd9934bff..49ba41bfc63 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsysanimations.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsysanimations.code.tex
@@ -1,4 +1,4 @@
-% Copyright 2016 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
index 3625abbb576..32052b8a292 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
index d04eb022885..9fe3f1e7db5 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%