diff options
author | Karl Berry <karl@freefriends.org> | 2018-10-23 20:44:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-10-23 20:44:07 +0000 |
commit | b2d85c17c9d9577a0395372219abcf13949d50a7 (patch) | |
tree | 32d101fe009b9bdf39e8002113dcd72749fa0854 /Master/texmf-dist/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-common-postscript.def | |
parent | ba8ca340d0f3c38699715adddc605dde56ee9ab2 (diff) |
pgf-cmykshadings (23oct18)
git-svn-id: svn://tug.org/texlive/trunk@48976 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-common-postscript.def')
-rw-r--r-- | Master/texmf-dist/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-common-postscript.def | 291 |
1 files changed, 291 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-common-postscript.def b/Master/texmf-dist/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-common-postscript.def new file mode 100644 index 00000000000..12a5eb0ecac --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf-cmykshadings/pgfsys-cmykshadings-common-postscript.def @@ -0,0 +1,291 @@ +%% +%% This is file `pgfsys-cmykshadings-common-postscript.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% pgf-cmykshadings.dtx (with options: `common-ps-driver') +%% +%% This is a generated file. +%% +%% Copyright (c) 2018 David Purton <dcpurton@marshwiggle.net> +%% +%% This work may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License, either version 1.3c of this license +%% or (at your option) any later version. The latest version of this +%% license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work is "maintained" (as per the LPPL maintenance status) +%% by David Purton. +%% +%% This work consists of the files pgf-cmykshadings.ins, +%% pgf-cmykshadings.dtx, README.md, and the derived files +%% - pgf-cmykshadings.sty +%% - pgfsys-cmykshadings-pdftex.def +%% - pgfsys-cmykshadgins-xetex.def +%% - pgfsys-cmykshadings-luatex.def +%% - pgfsys-cmykshadings-dvipdfmx.def +%% - pgfsys-cmykshadings-dvipdfm.def +%% - pgfsys-cmykshadings-dvips.def +%% - pgfsys-cmykshadings-textures.def +%% - pgfsys-cmykshadings-vtex.def +%% - pgfsys-cmykshadings-common-postscript.def +%% - pgf-cmykshadings.pdf +%% +%% +%% Substantial parts of the code for this package are taken from the pgf package +%% file pgfcoreshade.code.tex, along with the driver files pgfsys-*.def, copyright +%% (c) 2006 Till Tantau and then slightly modified to support CMYK and grayscale +%% shadings. +%% +\ProvidesFile{pgfsys-cmykshadings-common-postscript.def}% + [2018/10/23 CMYK shadings support for PGF PostScript driver (DCP)] +\def\pgfsys@horishading#1#2#3{% + {% + \pgf@parsefunc{#3}% + \pgfmathsetlength\pgf@x{#2}% + \pgf@xa=\pgf@x% + \pgf@sys@bp@correct{\pgf@x}% + \pgf@y=\pgf@max% + \pgf@sys@bp@correct{\pgf@y}% + \expandafter\xdef\csname @pgfshading#1!\endcsname{\hbox to \the\pgf@max{% + \noexpand\vrule width0pt height\the\pgf@xa% + \noexpand\pgfsys@beginpurepicture% + \noexpand\pgfsys@rect{0pt}{0pt}{\the\pgf@max}{\the\pgf@xa}% + \noexpand\pgfsys@clipnext% + \noexpand\pgfsys@discardpath% + \noexpand\pgfsys@invoke{\pgf@domb\space \pgf@sys@tonumber{\pgf@x} + pgfH\pgf@shading@model\space \pgf@psfuncs\space pop}% + \hss% + \noexpand\pgfsys@endpurepicture}}% + \expandafter\xdef\csname @pgfshading#1@model!\endcsname{% + \pgf@shading@model}% + }% +} +\def\pgfsys@vertshading#1#2#3{% + {% + \pgf@parsefunc{#3}% + \pgfmathsetlength\pgf@x{#2}% + \pgf@xa=\pgf@x% + \pgf@sys@bp@correct{\pgf@x}% + \pgf@y=\pgf@max% + \pgf@sys@bp@correct{\pgf@y}% + \expandafter\xdef\csname @pgfshading#1!\endcsname{\hbox to\the\pgf@xa{% + \noexpand\vrule width0pt height\the\pgf@max% + \noexpand\pgfsys@beginpurepicture% + \noexpand\pgfsys@rect{0pt}{0pt}{\the\pgf@xa}{\the\pgf@max}% + \noexpand\pgfsys@clipnext% + \noexpand\pgfsys@discardpath% + \noexpand\pgfsys@invoke{\pgf@domb\space \pgf@sys@tonumber{\pgf@x} + pgfV\pgf@shading@model\space \pgf@psfuncs\space pop}% + \hss% + \noexpand\pgfsys@endpurepicture}}% + \expandafter\xdef\csname @pgfshading#1@model!\endcsname{% + \pgf@shading@model}% + }% +} +\def\pgfsys@radialshading#1#2#3{% + {% + \pgf@parsefunc{#3}% + \pgf@process{#2}% + \pgf@sys@bp@correct{\pgf@x}% + \pgf@sys@bp@correct{\pgf@y}% + \pgf@xa=2\pgf@max% + \pgf@sys@bp@correct{\pgf@max}% + \advance\pgf@x by \pgf@max% + \advance\pgf@y by \pgf@max% + \expandafter\xdef\csname @pgfshading#1!\endcsname{\hbox to \the\pgf@xa{% + \noexpand\vrule width0pt height\the\pgf@xa% + \noexpand\pgfsys@beginpurepicture% + \noexpand\pgfsys@invoke{% + \pgf@domb\space \pgf@sys@tonumber{\pgf@y} + \pgf@sys@tonumber{\pgf@x} + \pgf@sys@tonumber{\pgf@max} pgfR1\pgf@shading@model\space + \pgf@psfuncs\space \pgf@firstcolor\space \pgf@doma\space + pgfR2\pgf@shading@model}% + \hss% + \noexpand\pgfsys@endpurepicture}}% + \expandafter\xdef\csname @pgfshading#1@model!\endcsname{% + \pgf@shading@model}% + }% +} +\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% + \expandafter\xdef\csname @pgfshading#1!\endcsname{% + \hbox to\the\pgf@x{\vbox to\the\pgf@y{\vfil + \noexpand\pgfsys@beginpurepicture% + \noexpand\pgfsys@invoke{% + \pgf@sys@tonumber{\pgf@xc} \pgf@sys@tonumber{\pgf@yc} translate + 1.1 setlinewidth [] 0 setdash 0 setlinecap + /pgfproc {#4} bind def + \pgf@sys@tonumber{\pgf@ya} 1 \pgf@sys@tonumber{\pgf@yb} + { + \pgf@sys@tonumber{\pgf@xa} 1 \pgf@sys@tonumber{\pgf@xb} + { 1 index 2 copy pgfproc \pgf@shading@ps@device\space + moveto 1.1 0 rlineto stroke } + for + pop + } + for + }% + \noexpand\pgfsys@endpurepicture + }\hfil}% + }% + \expandafter\xdef\csname @pgfshading#1@model!\endcsname{% + \pgf@shading@model}% + }% +} +\g@addto@macro\pgfsys@atbegindocument{% + \pgf@sys@postscript@header{/pgfHrgb { pgfH } bind def}% + \pgf@sys@postscript@header{/pgfVrgb { pgfV } bind def}% + \pgf@sys@postscript@header{/pgfR1rgb { pgfR1 } bind def}% + \pgf@sys@postscript@header{/pgfR2rgb { pgfR2 } bind def}% + \pgf@sys@postscript@header{/pgfHcmyk{% + /pgfheight exch def 0.75 setlinewidth [] 0 setdash + /pgfshade {pgfAcmyk} def /pgfdir { dup 0 moveto + dup 6 index lineto } bind def} bind def}% + \pgf@sys@postscript@header{/pgfVcmyk{% + /pgfheight exch def 0.75 setlinewidth [] 0 setdash + /pgfshade {pgfAcmyk} def /pgfdir { dup 0 exch moveto dup 6 index + exch lineto } bind def} bind def}% + \pgf@sys@postscript@header{/pgfAcmyk{ + /pgfdiff 10 index round cvi 10 index round cvi sub 2 mul 1 add def + 3 index 8 index sub pgfdiff div % put cyan-step on stack + 3 index 8 index sub pgfdiff div % put magenta-step on stack + 3 index 8 index sub pgfdiff div % put yellow-step on stack + 3 index 8 index sub pgfdiff div % put black-step on stack + pgfheight 12 index 12 index 12 index 12 index 18 index + pgfdiff { + 4 index 4 index 4 index 4 index setcmykcolor % Set color + pgfdir + stroke + 5 -1 roll 9 index add % cyan += inccyan + 5 -1 roll 8 index add % magenta += incmagenta + 5 -1 roll 7 index add % yellow += incyellow + 5 -1 roll 6 index add % black += incblack + 5 -1 roll .5 sub % x += 0.5 + } repeat + mark 19 1 roll cleartomark exch pop % leave only start x on stack + }bind def } + \pgf@sys@postscript@header{/pgfR1cmyk{ + newpath dup dup dup 0 360 arc clip newpath + dup /pgfendx exch def + /pgfendy exch def + 0.875 setlinewidth + [] 0 setdash + /pgfshade {pgfRcmyk} def + /pgfstartx exch def + /pgfstarty exch def + /pgfdiffx pgfendx pgfstartx sub def + /pgfdiffy pgfendy pgfstarty sub def + dup /pgfdomb exch def + }bind def } + \pgf@sys@postscript@header{/pgfR2cmyk{ + newpath 0.5 add pgfcircx pgfcircy 3 2 roll 0 360 arc + setcmykcolor fill pop}bind def }% + \pgf@sys@postscript@header{/pgfRcmyk{ + /pgfdiff 10 index round cvi 10 index round cvi sub 4 mul 1 add def + /pgfcircx pgfstartx 11 index pgfdiffx pgfdomb div mul add def + /pgfcircy pgfstarty 11 index pgfdiffy pgfdomb div mul add def + /pgfcircxe pgfstartx 10 index pgfdiffx pgfdomb div mul add def + /pgfcircye pgfstarty 10 index pgfdiffy pgfdomb div mul add def + /pgfxstep pgfcircxe pgfcircx sub pgfdiff div def + /pgfystep pgfcircye pgfcircy sub pgfdiff div def + 3 index 8 index sub pgfdiff div % put cyan-step on stack + 3 index 8 index sub pgfdiff div % put magenta-step on stack + 3 index 8 index sub pgfdiff div % put yellow-step on stack + 3 index 8 index sub pgfdiff div % put black-step on stack + 11 index 11 index 11 index 11 index 17 index + pgfdiff { + 4 index 4 index 4 index 4 index setcmykcolor % Set color + pgfcircx pgfcircy 2 index 0 360 arc closepath + stroke + 5 -1 roll 8 index add % cyan += inccyan + 5 -1 roll 7 index add % magenta += incmagenta + 5 -1 roll 6 index add % yellow += incyellow + 5 -1 roll 5 index add % black += incblack + 5 -1 roll .25 sub % x += 0.25 + /pgfcircx pgfcircx pgfxstep add def + /pgfcircy pgfcircy pgfystep add def + } repeat + mark 18 1 roll cleartomark exch pop % leave only start x on stack + }bind def} + \pgf@sys@postscript@header{/pgfHgray{% + /pgfheight exch def 0.75 setlinewidth [] 0 setdash + /pgfshade {pgfAgray} def /pgfdir { dup 0 moveto + dup 3 index lineto } bind def} bind def}% + \pgf@sys@postscript@header{/pgfVgray{% + /pgfheight exch def 0.75 setlinewidth [] 0 setdash + /pgfshade {pgfAgray} def /pgfdir { dup 0 exch moveto dup 3 index + exch lineto } bind def} bind def}% + \pgf@sys@postscript@header{/pgfAgray{ + /pgfdiff 4 index round cvi 4 index round cvi sub 2 mul 1 add def + dup 2 index sub pgfdiff div % put gray-step on stack + pgfheight 3 index 6 index + pgfdiff { + 1 index setgray % Set color + pgfdir + stroke + exch 3 index add % gray += incgray + exch .5 sub % x += 0.5 + } repeat + mark 7 1 roll cleartomark exch pop % leave only start x on stack + }bind def } + \pgf@sys@postscript@header{/pgfR1gray{ + newpath dup dup dup 0 360 arc clip newpath + dup /pgfendx exch def + /pgfendy exch def + 0.875 setlinewidth + [] 0 setdash + /pgfshade {pgfRgray} def + /pgfstartx exch def + /pgfstarty exch def + /pgfdiffx pgfendx pgfstartx sub def + /pgfdiffy pgfendy pgfstarty sub def + dup /pgfdomb exch def + }bind def } + \pgf@sys@postscript@header{/pgfR2gray{ + newpath 0.5 add pgfcircx pgfcircy 3 2 roll 0 360 arc + setgray fill pop}bind def }% + \pgf@sys@postscript@header{/pgfRgray{ + /pgfdiff 4 index round cvi 4 index round cvi sub 4 mul 1 add def + /pgfcircx pgfstartx 5 index pgfdiffx pgfdomb div mul add def + /pgfcircy pgfstarty 5 index pgfdiffy pgfdomb div mul add def + /pgfcircxe pgfstartx 4 index pgfdiffx pgfdomb div mul add def + /pgfcircye pgfstarty 4 index pgfdiffy pgfdomb div mul add def + /pgfxstep pgfcircxe pgfcircx sub pgfdiff div def + /pgfystep pgfcircye pgfcircy sub pgfdiff div def + dup 2 index sub pgfdiff div % put gray-step on stack + 2 index 5 index + pgfdiff { + 1 index setgray % Set color + pgfcircx pgfcircy 2 index 0 360 arc closepath + stroke + exch 2 index add % gray += incgray + exch .25 sub % x += 0.25 + /pgfcircx pgfcircx pgfxstep add def + /pgfcircy pgfcircy pgfystep add def + } repeat + mark 6 1 roll cleartomark exch pop % leave only start x on stack + }bind def} +} +%% +%% +%% End of file `pgfsys-cmykshadings-common-postscript.def'. |