texlive[60599] Master/texmf-dist: pstricks (24sep21)

commits+karl at tug.org commits+karl at tug.org
Fri Sep 24 23:38:55 CEST 2021


Revision: 60599
          http://tug.org/svn/texlive?view=revision&revision=60599
Author:   karl
Date:     2021-09-24 23:38:54 +0200 (Fri, 24 Sep 2021)
Log Message:
-----------
pstricks (24sep21)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/generic/pstricks/PSTricks.bib
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news.tex
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news08.pdf
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news09.tex
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news10.tex
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news11.tex
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news12.tex
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news13.tex
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news14.tex
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news15.tex
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news16.tex
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news17.tex
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news18.tex
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news19.pdf
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news19.tex
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news20.tex
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news21.pdf
    trunk/Master/texmf-dist/doc/generic/pstricks/pst-news21.tex
    trunk/Master/texmf-dist/dvips/pstricks/pst-dots.pro
    trunk/Master/texmf-dist/dvips/pstricks/pstricks.pro
    trunk/Master/texmf-dist/tex/generic/pstricks/config/distiller.cfg
    trunk/Master/texmf-dist/tex/generic/pstricks/config/dvips.cfg
    trunk/Master/texmf-dist/tex/generic/pstricks/config/dvipsone.cfg
    trunk/Master/texmf-dist/tex/generic/pstricks/config/gastex.cfg
    trunk/Master/texmf-dist/tex/generic/pstricks/config/textures.cfg
    trunk/Master/texmf-dist/tex/generic/pstricks/config/vtex.cfg
    trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-arrows.tex
    trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-color.tex
    trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-tex.def
    trunk/Master/texmf-dist/tex/generic/pstricks/pstricks.con
    trunk/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
    trunk/Master/texmf-dist/tex/generic/pstricks/pstricks97.tex
    trunk/Master/texmf-dist/tex/latex/pstricks/pst-doc.cls
    trunk/Master/texmf-dist/tex/latex/pstricks/pstricks-pdf.sty
    trunk/Master/texmf-dist/tex/latex/pstricks/pstricks.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-dots.tex

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/PSTricks.bib
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/PSTricks.bib	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/PSTricks.bib	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,21 +1,4 @@
 @STRING{dtk	= {{D}ie {\TeX}nische {K}om{\"o}die} }
- at STRING{beiprogramm     = {{\TeX}-Beiprogramm}}
- at STRING{bretter         = {Bretter, die die Welt bedeuten}}
- at STRING{dtk             = {DTK}}
- at STRING{editorial       = {Editorial}}
- at STRING{fremdebuehne    = {Von fremden Bühnen}}
- at STRING{fundus          = {Aus dem Fundus}}
- at STRING{grusswort       = {Grußwort}}
- at STRING{hinterbuehne    = {Hinter der Bühne}}
- at STRING{komascript      = {\KOMAScript}}
- at STRING{leserbriefe     = {Leserbriefe}}
- at STRING{magazin         = {Magazin}}
- at STRING{rezensionen     = {Bücher und Rezensionen}}
- at STRING{schonimmer      = {Was Sie schon immer über {\TeX} wissen wollten, \dots}}
- at STRING{spielplan       = {Spielplan}}
- at STRING{theaterkasse    = {Von der Theaterkasse}}
- at STRING{theatertage     = {{\TeX}-Theatertage}}
- at STRING{tippstricks     = {Tipps und Tricks}}
 
 @Book{PostScript,
   Author         = {Kollock, Nikolai G.},

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/pst-news.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/pst-news.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pst-news.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news.tex 444 2017-04-19 10:55:35Z herbert $
 \documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
     headexclude,footexclude,oneside]{pst-doc}
 \listfiles

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news08.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news09.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/pst-news09.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/pst-news09.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pst-news09.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news09.tex 165 2015-07-26 07:27:55Z herbert $
 \documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
     headexclude,footexclude,oneside]{pst-doc}
 \listfiles

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news10.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/pst-news10.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/pst-news10.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pst-news10.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news10.tex 697 2017-12-30 19:04:03Z herbert $
 \documentclass[11pt,english,BCOR=10mm,DIV12,bibliography=totoc,parskip=false,headings=small,,
     headinclude=false,footinclude=false,oneside]{pst-doc}
 \listfiles

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news11.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/pst-news11.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/pst-news11.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pst-news11.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news11.tex 165 2015-07-26 07:27:55Z herbert $
 \documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
     headexclude,footexclude,oneside]{pst-doc}
 \listfiles

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news12.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/pst-news12.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/pst-news12.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pst-news12.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news12.tex 847 2018-12-04 08:04:28Z herbert $
 \documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
     headexclude,footexclude,oneside]{pst-doc}
 \listfiles

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news13.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/pst-news13.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/pst-news13.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pst-news13.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news13.tex 165 2015-07-26 07:27:55Z herbert $
 \documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
     headexclude,footexclude,oneside]{pst-doc}
 \listfiles

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news14.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/pst-news14.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/pst-news14.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pst-news14.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news14.tex 165 2015-07-26 07:27:55Z herbert $
 \documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
     headexclude,footexclude,oneside]{pst-doc}
 \listfiles

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news15.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/pst-news15.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/pst-news15.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pst-news15.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news15.tex 444 2017-04-19 10:55:35Z herbert $
 \documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
     headexclude,footexclude,oneside]{pst-doc}
 \listfiles

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news16.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/pst-news16.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/pst-news16.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pst-news16.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news16.tex 446 2017-04-19 11:40:55Z herbert $
 \documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
     headinclude=false,footinclude=false,twoside]{pst-doc}
 \listfiles

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news17.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/pst-news17.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/pst-news17.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pst-news17.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news17.tex 699 2017-12-31 10:27:45Z herbert $
 \documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
     headinclude=false,footinclude=false,twoside]{pst-doc}
 \listfiles

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news18.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/pst-news18.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/pst-news18.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pst-news18.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news17.tex 699 2017-12-31 10:27:45Z herbert $
 \documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
     headinclude=false,footinclude=false,twoside]{pst-doc}
 \listfiles

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news19.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news19.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/pst-news19.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/pst-news19.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pst-news19.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news19.tex 934 2019-02-23 14:07:34Z herbert $
 \PassOptionsToPackage{useCalc}{pstricks}
 \documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
     headinclude=false,footinclude=false,twoside]{pst-doc}
@@ -54,11 +54,9 @@
 
 
 %--------------------------------------------------------------------------------------
-\section{\texttt{pstricks.tex} (v. 2.98 -- 2019/05/16)}
+\section{\texttt{pstricks.tex} (v. 2.94 -- 2019/01/07)}
 %--------------------------------------------------------------------------------------
 
-\subsection{Plotting multilines}
-
 There is a new macro called \Lcs{psLine} (uppercase L!) which can have
 only one or two pairs of coordinates. Remember that \Lcs{psline} can have more.
 With \Lcs{psLine} and an defined arrow you'll get nothing for something
@@ -120,38 +118,8 @@
 \end{LTXexample}
 
 \fi
-%$
 
-\subsection{Relative coordinates -- experimental}
 
-All objects which can have at least two pairs of coordinates
-can use the »+«-operator to mark relative coordinates:
-
-\begin{BDef}
-\Lcs{psline}\OptArgs\OptArg{\Largr{$x_0,y_0$}}\Largr{$x_1,y_1$}+\Largr{$x_2,y_2$}\ldots\\
-\end{BDef}
-
-\begin{LTXexample}[width=5.5cm]
-\begin{pspicture}[showgrid](5,5)
-\psline[linecolor=blue]{->}%
-    (1,1)+(3,4)+(-2,-3)
-\end{pspicture}
-\end{LTXexample}
-
-
-\begin{LTXexample}[width=5.5cm]
-\begin{pspicture}[showgrid](-1,-2)(4,3)
-\psaxes[labels=none]{->}(0,0)(-1,-2)(4,3)
-\psbezier%
-  (!0.8 -95 PtoC 1 sub)+(8.5;85)+(5;-100)(2,1)%
- +(1;-70)+(0.5;-110)(3,2)%
- +(1;-80)+(0.5;95)(3.4,-0.8)
-\end{pspicture}
-\end{LTXexample}
-
-
-
-
 \subsection{Error message}
 
 Using PSTricks with \Lprog{pdflatex} will work only when using package

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news20.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/pst-news20.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/pst-news20.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pst-news20.tex 25 2020-09-18 06:59:21Z herbert $
+%% $Id: pst-news20.tex 23 2020-09-18 06:29:04Z herbert $
 \documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
     headinclude=false,footinclude=false,twoside]{scrartcl}
 

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news21.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/pstricks/pst-news21.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks/pst-news21.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/doc/generic/pstricks/pst-news21.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -2,7 +2,7 @@
 \RequirePackage{pdfmanagement-testphase}
 \DeclareDocumentMetadata{}
 \documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
-    headinclude=false,footinclude=false,twoside]{pst-doc}
+    headinclude=false,footinclude=false,twoside,usegeometry]{pst-doc}
     
 \usepackage{libertinus}
 \usepackage{hvlogos}
@@ -31,9 +31,11 @@
 The PDF file was created in a direkt way by Lua. If you want to try it, then look
 at \url{https://github.com/zauguin/luapstricks}.
 
+By default the dots are now taken from a Type1 version of the font file. For
+lualatex it uses the OpenType version.
 
+The dot part is now in an own file \texttt{pstricks-dots.tex}.
 
-
 %--------------------------------------------------------------------------------------
 \section{\texttt{pstricks.sty}}
 %--------------------------------------------------------------------------------------

Modified: trunk/Master/texmf-dist/dvips/pstricks/pst-dots.pro
===================================================================
--- trunk/Master/texmf-dist/dvips/pstricks/pst-dots.pro	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/dvips/pstricks/pst-dots.pro	2021-09-24 21:38:54 UTC (rev 60599)
@@ -16,158 +16,319 @@
 %% to add /Diamond, /SolidDiamond and /BoldDiamond
 %% Modified by Herbert Voss (hv) - 2008/04/17 
 %
-10 dict dup begin			% hold local
-  /FontType 3 def
-  /FontMatrix [.001 0 0 .001 0 0] def
-%  /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv
-  /FontBBox [-1000 -1000 1000 1000] def  % See end of file in /BuildGlyph
-  /Encoding 256 array def
-  0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef
-  Encoding				   % replace with given dot names
-    dup (b) 0 get /Bullet put		   % get the numerical position of b in ASCII
-%					   % and save /Bullet at this place in Encoding 
-    dup (c) 0 get /Circle put
-    dup (C) 0 get /BoldCircle put	% 67
-    dup (u) 0 get /SolidTriangle put
-    dup (t) 0 get /Triangle put
-    dup (T) 0 get /BoldTriangle put
-    dup (r) 0 get /SolidSquare put
-    dup (s) 0 get /Square put
-    dup (S) 0 get /BoldSquare put
-    dup (q) 0 get /SolidPentagon put
-    dup (p) 0 get /Pentagon put
-    dup (P) 0 get /BoldPentagon put
-%%%		  
-    dup (k) 0 get /Asterisk put
-    dup (K) 0 get /BoldAsterisk put
-    dup (J) 0 get /SolidAsterisk put
-    dup (h) 0 get /Hexagon put
-    dup (H) 0 get /BoldHexagon put
-    dup (G) 0 get /SolidHexagon put
-    dup (f) 0 get /Octogon put		% 2008-04-18 hv
-    dup (F) 0 get /BoldOctogon put	% 2008-04-18 hv
-    dup (g) 0 get /SolidOctogon put	% 2008-04-18 hv
-    dup (a) 0 get /Add put
-    dup (A) 0 get /BoldAdd put 		% 65
-    dup (x) 0 get /Mul put
-    dup (X) 0 get /BoldMul put
-    dup (m) 0 get /Oplus put
-    dup (M) 0 get /BOplus put
-    dup (e) 0 get /SolidOplus put
-    dup (n) 0 get /Otimes put
-    dup (N) 0 get /BOtimes put
-    dup (E) 0 get /SolidOtimes put
-    dup (i) 0 get /Bar put
-    dup (I) 0 get /BoldBar put
-    dup (l) 0 get /SolidDiamond put
-    dup (d) 0 get /Diamond put
-        (D) 0 get /BoldDiamond put
-%%%  
-/CharProcs 47 dict def
-CharProcs begin
-  /CirclePath {0 0 500 0 360 arc closepath} def
-  /Bullet {CirclePath fill} def
-  /Circle {CirclePath .9 .9 scale CirclePath eofill} def
-  /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def
-  /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def
-  /SolidTriangle {TrianglePath fill} def
-  /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def
-  /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def
-  /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def
-  /SolidSquare {SquarePath fill} def
-  /Square {SquarePath .89 .89 scale SquarePath eofill} def
-  /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def
-  /PentagonPath {
-    -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto
-    0 574.7 lineto -546.6 177.6 lineto closepath
-  } def
-  /SolidPentagon {PentagonPath fill} def
-  /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def
-  /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def
-%-------------- hv begin 2004/07/25   from: er 2003/03/24
-  /HexagonPath {
-    0 550 moveto -476 275 lineto -476 -275 lineto
-    0 -550 lineto 476 -275 lineto 476 275 lineto closepath
-  } def
-  /SolidHexagon {HexagonPath fill} def
-  /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def
-  /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def
-%					2008-04-18 hv
-  /OctogonPath { 
-     550 dup 22.5 tan mul dup neg dup add /xMove exch def 
-     exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def 
-  /SolidOctogon { OctogonPath fill                             } def
-  /Octogon {      OctogonPath .89 .89 scale OctogonPath eofill } def
-  /BoldOctogon {  OctogonPath .79 .79 scale OctogonPath eofill } def
-%
-  /AsteriskPath {
-    20 0 moveto 10 250 180 500 0 500 curveto
-    -180 500 -10 250 -20 0 curveto closepath
-  } def
-  /Asterisk {
-    AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath
-    60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill
-  } def
-%
-  /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def
-  /BoldAsteriskPath {
-    50 30 cos 100 mul moveto  Basterp
-    60 rotate Basterp 60 rotate Basterp
-    60 rotate Basterp 60 rotate Basterp
-    60 rotate Basterp closepath
-  } def
-  /BoldAsterisk {BoldAsteriskPath fill} def
-  /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def
-  /CrossPath {
-    40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto
-    -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto 
-    40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath
-  } def
-  /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto
-    -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto 
-    80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath
-  } def
-  /Add {CrossPath fill} def
-  /Mul {45 rotate CrossPath fill} def
-  /BoldAdd {BoldCrossPath fill} def
-  /BoldMul {45 rotate BoldCrossPath fill} def
-  /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def 
-  /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def 
-  /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def 
-  /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def 
-  /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def 
-  /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def 
-  /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def
-  /Bar {BarPath fill} def
-  /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def
-  /BoldBar {BoldBarPath fill} def
-  /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def
-  /SolidDiamond {DiamondPath fill} def
-  /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def
-  /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def
-%%%
-  /.notdef { } def
+12 dict dup dup begin
+/FontType 1 def
+/FontName /PSTricksDotFont def
+/FontInfo 9 dict dup begin
+/version (001.000) def
+/Notice (Timothy Van Zandt <tvz at Princeton.EDU>
+
+This program can be redistributed and/or modified under the terms
+of the LaTeX Project Public License Distributed from CTAN archives
+in directory macros/latex/base/lppl.txt.
+
+Modified by Etienne Riga  - Dec. 16, 1999
+Modified by Etienne Riga  - 2005/01/01 (er) to add /Diamond, /SolidDiamond and /BoldDiamond
+Modified by Herbert Voss (hv) - 2008/04/17 
+Converted to OpenType by Marcel Krueger 2021
+) def
+/FullName (PSTricks Dots) def
+/FamilyName (PSTricksDotFont) def
+/Weight (Regular) def
+/FSType 0 def
+end def
+/PaintType 0 def
+/FontMatrix [0.001 0 0 0.001 0 0] def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put } for
+dup 65 /BoldAdd put
+dup 67 /BoldCircle put	% 67
+dup 68 /BoldDiamond put
+dup 69 /SolidOtimes put
+dup 70 /BoldOctogon put
+dup 71 /SolidHexagon put
+dup 72 /BoldHexagon put
+dup 73 /BoldBar put
+dup 74 /SolidAsterisk put
+dup 75 /BoldAsterisk put
+dup 77 /BOplus put
+dup 78 /BOtimes put
+dup 80 /BoldPentagon put
+dup 83 /BoldSquare put
+dup 84 /BoldTriangle put
+dup 88 /BoldMul put
+dup 97 /Add put
+dup 98 /Bullet put
+dup 99 /Circle put
+dup 100 /Diamond put
+dup 101 /SolidOplus put
+dup 102 /Octogon put
+dup 103 /SolidOctogon put
+dup 104 /Hexagon put
+dup 105 /Bar put
+dup 107 /Asterisk put
+dup 108 /SolidDiamond put
+dup 109 /Oplus put
+dup 110 /Otimes put
+dup 112 /Pentagon put
+dup 113 /SolidPentagon put
+dup 114 /SolidSquare put
+dup 115 /Square put
+dup 116 /Triangle put
+dup 117 /SolidTriangle put
+dup 120 /Mul put
+readonly def
+/FontBBox {-572 -743 572 743} def
 end
+currentfile eexec BAB431EA06BB0A1031E1AA11919E714AC69FC5B91315E2
+3949B468EA8965C09E14B93FD8F0A9A9B4A0240775693C371C9F5E8CFB4752C5
+B8C3907EB8B475C65DEE88EC0510BC599D0660C41C842A3CCA793376ECDB36BF
+799EB8631B5A08846013BAF4256252AF16B24E3BEE4C45F8AE9AEC40351B49C3
+CC0B1DFA717674CDC7A3BEA5CE689121348DBBD82720A92C2D68DB27F03F105D
+87587E74605E01EDE24B0539FAACD5311070E7BE0BDC57182DA408ED060B7B6B
+964AE3EED6C8F348F298B28987B635D1332B77CC33F0B6BF682193B93CE93416
+64F638070894F299603700A95B876A3FE5CEFD5BD19928E5DB60E0FB25969A26
+05A6651F04B60470D0CE8E37C50EF9350CE0A4EA9F5251F0E9A1B7ACEAE4DFF7
+40578E61DA30D0C9067954E23DA81539D0601CCB3FB78040200CE8A1B1E2B4BE
+E6BA8FC9121F04EB916D5F9D98C77AE10A51F451B440230C23077251E29FC6E4
+2844FC17F11EE282266DEC3A15C96832E595773ADA1A48330AEE455DC4A2805A
+C7C7CA085D16113F30AF3EFCFFE079C45CB512DBF81EBD6137314545CA6CE891
+19B42A3518E28989CA7DB1DB6F28ED3CB0E9F227A023660A46D14CF05E197E23
+3015D9046635F59924C00F5EBC3561132B94C23E91D3AA1EB997B9F486C8793C
+E2B8B9224C2C13AEE4AF9AA6E2FF96FFE84223ED1A902C38AD739E0C863A3A37
+0482E2F28EB620257113D8EFBE63FCCD181158CC92CFA474170798746B73808F
+8D4CB2A16B5BED0ACE4673AACD1484A8CF1F437F58D478A2CFBDA394851AE87F
+E8E488302B346131EE903FFF22B882624BD2EF1381761C1FE4BAD1E701CA9C4F
+F34AC1E9F9EC27E673FA78703FFB2432FDCD62AE52DE02D55580636F347297C4
+A74D04EB5FF11D31D3D04EB580E6C54F88A817049249B0749FAEBF78C4A3CE4A
+3F375E7C57D35D8CCA7810BFC7C0F4D4F14F8A29EF000D2BA97AAB26D48D50D7
+CFA8E3586105575D14DD80F3D2022373F802C98A78E465F7688C9952848876D4
+D7BECAD0FAFBA4674944BEAFA75ED8A87873439FDA03B482FF60B84007FCA6C0
+1A04B7C8BF346E30BB6D838EA08FAFF3A3D331527459C665264B9E07A7262419
+E0AF9F0AB9897891BF0CB656FE222587FC8890C3FF9D848ED557732CBD2865E0
+F4838A6C6E5D794F7781359855ABBD8B2BA63EF2190D930D20C74E9088BBB9BA
+62865A174D03BF90A0959079C28DA220598AD0A960C66697A49513D3F152C306
+0A9E3133F750EFCDD43E34492A65321EE3B08F904968BB642D3E46DFAF2697CF
+52589695642631DEAC79C3B4DD9DE61885901D9465B538643F60FC1B46D83DC4
+2D6AB7AEF088D43531C4CB5957A74FCEA04E4BB05B5AF68BCF316C62F7A26CB7
+88C6CCFC7859DB9915626FEE3C95F6FA3777B3F6ACE5271BF3309B0A41AF9853
+5866F4EBABF5CBFA2D3F411BFB2C3B66962102B183B281FABFF17CBE2A744CE6
+A8CB6E1B3D624A68104A7E43F20483622B9C93D8803D71C5ABD930DA44DD6177
+F6F411619A130954C54D3BDC24E66A4EE2B3F6C7EA40167FF6E21CA13DF3E903
+3E88F8F46C5CDB75E816EA0235669625A772779079CABC8DA76AFBBBC1C15EF3
+5695EB0FD46E34C3FE121CC29F7FDA3384B0F1292087CBCB9CBD7B2377AC0F76
+5BE0CD3485F2FCD3C6C0012125C273B48900E5200008B21F6DB9F4D4E8027E7B
+34265E1FFBC9666A2678CEBA46AE908BDADA630B135683D4F66934702F939912
+EDFF3EE524B38F25A0E12239EA471DC4A90814D38747EEF125FA30BBA9998119
+A1499E6E6BC26ED39814B64D04D500C2E14A062125A7E4AE9985BEDB6C4A800B
+D37D8F13274B28F86D73600A165214E1A8F0F787C92B3ACFC274A34EE064732B
+BAB298F0DD452B3DA4E230624FA5296C7ED8A464C5E7D31E0A9C88FD767D4C6F
+E2348CE16CAAE803DBA21AF5B8A44ED8B92ADB9C07D422878C63EA6163DFFA5B
+FD8AD97240D760FB6667DF08A0F16FB66B2934E64A39C0D82535FC1ABC3C28F6
+DD83851928AE495312AFE7F0B7C3D0990D7725B54B0D8644C01CF2BD29340E92
+FDCC5D221298669CBD1F842A1BF45D59D4BCC425E3D7FECB69AEF5FF54E86B80
+A6011AA0ACD1D286F7BD2CC6F995355E214BEA9DA0696F3D436BAB29C2328173
+4661158DBB87A777A8C0FECA5B1DEC07197BADE6B65EBC7152E119BD58204353
+4C4793FA4566107EFFF912A0E03255C11824CD079923F7296DB156A8C9134BF4
+E573795C7C720A3CDBFF693602A141D436B2F7495B01F6FBA43ED1CB444AEAD2
+400638034AA4D95EF5849E61EF2068A4848A27FA16EC8931456000E61E1181BF
+545AD271F9D10C60C6AE8616B12998B08270B9E29464DE2725F61EC431C7023D
+FB012FFB2DB2EAA1C61C06519BCD8114331FF644B79E9E96E21720B38098D513
+59BF4CA62716A9289C555C1B5C05D68F762B5B2E0B9BE7F67D9EFB20B8A0A898
+4DE73C07853DAD10A8805E5844A36027E2AECF4F10CA66BFAFEC17DD1CC93373
+547071168AF5018B0B6A40E606207ECFE146DE6F8881F969E06207A973DF290D
+29E325B6D59F363A5F4105AFDDF24CD4FABAE1B5E784638F3EB2E67C88879F69
+00101C3F6DF95D7F81E6E3FE732DCC175F1FEE41D87120F52AB5EA54FD2E1666
+CFA5D665F9B97531D74B56CEB8A9E1417A58C1790ABEB68F2F1B49EEB34D24B2
+855294A892EC5C92D090BB460AD8844E85E25094B7CE117F343A856F27CEEB36
+1CC7AC29D4048E6ACC5947AE7FB937807AC29E65353D20A57E461AC33EEBC75C
+24068278B586B33A5E534B1A9ABAAFF492250074EA4CF3EF0818D8F0BA0C7428
+40BF46DFCC9711A0420413D0667C7361C8ED428BC510616C34AB28BCC9ABA6F2
+43F08A2FCCFC5D1BAA77AE90BF0E296E2C3A99268D7906AE12CDCEA5CE8B5FC9
+5A75526CC0B72C7E122C2ED67153BC9AE380DF04FE51E7B0C5AE4363D95DC730
+AD0EF34542C179668A9D5807AA22256ADED921E8711E673C67CB5086D7563C98
+2A6C681813E07A8E7440FE562EEF08661E1D9CB5761595B515DEC347F0DC84AA
+1B3C272792F2D9B4B11C5EA50F7584C7D931BF5BA1A39F635C87CEC31BD22D64
+10F7855D66EC86193FFA19ADD7880BCE5588D2322071D443F47D6B4F3F66CE68
+4B87D99A5A0D375535D153353DA6E154FF78F458A671CBE1E7136C16435BF244
+6E60705C79C82EB5D40934AD496FB08999EFC6E52E56C0106E39603F25D3B946
+A7850B4A4EF56B1E5CA32021F191236EA0FB315DC37D708115765F85B668D051
+D49167E374DFA9078D128E745F1583EF885F6614D0D1CE1F3F27571B5C68451F
+38BDD4758A54A3C6F8ADB3DC20CE95DA5B22C77227CD8EA53C51A643250FA288
+4DA7B6F3D93EA1C82B6639B6090352F6E4ACD6A478701D88F8591F71ECB15CEC
+FE6FA0C4C049FE9F04612DEB944271F1EA167B2103D69C11E5B6C66CB8C859FE
+8DBF7D2E4B26FDE68CFE085B61212906AB7B4E4DC2FB44E8B035DC6938B09632
+5C2AFE3B1742756E1DDE8E2D16D957B07713C650928ABFD08BB5BA216086D699
+797884E3D06F0096BDE68F929F9FCC4E5819320BF62AA75686A8EF7A11B33281
+2477A82B9B0D3B71E8AD3CD41388A69C33B7A4482BF2345419DA669BB7544636
+CEF7C14F8C55620724B05B7EDA33584D9CA46B697EFE6CF01B6152DAF28F42CD
+DFABA3788B04D5A3AF493625E3387AFCAFE7EFDC62F4A31CA69E7563ECC5F919
+91763C850EE7F7B6A979DB2955BA8E4BCA4039D2F083DB3B256F68BB34624CDE
+2A745010D76C85300691A0DABBE33109721FAFF7C9BF7D9B2E0F1F9CF5C76676
+02A9C95488976ED8956EC9C1B9A9F3CE3B0F7E2DF387DF831C855D9E21908376
+BCEFB52FFBA0AD0F9B56CE4043643BC582750110B16399281C79183A8D693AD8
+A961C6DE94A882D27A0D9806A5D0ACFC29180CC21E375BA98DAA4C6043EC4532
+937C4870CB65365D2CF81C66A72841E189EE4BC12F8882AF0652D0EE3DA63D1F
+010248A498F3809036D1FBB712F2D78CE71E0C9AA2BB3A55094E4FAAB574A474
+5B153A3D4AD4ED347819033CD288FAD39E440D2FA03630F9529E50BF1E6A51CB
+309A34CCCEAEE87C8B3DFDFB81A9B3F0D36DCA6AC69588F51F29BB83015E3244
+5C666CC22DC85F7A86FD1D0311A8D8D1F399F87B2859E66C9432E8C14E04585C
+A01642BEEAAA975AE4D7977D40FBC85D4B8F40646721A9F38E916C226EB2C045
+04EEB6027C835EC0F0F8091EA0250404BE75563D44B40A5D67C1A122E9E9DF7A
+5692F8902FDAEED37EB2C430AD36E021CF56CA560B77137710090D8685624CAD
+9E6BFDF5BB2FF6147A65F164ED0490E1126D67FE1A93D5E77275FA925CE8666B
+E8FF666F97E3101881467A955FDC9864C9B85E943918D4C22F84391D35DBBD14
+2EE39F130DB83BA304C931113287A3F7CA042128135D9AF672319B1C3C1FBD59
+80BE72F051D6A6FC34174C461A77F000F446E594CE046052A571505F0E4922EF
+04A8185830D6D47E006F893973CE8740FC82F77CCD5B2CEF7DBAA9D2A0EFBFA3
+2B0A73412A362977B01FCDC95FC8E0B920D884FF7E40FE9AFDB683776B95487B
+F096B4BBBA2BED724ECE2CD766C8D83E28FD65924942AA4A3064AC3D5A322D86
+3A4D41DBC2F5C6E21C2184CEECE1101A10F8290CBF0D4116EA1C1DB8988785FF
+E50B066A4C21E99AA660872A5EEAC307C7794B303EE066C57594AE2389DBEA5E
+85CDD9D314CF686811C2022E8E0EBBA0B699EB0405FD2426EA4D698CB4757B6C
+53E65BB5D42C65C7A9DA515DA23CB3834C89F769154447BE2D92229016235658
+4F40E982A14EB4E6BACC81313C8E0A74A19FD184B1364CA275FC6A62A8709428
+BA35305F02331212B45B9268D582A8B638B430BD0A51C607D4C4FD862F0E591C
+1A1273650BBE5DA16CE10C98F5209A7C998877BE8F57DEB4D9AA46CC2EF71588
+0EDBD79F25594D516AD74C54762FD393D4810EBC8AAF10F821DCFE8D503B37D5
+6AF14F0FA57DA3A3365EF38470C1F0BCD693378BA20DF34D263165841DF96F90
+32FCB81A44BAF77D3C294697CC8CC971B555F94E768A275A154D63E71A1D6C67
+CFDC729E86FB9315B9234D2AB1D6529BFD0D4C852C5438D368B350D8420DCD34
+4A164EAC0AE99AC9A2D07A1F77D2E68255EC3F7448F10DABF969653D21590661
+2B1DE5DF11BEFA41CECFB00C9A6A7AE3808009E41E2B933C6AA50E1E9BC8AE00
+651C8AEFC9FCE6E647FB5D6032000CF87663510D97C12386227E58DD71FD4228
+A070BE013F86155C46C8F96D3CF1DE07D60DA3D0E05C3B4A6B5FBAD168B06A50
+30738754199245C8AF782F76C58A8F638A2D85CC51309C866729297E3CFC075D
+6F9ABB484C5D1D307E06D6ADEFC769E5F51E389520288843F373B71B233E8B96
+E59A7053D1D7E17972EDFCBD700A001EBE7759818EECC03353EB0B990EE6DA34
+8C65B5092EF565AE325B00DFA892FF2E7217990F6020AEB57974D38E31F97183
+FFB436B7DD8C18A80EB7D43D1EFB9A8D3EA99E77F65AD1443AB10857C44B7AB8
+2EB0BE22CE0CDDE525B9DE03251E192A3B436C3907AC59EA40BBB63A5A7DC56B
+DF08035260ADE398AD7ED78F895AE0CE0ADC74F4BCF4FD9ABEEBE132A537D788
+B884084A69BEAD6791D7458A0BC58635A1576F368FA8D2D99DCB6C31BE97F432
+5FF313DDA4B7411296716D32049D31F8E85C7D4B4DAE656AEFF8B7B8C1053A57
+F13B93F29800E250C98BA58B6061AE740762F9202122F156852A326C13F3675A
+4FE680CB4FD1B94C875840A97F2D14D6C1EFD4D4C37F39752572225377072C53
+6854A002922441AF733B6F90EFF39E37E1605AC5A3F4B45F66DFC2357B57CF40
+263D66A21EE0F0C1D1A0E4BA12454F9A252CAF55B46F5A907DF9D94650DA1D5C
+4CBE7E65DE6BC996F52CEC6A02D4D987D99F7B66A1C786E9463A5628A50F5163
+02A7F1CDDA1FB3337774AD640B02D504018E7C11267BEB7F51B8AC2FB3326EB5
+1EF125B3AA855B3AF7891595077B9FD5960896A022BC3CB4F97F4CC175F09B81
+128452C576CB26479E769DE0B75150360EF0C2AD3530A8A3B0C61005BD13EBB8
+4F6A707A8D1565529BC1ABE78FBFBEBAB170ECD6908CCD31FA33368E485DCBF5
+24DAC34619A38FBDA43C886FC6B4D58C7349C6D577D3AB8DF830F3DC3E06BE4F
+8D1283533AE54551513735E278DC928869953AE85693870179055B8D953A8062
+0339D4FC9D3DCE68C408FBDE261FAC68438ACFFC7E0F12168B91ECF56ADEEF93
+FF6A2D2AE5D35CB0B49BCDED51EF5B16B6A7364D38592BE0EC092C66309F6D0E
+E9E73D7AC69A9F9F8C83B5D7352E92D27751D149F552DF5ED5825A79507C5C8A
+725E19E744631C96C74EC15829092BE11AB890C9AFBFF608B4F3B5FB42B29F1B
+DA5436480A26657A2EBA297FD9933FC6B0071E62551C1A6398F82B097726E06F
+4EAC8ECD5C4B316AF63B64A131F3EDFC50F1141E56EE81CB44A03B0CE8B6CC4C
+B9E6DF9F47E957E47D4C5C51508C0825537EADCE33E9C3432AA0C0E7890FCFAA
+54E1D95E922165EAECC89E7E18A7E36A269D68D918B4E64246066C88F009D478
+D17DEAD4CE93F288531DA3CDD4F0B040CC82544B95E6EA26F002357CCF6E3D7D
+F52FF5C84DB56CAE8F64D9DE498A54C28558E34F2EBCB8CD3F3F2AB2531D3D74
+6A1DC97F93E312DC04158ABA06E9E55BE5A8DE5E0F3D8087188C8055B4C6B7F1
+AC373AB1563F756E269BF3D90BDFB9EF3E62E610906E1928A4FF14665EC4DF2F
+1703DEDC813E3BD7EFC9CDAD47E0DAF19D2C0701F2C027AE2986BE7715E0B0F4
+15D4501FC252AB0608A9BF79FC085AE7F9340C073817296A900E1AB7033D4FD5
+21AB67D4AD5E29DC4F20283A7864A4D6CA60908CE2D544E7C3C894A5635FDB42
+989443A0DB0AC9281BA74DD27B1B573911DF90AE01984A865A3DB95125594779
+C77DFFEB5699712598DD86F94CD032D14E0B71A92890D3EDE1443A3E30968AC6
+33A004ACE18A56520853F64A4244C7B479530A8C5D18E47B38D67BB508A58710
+6B5753081BF59EDC0793542987F1BC26553DC19CFC6EF456DA872DEAA95884C5
+D4D8E503E6BFCF252AA8E144F2A24F21A08CBD05C4F65C9A9636B102ED4ED535
+2A3C0A4FF4A039C3ED2C9E00C3E680C4A8FCFFBD90E871E5075FEB7661340E96
+44DDBD719F2D4DD690457568802749D1E6A1EB15F64A85414B1680BCE311E8AC
+1C08758B6453DD440D8A9816EDEA14E09224144E91276B842280E04A0BBA4E68
+CEC5A9603A7F56551C2B11DADF1F4810C734BDEAE930B5DE4556DA67981B820B
+CD2BC5A0FB8D8790D2666E0AE5558B1D2200534E83F7851F3D9482A2E8908F92
+3BA87358A66968605B3D53DA4AB1D93389BB689B0822526D9F240952001DD054
+09B9BE40559FA3FA4F216F022D50C408ACB34021AAE5F2B257DEF13A25F02701
+234CA72E44287FA9D88D7EF4F768C35A65CDA6B411323A501BF3848AFE448DAC
+2240C6CDB5208EB259D89A8F1BE43B39F911F55D88B5822E443C898E7ABC7EF5
+B3953C2EC6DDAF174DCED0BF9353A2713774A8DF9A9091AA553D30361C9EA580
+56F4993B29EDF2D3F3F1D6DBDB31728A84CB10019CE7407FE4201FC9A9D70F9E
+8FF56B5CE83D2810A507AE941431A5D9B513A6F55FDD452D6309492C76D9C5C6
+DD9D8F6CCD27BD71AFFF7FCE5D34DC355A066BCC3C9282EC971521260CF0E12E
+936517B05ED0108AC13A671654A2EFD5FB71109B16B3B4274BCE4EBD624F288D
+9E90D28D18D27FE4628444E76D3EEA619AE9476D181B4AC774AA62BC6D8AE5F0
+84F90982D5EE1D24AFB37703671B2493AFFA4C51245086BE865627AE7D0E7759
+179D509827104F840BD2C720F35D46D9C8338C0F8C03ECAC14E9BF044A04A96E
+177D1C5CE74D34AFF22F3937F05A1B54F46CE9C5F2D60907DB971F5B2F8E5B9D
+3ABA4ABA144209E6845B85A64F3A97CDC9B6AA5BD9E68F726F511255CDD9394C
+0A0332C27139192F0C5D79668CA0CC0CBBB14E4CDD707F11F048CD6E0756D90A
+F2EFCD882A296CF97148364A31FE8D7B5250C8BBC7E9F39EFC55B4662EC31535
+416F2F90DDAC955FBB297FD4829BB73079FA91012386544B98E65BABA975C754
+36B64848E3903D03C59BE0DB94E12E600E82A72EDCDEB4AB2260EE95F46568EB
+D0A7002D21C9BAE538CF8A347A2751868343EE4FB3730984335FB2B5B88DFEE9
+66A8062C26E4B834F568CA6164D6FE9AEB126502B943DD390A50B93D1CDABCD3
+C96FACE03115D56C6BE19F06CF7DDC375238E238B448D27D64FA49ADCC0A5B24
+AEF014B5D48F6CC493AD69E74DF47FEA376C6EF4B14C2FB71ED0F42E09F1651C
+EAEE97341F26A6591B83FE723C448AA04AE504D6C34BCAECD27DE4B247678C7E
+C51DBF53850EE7E615C7A01BC705F714B7B0C80B7AB79C42C24C036C6718E5A3
+6E1475F07D9F7035866A73B4D0A67807A03FB61352F73A349AFFE3CCF566F457
+6A62FA32004F3FE6A15E7B25C6E9AB2D1DBC9964E6903AEB408F09A0427933F3
+4E92753419A9FE79513A2E39FAA295A92292D521E3A95FBBB77AD659D4E03D2B
+39EE02738A10059514A8B51A35D3302C25891B90F74EBDB362E1017C676F0A0A
+9CB67C9794A27FC7F0ACD189AE59C8A75A5E9BED84A5FB6EE5DC1F74A620E559
+51D8C5CDDC4B37CAE2AF70C48B6C306BE826EBE8D22DF714D1F2FCA10369A266
+F5DA86D65F730262B0035E5FF68817C93CE0FBBC201B593D955E40C99E235D45
+7F70F497A8A11748AAA70FEA09AD8F5BD1A01E06D56BB6059DBEF8AC8AC5FB0C
+59B5CA3C447022EA6AE6F928DA7C9A6A1F322C5D53CE905829C41408CF7449C2
+69FF41A9B83869D7F230C78871C22933C991EAE40EBC97D8DB082B20E4895E49
+6D6EE9D22FD9B395CA79073C08C0053E3C26124538544D9C68717076746A8D72
+7DC34AE353D29983338A2D1998A0D62BFC296E433A8E48CA90B999B298609587
+1164C2A65BC00D0F124A8EACCCCDA7A7F65D5AA4DBF70A273B6CB918B00F6ECC
+0131BA9461BFC53357E09E0A3C615E79A26261D83F71B944DAAAE74A4B7484AB
+D22B4BB40D4E9038E721EFB5F672796A3C961C298B29ED896A27E389D134C21E
+7BED9DBB0FBB3AE2ED4A661992BCC8E4976F842785431AAD804360FBE8A134E4
+3CA9D26F8571E18D0F27F70ECAF659A99FB7955E0F4D8690447CA37F42A05D15
+E1D6559A1C95CA424A643DD58D0416A374091D94CD7A48859EEB4A461A6A436F
+D07DD5A94E7D5B033D2AD99FDA4E7373A1D6CFD11DE94DF6537F25F5CFA1428F
+9A126E21D819AE1A044510186FC8A9D51C20D922F3279A85E31C1F34B6B240C3
+000775B140120C6E697D7BC14AE22F87EC6885C3CA40E718BAD7688C8A0B3E9F
+49652FE7D0DE406B2EB70F039AA8B10C7601C4929B2971A9A3CF98F52F9FE122
+CCD2D944BE6F68EF6F4F8EBEF51AEB1DFAC87C164F94B36511BF120D126D6824
+01736A019ABF0BA4355854251D381828F2D5C8460F3B066EEA447009C01DB22E
+33764CBBFDC5C74CB881098E7586725777144FC38DCBAB71413A26068EE3EC6E
+53300BA5BEDBE53E5FD61E6D2E390C7E1D82454093264E8A2013AA0C91058031
+B52A08D996CF2C82993DE9497AF91D4AF8C99E68577589F98564AB36FA448901
+E671920A8DEC9535AFA9038AA1D528C4B31ECC27A505A5B83E4ACA119C6D3BF7
+1AD9B21318030B2F1F69F132E3DBC5264A4AD516AD4736CED6E8CA4C3352C78B
+2B836CA994A67BD63576593FAE07433051723DE3A67FEAEDA3CF10F66F7DB936
+D96BD0A813A5C40B144EE897A5CC701B0297E190B6999EE9808A54F86AE2C05B
+0FC4056944066CDBADCE78A0524D6F190B155120749CA84957FEBF447B748BC6
+27B3AEE460D4D5FCF042B7CCF4A4DC92110AC09B16669CBFA4CDA713606FC086
+97E8EF90EF2BFC8BF6C811FBEA5163C68B95C0B65EA87B9D12942EA0DE78FCCE
+9DD86341497DF3F0CD388BB386658FB6D774A46E9857E0091F3B2C6E016BC24D
+037FADA56418D223E672609C891E32E96BAEB77C7C568F26FE03B720F5F2D875
+9F1C5BF185C4B1DB2E6BBA48F4BD5F6457D92B701E7DCDF0ABE154A9CDE3BC17
+8F1F1CF521081036019C20E3A8AA6958D08C3EA3275CCE2F96F0FDACCB50ACB9
+37204C55EC41CEDA3AF577FB778E606C7C2EE814E8D3E1C250DE4D3E587AFDFF
+A1266218FC1D9A386D00BE86EB2433531F5A978031775862254994315B01C937
+CCAF1C5DD69F96F5D64DD288087639B02BDD29F9B96C5B4F525DDABE245371DD
+4717AC198F6477E1A2E6CA5CC2AC20FC94314212F5146721FF639C6CEB6936DA
+A7ABE5348153D0DBEC6F96F61B6B7E53DD82107EB85F5D2FD094D82F4F446CEE
+B64340FCE74AD83B2082952ECA69C53ED64B6F03FE3F54695FEEB8EE1D61C6DF
+87F7214F97C165F4962E5B78500E7F4E684AD4F4F575F06FB275D449BAB97B06
+BBC205D8FFE660C682A8CED9E1F7907214AB2E6BC7C830885EA32605B069ACE8
+66EBFA95DA16774EDDCA73685D1B145770BABEBCFB3989284B27B7E698E12064
+147A2EF3F2883F85C9C0E927DAFFBC9450E1B6E918726DD37B5CDA55E6D0D8A5
+C3B5ED376F4772DF45D45C4CF18BEB4811CF1B9B3D920BA4A98A80F8DABC91BA
+362EA6A74FA33DDF518B09564FED9F04D4312CD988EBA55DFD3145438A223943
+488699B3D16846B51F2BB650790EB63BB9ABB2B3EE27C62B1B01FBA662B70542
+DBB61743DC569337082176ECBAD417354A5F900EA0BB5479162ED7ECCCD71AE8
+3B3EE296F3D14D289B
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+/PSTricksDotFont exch definefont
 %
-/BuildGlyph {
-  exch
-  begin 		
-%  Metrics 1 index get exec 0
-    0 0
-%      BBoxes 3 index get exec
-    -1000 -1000 1000 1000
-%     -571.5 -742.5 571.5 742.5
-    setcachedevice
-    CharProcs begin load exec end
-  end
-} def
-%
-/BuildChar {
-  1 index /Encoding get exch get
-  1 index /BuildGlyph get exec
-} bind def
-%
-end
-/PSTricksDotFont exch definefont pop
-%
 %% end
\ No newline at end of file

Modified: trunk/Master/texmf-dist/dvips/pstricks/pstricks.pro
===================================================================
--- trunk/Master/texmf-dist/dvips/pstricks/pstricks.pro	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/dvips/pstricks/pstricks.pro	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-% $Id: pstricks.pro 217 2021-09-10 13:50:31Z herbert $
+% $Id: pstricks.pro 256 2021-09-22 18:42:59Z herbert $
 %
 %% PostScript prologue for pstricks.tex.
 %% Version 1.39, 2021/09/10
@@ -129,6 +129,7 @@
 /PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def
 %
 /PathLength { 
+  10 dict begin
   flattenpath /z 0 def 
   { /y1 ED /x1 ED /y2 y1 def /x2 x1 def }
   { /y ED /x ED PathLength@ } 
@@ -136,6 +137,7 @@
   { /y y2 def /x x2 def PathLength@ }
   /pathforall load stopped { pop pop pop pop } if 
   z 
+  end
 } def
 %
 /STP { .996264 dup scale } def			% BP/PT scaling
@@ -260,8 +262,7 @@
   clipType   % must be defined in pstricks.tex: clip -- eoclip 
   newpath 
   2 setlinecap 
-  systemdict
-  /setstrokeadjust known { true setstrokeadjust } if 
+  systemdict /setstrokeadjust known { true setstrokeadjust } if 
   x2 x1 sub 1 add { 
     x1 a mul y1 moveto 0 y2 rlineto stroke 
     /x1 x1 1 add 
@@ -1254,8 +1255,8 @@
 /RotBegin { 
   tx at Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if 
   /TMatrix [ TMatrix CM ] cvx def 
-  /a ED 
-  a Rot /RAngle [ RAngle dup a add ] cvx def 
+  /RotAngle ED 
+  RotAngle Rot /RAngle [ RAngle dup RotAngle add ] cvx def 
 } def
 %
 /RotEnd { 

Modified: trunk/Master/texmf-dist/tex/generic/pstricks/config/distiller.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pstricks/config/distiller.cfg	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/generic/pstricks/config/distiller.cfg	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-% $Id: distiller.cfg 4 2020-06-09 08:32:19Z herbert $
+% $Id: distiller.cfg 446 2017-04-19 11:40:55Z herbert $
 %% BEGIN: distiller.con (for distiller driver)
 %%
 %% Configuration file for PSTricks

Modified: trunk/Master/texmf-dist/tex/generic/pstricks/config/dvips.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pstricks/config/dvips.cfg	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/generic/pstricks/config/dvips.cfg	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-% $Id: dvips.cfg 4 2020-06-09 08:32:19Z herbert $
+% $Id: dvips.cfg 797 2018-08-23 18:33:16Z herbert $
 %% BEGIN: pstricks.con (for dvips driver)
 %%
 %% Configuration file for PSTricks

Modified: trunk/Master/texmf-dist/tex/generic/pstricks/config/dvipsone.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pstricks/config/dvipsone.cfg	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/generic/pstricks/config/dvipsone.cfg	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-% $Id: dvipsone.cfg 4 2020-06-09 08:32:19Z herbert $
+% $Id: dvipsone.cfg 446 2017-04-19 11:40:55Z herbert $
 %% BEGIN pstricks.con (for DVIPSONE driver)
 %%
 %% Configuration file for PSTricks 97: must be renamed `pstricks.con'

Modified: trunk/Master/texmf-dist/tex/generic/pstricks/config/gastex.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pstricks/config/gastex.cfg	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/generic/pstricks/config/gastex.cfg	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-% $Id: gastex.cfg 4 2020-06-09 08:32:19Z herbert $
+% $Id: gastex.cfg 446 2017-04-19 11:40:55Z herbert $
 %% BEGIN: pstricks.con (for xdvipdfmx driver)
 %%
 %% Configuration file for PSTricks

Modified: trunk/Master/texmf-dist/tex/generic/pstricks/config/textures.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pstricks/config/textures.cfg	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/generic/pstricks/config/textures.cfg	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-% $Id: textures.cfg 4 2020-06-09 08:32:19Z herbert $
+% $Id: textures.cfg 446 2017-04-19 11:40:55Z herbert $
 %% BEGIN pstricks.con (for Textures 1.7 and 1.8 driver)
 %%
 %% Configuration file for PSTricks 97: must be renamed `pstricks.con'

Modified: trunk/Master/texmf-dist/tex/generic/pstricks/config/vtex.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pstricks/config/vtex.cfg	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/generic/pstricks/config/vtex.cfg	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-% $Id: vtex.cfg 4 2020-06-09 08:32:19Z herbert $
+% $Id: vtex.cfg 446 2017-04-19 11:40:55Z herbert $
 %% BEGIN: pstricks.con (for VTeX)
 %%
 %% Configuration file for PSTricks 97

Modified: trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-arrows.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-arrows.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-arrows.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pstricks-arrows.tex 164 2021-08-25 19:26:42Z herbert $
+%% $Id: pstricks-arrows.tex 168 2021-08-28 08:43:24Z herbert $
 %%
 %% This is file `pstricks-arrows.tex',
 %%
@@ -279,35 +279,18 @@
 \psset[pstricks]{filledveearrowlength=3mm} % default projected length
 \define at key[psset]{pstricks}{filledveearrowangle}[15]{\pst at getangle{#1}\psk at filledveearrowangle}
 \psset[pstricks]{filledveearrowangle=15} % default angle
-\define at key[psset]{pstricks}{filledveearrowlinewidth}[0.35mm]{\pst at getlength{#1}\psk at filledveearrowlinewidth}
-\psset[pstricks]{filledveearrowlinewidth=0.35mm} % default vee arrow line width
+\define at key[psset]{pstricks}{filledveearrowlinewidth}[0.8pt]{\pst at getlength{#1}\psk at filledveearrowlinewidth}
+\psset[pstricks]{filledveearrowlinewidth=\pslinewidth} % default vee arrow line width
 \define at key[psset]{pstricks}{arrowlinestyle}[solid]{%
   \@ifundefined{psls@#1}%
     {\@pstrickserr{Line style `#1' not defined}\@eha}%
     {\def\psarrowlinestyle{#1}}}
 \psset[pstricks]{arrowlinestyle=solid} % default
-\pst at def{VeeArrow}<%
-    1 setlinecap            % round caps
-    1 setlinejoin            % round join
-    setlinewidth            % vee arrow line width
-    /y ED                % projected length
-    2 div /a ED                % angle (divide by 2)
-    /t ED                % false = inside, true = outside
-    a sin a cos div y mul /x ED        % perpendicular length : x=tan(a).y
-    t { 1 -1 scale } if            % if outside : symmetry
-    x neg y moveto            % point #1
-    0 0 L                % point #2
-    x y L                % point #3
-    { closepath gsave fill grestore } if    % if filled : close and fill
-    \@nameuse{psls@\psarrowlinestyle}
-    \ps at check@tipcolor
-    stroke                % draw line
-    0 t { y 2 mul } { 0 } ifelse moveto>    % if outside : twice longer line
 
+\@namedef{psas@|}{\ps at check@tipcolor \psk at tbarsize \tx at Tbar}
+
 % VeeArrow : filled?   outside?   (total) angle   (projected) length   (arrow) line width
 
-\@namedef{psas@|}{\ps at check@tipcolor \psk at tbarsize \tx at Tbar}
-
 \@namedef{psas at v}{%
     \ps at check@tipcolor
   false false \psk at veearrowangle \psk at veearrowlength \psk at veearrowlinewidth \tx at VeeArrow}
@@ -315,12 +298,37 @@
     \ps at check@tipcolor
   false true \psk at veearrowangle \psk at veearrowlength \psk at veearrowlinewidth \tx at VeeArrow}
 \@namedef{psas at f}{%
-    \ps at check@tipcolor
+  \ps at check@tipcolor
   true false \psk at filledveearrowangle \psk at filledveearrowlength \psk at filledveearrowlinewidth \tx at VeeArrow}
 \@namedef{psas at F}{%
     \ps at check@tipcolor
   true true \psk at filledveearrowangle \psk at filledveearrowlength \psk at filledveearrowlinewidth \tx at VeeArrow}
 
+\pst at def{VeeArrow}<%
+    5 dict begin
+    \pst at arrowscale\space div SLW  % vee arrow line width
+    /y ED                      % projected length
+    2 div /a ED                % angle (divide by 2)
+    /t ED                      % false = inside, true = outside
+    a sin a cos div y mul /x ED        % perpendicular length : x=tan(a).y
+    /x2 x dup add def
+    t { 1 -1 scale } if        % if outside : symmetry
+%    newpath x2 neg y moveto 0 y neg rlineto x2 dup add  0 rlineto 0 y rlineto closepath clip % to get rid of linecap problem
+    newpath
+    x neg y moveto             % lower left
+    0 0 lineto                 % arrow tip
+    x y lineto                 % upper left
+    0 setlinecap               % round caps
+    2 setlinejoin              % round join
+    { closepath 0 setlinewidth gsave fill grestore } if    % if filled : close and fill
+    \@nameuse{psls@\psarrowlinestyle}
+    \ps at check@tipcolor
+    stroke                % draw line
+    0 t { y 2 mul } { 0 } ifelse moveto
+    end
+>    % if outside : twice longer line
+
+
 % And An another arrowhead
 % architectural tick / oblique arrow
 

Modified: trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-color.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-color.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-color.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pstricks-arrows.tex 168 2021-08-28 08:43:24Z herbert $
+%% $Id: pstricks-color.tex 260 2021-09-23 19:22:36Z herbert $
 %%
 %% This is file `pstricks-color.tex',
 %%

Added: trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-dots.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-dots.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-dots.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -0,0 +1,228 @@
+%% $Id: pstricks-dots.tex 262 2021-09-24 09:02:54Z herbert $
+%%
+%% This is file `pstricks-dots.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Herbert Voss <hvoss at tug.org>
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%%   `pstricks-dots' base code for dots 
+%%
+%% fileversion and filedate see main file pstricks.tex
+%%
+\define at key[psset]{pstricks}{dotsize}[2pt 2]{%
+  \pst at expandafter\pst at getdimnum{#1} 0 {} {}\@nil%
+  \edef\psk@@dotsize{\pst at number\pst at dimg}%
+  \let\psk@@@dotsize\pst at tempg%
+  \edef\psk at dotsize{ /DS \psk@@dotsize \psk@@@dotsize CLW mul add 2 div def }}
+\psset[pstricks]{dotsize=2pt 2}
+%
+\define at key[psset]{pstricks}{dotscale}[1]{%
+  \pst at getscale{#1}\psk at dotscale
+  \ifx\psk at dotscale\@empty
+    \def\psk at xdotscale{1 }%
+    \def\psk at ydotscale{1 }%
+  \else
+    \let\psk at xdotscale\pst at tempg
+    \let\psk at ydotscale\pst at temph
+  \fi}
+%
+\def\pst at Getangle#1#2{%
+  \pst at getangle{#1}\pst at tempg
+  \def\pst at temph{0. }%
+  \ifx\pst at tempg\pst at temph\def#2{}\else\edef#2{\pst at tempg\space rotate }\fi}
+%
+\define at key[psset]{pstricks}{dotangle}[0]{%
+  \pst at getangle{#1}\psk@@dotangle
+  \ifdim\psk@@dotangle\p@=\z@
+    \let\psk at dotangle\@empty
+  \else
+    \edef\psk at dotangle{\psk@@dotangle rotate }%
+  \fi}
+\psset[pstricks]{dotangle=0}
+%
+\def\pst at getdotsize{%
+\pst at dimg=\psk@@@dotsize\pslinewidth
+\advance\pst at dimg\psk@@dotsize\p@
+\pst at dimh=\psk at ydotscale\pst at dimg
+\pst at dimg=\psk at xdotscale\pst at dimg
+\divide\pst at dimh 2
+\divide\pst at dimg 2\relax}
+%
+\psset[pstricks]{dotscale=1}
+%
+\def\psdot{\pst at object{psdot}}
+\def\psdot at i{\@ifnextchar({\psdot at ii}{\psdot at ii(\z@,\z@)}}
+\def\psdot at ii(#1){%
+  \begin at SpecialObj%
+% hv modification 1.13 2005-11-28 
+  \solid at star%
+% hv modification end 
+  \pst@@getcoor{#1}%
+  \addto at pscode{
+    \psk at dotsize
+    \@nameuse{psds@\psk at dotstyle}
+    \tx at setStrokeTransparency
+    \pst at coor Dot}%
+  \end at SpecialObj}
+%
+\def\psdots{\pst at object{psdots}}
+\def\psdots at i{%
+  \begin at SpecialObj%
+  \pst at getcoors[\psdots at ii}
+\def\psdots at ii{%
+  \addto at pscode{ false \tx at NArray \psdots at iii }%
+  \end at SpecialObj}
+\def\psdots at iii{%
+  \psk at dotsize
+  \@nameuse{psds@\psk at dotstyle}
+  \tx at setStrokeTransparency
+  newpath
+  n { transform floor .5 add exch floor .5 add exch itransform Dot  } repeat }
+%
+% DG: dead code (to suppress until \psset[pstricks]{dotstyle) ? - Aug. 4, 1997
+\def\tx at SQ{SQ }
+\def\tx at ST{ST }
+\def\tx at SP{SP }
+%
+\def\pst at gdot#1{ /Dot { gsave T \psk at dotangle \psk at dotscale #1 grestore } def }
+%
+\@namedef{psds@*}{\pst at gdot{ 0 0 DS \tx at SD }}
+\@namedef{psds at o}{%
+  /r2 DS CLW sub def
+  \pst at gdot{ 0 0 DS \tx at SD \pst at usecolor\psfillcolor SLW 0 0 r2 \tx at SD }}
+\@namedef{psds at square*}{ /r1 DS .886 mul def \pst at gdot{r1 \tx at SQ }}
+\@namedef{psds at square}{%
+  /r1 DS .886 mul def /r2 r1 CLW sub def
+  \pst at gdot{r1 \tx at SQ \pst at usecolor\psfillcolor r2 \tx at SQ}}
+\@namedef{psds at triangle*}{%
+  /y1 DS .778 mul neg def /x1 y1 1.732 mul neg def
+  \pst at gdot{x1 y1 \tx at ST}}
+\@namedef{psds at triangle}{%
+  /y1 DS .778 mul neg def /x1 y1 1.732 mul neg def
+  /y2 y1 CLW add def /x2 y2 1.732 mul neg def
+  \pst at gdot{x1 y1 \tx at ST  x2 y2 \tx at ST}}
+\@namedef{psds at pentagon*}{%
+  /r1 DS 1.149 mul def
+  \pst at gdot{r1 \tx at SP}}
+\@namedef{psds at pentagon}{%
+  DS .93 mul dup 1.236 mul /r1 ED CLW sub 1.236 mul /r2 ED
+  \pst at gdot{r1 \tx at SP  r2 \tx at SP}}
+\@namedef{psds at +}{%
+  /DS DS 1.253 mul def
+  \pst at gdot{DS 0 moveto DS neg 0 L stroke 0 DS moveto 0 DS neg L stroke}}
+\@namedef{psds@|}{%
+  \psk at tbarsize CLW mul add 2 div /DS ED
+  \pst at gdot{0 DS moveto 0 DS neg L stroke}}
+% DG: end dead code?
+%
+\define at key[psset]{pstricks}{dotstyle}[*]{%
+  \@ifundefined{psds@#1}%
+    {\@pstrickserr{Dot style `#1' not defined}\@eha}%
+    {\edef\psk at dotstyle{#1}}}
+%
+\psset[pstricks]{dotstyle=*}
+%
+\def\tx at FontDot{FontDot }
+
+\def\newpsfontdot#1[#2]#3#4{%
+  \@namedef{psds@#1}{%
+    /#3 \psk@@dotangle [#2] \tx at FontDot
+    /Dot { moveto gsave \psk at dotscale #4 show grestore } bind def 
+}}
+\def\newpsfontdotH#1[#2]#3#4#5{%	for filled objects
+  \@namedef{psds@#1}{%
+    /#3 \psk@@dotangle [#2] \tx at FontDot
+    /Dot {
+      moveto
+      gsave \psk at dotscale \pst at usecolor\psfillcolor #5 show grestore % fill first
+      gsave \psk at dotscale #4 show grestore	% show the unfilled one
+    } bind def 
+}}
+%
+\ifPSTlualatex\else\pstheader{pst-dots.pro}\fi  % load the type 1 font 
+%%40
+%  /.notdef /BoldAdd /.notdef /BoldCircle /BoldDiamond /SolidOtimes /BoldOctogon /SolidHexagon
+%  /BoldHexagon /BoldBar /SolidAsterisk /BoldAsterisk /.notdef /BOplus /BOtimes /.notdef
+%%50
+%  /BoldPentagon /.notdef /.notdef /BoldSquare /BoldTriangle /.notdef /.notdef /.notdef
+%  /BoldMul /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%%60
+%  /.notdef /Add /Bullet /Circle /Diamond /SolidOplus /Octogon /SolidOctogon
+%  /Hexagon /Bar /.notdef /Asterisk /SolidDiamond /Oplus /Otimes /.notdef
+%%70
+%  /Pentagon /SolidPentagon /SolidSquare /Square /Triangle /SolidTriangle /.notdef /.notdef
+%  /Mul /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+  \newpsfontdot{B+}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<41>}
+  \newpsfontdot{BoldAdd}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<41>}
+  \newpsfontdot{Bo}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<43>}
+  \newpsfontdot{BoldCircle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<43>}
+  \newpsfontdot{BoldDiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<44>}
+  \newpsfontdot{Bdiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<44>}
+  \newpsfontdot{SolidOtimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<45>}
+  \newpsfontdot{BoldOctogon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<46>}
+  \newpsfontdot{SolidHexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<47>}
+  \newpsfontdot{BoldHexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<48>}
+  \newpsfontdot{BoldBar}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<49>}
+  \newpsfontdot{B|}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<49>}
+  \newpsfontdot{Asterisk*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4A>}
+  \newpsfontdot{SolidAsterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4A>}
+  \newpsfontdot{BoldAsterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4B>}
+  \newpsfontdot{Basterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4B>}
+  \newpsfontdot{BoldOplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4D>}
+  \newpsfontdot{BoldOtimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4E>}
+  \newpsfontdot{BoldPentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<50>}
+  \newpsfontdot{Bpentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<50>}
+  \newpsfontdot{BoldSquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<53>}
+  \newpsfontdot{Bsquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<53>}
+  \newpsfontdot{Btriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<54>}
+  \newpsfontdot{BoldTriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<54>}
+  \newpsfontdot{BoldMul}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<58>}
+%
+  \newpsfontdot{+}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<61>}
+  \newpsfontdot{Add}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<61>}
+  \newpsfontdot{bullet}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>}
+  \newpsfontdot{Bullet}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>}
+  \newpsfontdot{*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>}
+  \newpsfontdot{o}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<63>}
+  \newpsfontdot{Circle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<63>}
+  \newpsfontdot{Diamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<64>}
+  \newpsfontdot{diamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<64>}
+  \newpsfontdot{Oplus*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<65>}
+  \newpsfontdot{SolidOplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<65>}
+  \newpsfontdot{Octogon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<66>}
+  \newpsfontdot{Octogon*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<67>}
+  \newpsfontdot{Hexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<68>}
+  \newpsfontdot{Bar}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<69>}
+  \newpsfontdot{|}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<69>}
+  \newpsfontdot{asterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6B>}
+  \newpsfontdot{Asterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6B>}
+  \newpsfontdot{SolidDiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6C>}
+  \newpsfontdot{diamond*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6C>}
+  \newpsfontdot{oplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6D>}
+  \newpsfontdot{Oplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6D>}
+  \newpsfontdot{otimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6E>}
+  \newpsfontdot{Otimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6E>}
+%
+  \newpsfontdot{pentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<70>}
+  \newpsfontdot{SolidPentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<71>}
+  \newpsfontdot{Pentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<70>}
+  \newpsfontdot{pentagon*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<71>}
+  \newpsfontdot{square*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<72>}
+  \newpsfontdot{SolidSquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<72>}
+  \newpsfontdot{square}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<73>}
+  \newpsfontdot{Square}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<73>}
+  \newpsfontdot{triangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<74>}
+  \newpsfontdot{Triangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<74>}
+  \newpsfontdot{triangle*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<75>}
+  \newpsfontdot{SolidTriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<75>}
+  \newpsfontdot{x}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<78>}
+  \newpsfontdot{Mul}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<78>}
+%
+%% END: pstricks-dots.tex
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-dots.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-tex.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-tex.def	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/generic/pstricks/pstricks-tex.def	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pstricks-tex.def 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pstricks-tex.def 169 2021-08-31 17:46:12Z herbert $
 %% pstricks-tex.def
 %% Copyright 2017-  Herbert Voss
 %
@@ -45,6 +45,7 @@
 %
   \newif\ifpst at psfonts  \pst at psfontsfalse  % defined in pstricks.sty
   \newif\ifpst at useCalc  \pst at useCalcfalse  % defined in pstricks.sty
+  \newif\ifpstGSfonts   \pstGSfontsfalse   % defined in pstricks.sty
 %
   \long\def\@ifundefined#1#2#3{\expandafter\ifx\csname #1\endcsname\relax#2\else#3\fi}
   \def\@namedef#1{\expandafter\def\csname #1\endcsname}

Modified: trunk/Master/texmf-dist/tex/generic/pstricks/pstricks.con
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pstricks/pstricks.con	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/generic/pstricks/pstricks.con	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pstricks.con 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pstricks.con 170 2021-09-01 09:54:41Z herbert $
 %% BEGIN: pstricks.con (for dvips driver)
 %%
 %% Configuration file for PSTricks
@@ -39,8 +39,11 @@
 %% If you want to include your own customizations to pstricks.tex, then
 %% uncomment the \pstcustomize command, and include your modifications
 %% after \pstcustomize. These will be read in after pstricks.tex.
-%\pstcustomize
+\pstcustomize
 
+\ifPSTlualatex% luatex has another coordinate system
+  \def\pstrotate{CP CP translate 3 -1 roll rotate \tx at NET}
+\fi
 \endinput
 
 %%

Modified: trunk/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pstricks/pstricks.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/generic/pstricks/pstricks.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -81,8 +81,8 @@
 \fi
 \let\pgfforeach\foreach
 %
-\def\fileversion{3.08}
-\def\filedate{2021/09/10}
+\def\fileversion{3.10}
+\def\filedate{2021/09/23}
 \pst at addfams{pstricks}
 %
 %\define at boolkey[psset]{pstricks}[Pst@]{useURWfonts}[true]{}
@@ -764,7 +764,6 @@
 \def\radians{\def\pst at angleunit{57.2956 mul }%
   \pstVerb{tx at Dict begin startGlobal /pst at angleunit {\pst at angleunit} def endGlobal end}}%
 \def\pst at angleunit{}%
-
 %
 \def\SpecialCoor{%
   \def\pst@@getcoor##1{%
@@ -1356,54 +1355,43 @@
 \define at boolkey[psset]{pstricks}[Pst@]{variableColor}[true]{}
 \define at key[psset]{pstricks}{setflat}[0.1]{\pst at checknum{#1}\psk at setflat}%
 \psset[pstricks]{startLW=\pslinewidth,endLW=\pslinewidth,variableColor=false,
-  variableLW=false,startWL=380,endWL=780,setflat=0.1}
+  variableLW=false,startWL=380,endWL=770,setflat=0.1}
 %
 \def\pst at flattenpath{
-  /Coors [] def         % the array of all points
-  50 dict begin
-  /lambda \psk at startWL\space def
-  %
+  20 dict begin
+  /Coors [] def
+  /Cmds [] def
+  /NoOfSteps 0 def
   /add2Values { Coors aload length 2 add array astore /Coors exch def } def
   /add6Values { Coors aload length 6 add array astore /Coors exch def } def
+  /addmoveto { -1 Cmds aload length 1 add array astore /Cmds exch def } def
+  /addlineto { 0 Cmds aload length 1 add array astore /Cmds exch def } def
+  /addcurveto { 1 Cmds aload length 1 add array astore /Cmds exch def } def
+  \psk at setflat\space setflat      % the value for the line snippets
+  flattenpath                     % flatten the existing path into line segments
+  { add2Values addmoveto}         % what to do with moveto
+  { NoOfSteps 1 add /NoOfSteps ED add2Values addlineto}         % what to do with lineto 
+  { NoOfSteps 1 add /NoOfSteps ED add6Values addcurveto}          % what to do with curveto (not needed here) 
+  { }                             % nothing for closepath
+  pathforall
 %
-  \psk at setflat\space setflat   % the value for the line snippets
-  flattenpath            % flatten the existing path into line segments
-%
-  { add2Values }         % what to do with moveto
-  { add2Values }         % what to do with lineto 
-  { add6Values }         % what to do with curveto (not needed here) 
-  { }                    % what to do with closepath
-  pathforall             % do it for the existing path
-%
+  /dLW \pst at number\psk at endLW \pst at number\psk at startLW sub NoOfSteps div def % the step for the linewidth
+  \ifPst at variableColor
+    /dColor \psk at endWL\space \psk at startWL\space sub NoOfSteps div def      % same for color
+  \fi
+%%%  
   \pst at number\psk at startLW setlinewidth
   \tx at setlinejoin
   \psk at linecap\space setlinecap
-  Coors aload length 2 sub 2 div cvi /N0 exch def % set number of points
-  /NN 0 def
-  /N N0 def
-  { N 3 gt { N 3 sub /N ED }{ N 1 sub /N ED } ifelse 
-    NN 1 add /NN ED
-    N 0 eq { exit } if
-  } loop
-  /dLW \pst at number\psk at endLW \pst at number\psk at startLW sub NN div def          % the step for the linewidth
-  \ifPst at variableColor
-    /dColor \psk at endWL\space \psk at startWL\space sub NN div def
-    lambda dColor add dup /lambda ED 
-    tx at addDict begin wavelengthToRGB Red Green Blue end setrgbcolor
-  \else
-    \pst at usecolor\pslinecolor
-  \fi
-  moveto                 % move to the first one
-  /N N0 def
-  {
-    N 3 gt {  
-%    CP 6 2 roll
-    \psk at curvature\space /c ED /b ED /a ED
-    /ArrowA {} def
-    /ArrowB {} def
-    BOC NC EOC %    curveto 
-    N 3 sub /N ED }{ lineto N 1 sub /N ED } ifelse
-    currentlinewidth dLW add setlinewidth % increase line width
+  /lambda \psk at startWL def
+  Cmds length /Ncmds ED    % number of the commands is the length of the array
+  /CoorIndex 0 def
+  Ncmds 1 sub -1 0 {
+    % on stack is the loop index 
+    Cmds exch get /cmdNo ED      % get command as nuber -1, 0, 1 | moveto, lineto, curveto
+    cmdNo 0 eq { Coors CoorIndex 2 getinterval aload pop lineto CoorIndex 2 add /CoorIndex ED }
+      { cmdNo 0 lt { Coors CoorIndex 2 getinterval aload pop moveto CoorIndex 2 add /CoorIndex ED }
+        { Coors CoorIndex 6 getinterval aload pop curveto CoorIndex 6 add /CoorIndex ED } ifelse } ifelse  % else is curveto
     \ifPst at variableColor
       lambda dColor add dup /lambda ED 
       tx at addDict begin wavelengthToRGB Red Green Blue end setrgbcolor
@@ -1410,24 +1398,13 @@
     \else
       \pst at usecolor\pslinecolor
     \fi
-    CP /Y ED /X ED       % put coors of current point on the stack
-%    0.4 .setopacityalpha 
+    currentlinewidth dLW add setlinewidth
+    CP /yCurr ED /xCurr ED
     stroke               % draw the line segment
-    N 0 eq { exit }{ X Y moveto } ifelse
-  } loop
-%  N {                    % repeat for the other N coords
-%    lineto               % line to next point
-%    currentlinewidth dLW add setlinewidth % increase line width
-%    lambda dColor add dup /lambda ED 
-%    tx at addDict begin wavelengthToRGB Red Green Blue end setrgbcolor
-%    currentpoint         % put coors of current point on the stack
-%    0.4 .setopacityalpha 
-%    stroke               % draw the line segment
-%    moveto
-%  } repeat
+    xCurr yCurr moveto   % go to the last point
+  } for
   end
 }
-
 %
 %--------------------------- A R R O W S ---------------------------
 
@@ -1993,228 +1970,10 @@
   \end at OpenObj
 }
 %
-\define at key[psset]{pstricks}{dotsize}[2pt 2]{%
-  \pst at expandafter\pst at getdimnum{#1} 0 {} {}\@nil%
-  \edef\psk@@dotsize{\pst at number\pst at dimg}%
-  \let\psk@@@dotsize\pst at tempg%
-  \edef\psk at dotsize{ /DS \psk@@dotsize \psk@@@dotsize CLW mul add 2 div def }}
-\psset[pstricks]{dotsize=2pt 2}
+%--------------------------- PSTricks dots -----------------------
+\input{pstricks-dots}
+%--------------------------- PSTricks dots end -------------------
 %
-\define at key[psset]{pstricks}{dotscale}[1]{%
-  \pst at getscale{#1}\psk at dotscale
-  \ifx\psk at dotscale\@empty
-    \def\psk at xdotscale{1 }%
-    \def\psk at ydotscale{1 }%
-  \else
-    \let\psk at xdotscale\pst at tempg
-    \let\psk at ydotscale\pst at temph
-  \fi}
-%
-\def\pst at Getangle#1#2{%
-  \pst at getangle{#1}\pst at tempg
-  \def\pst at temph{0. }%
-  \ifx\pst at tempg\pst at temph\def#2{}\else\edef#2{\pst at tempg\space rotate }\fi}
-%
-\define at key[psset]{pstricks}{dotangle}[0]{%
-  \pst at getangle{#1}\psk@@dotangle
-  \ifdim\psk@@dotangle\p@=\z@
-    \let\psk at dotangle\@empty
-  \else
-    \edef\psk at dotangle{\psk@@dotangle rotate }%
-  \fi}
-\psset[pstricks]{dotangle=0}
-%
-\def\pst at getdotsize{%
-\pst at dimg=\psk@@@dotsize\pslinewidth
-\advance\pst at dimg\psk@@dotsize\p@
-\pst at dimh=\psk at ydotscale\pst at dimg
-\pst at dimg=\psk at xdotscale\pst at dimg
-\divide\pst at dimh 2
-\divide\pst at dimg 2\relax}
-%
-\psset[pstricks]{dotscale=1}
-%
-\def\psdot{\pst at object{psdot}}
-\def\psdot at i{\@ifnextchar({\psdot at ii}{\psdot at ii(\z@,\z@)}}
-\def\psdot at ii(#1){%
-  \begin at SpecialObj%
-% hv modification 1.13 2005-11-28 
-  \solid at star%
-% hv modification end 
-  \pst@@getcoor{#1}%
-  \addto at pscode{
-    \psk at dotsize
-    \@nameuse{psds@\psk at dotstyle}
-    \tx at setStrokeTransparency
-    \pst at coor Dot}%
-  \end at SpecialObj}
-%
-\def\psdots{\pst at object{psdots}}
-\def\psdots at i{%
-  \begin at SpecialObj%
-  \pst at getcoors[\psdots at ii}
-\def\psdots at ii{%
-  \addto at pscode{ false \tx at NArray \psdots at iii }%
-  \end at SpecialObj}
-\def\psdots at iii{%
-  \psk at dotsize
-  \@nameuse{psds@\psk at dotstyle}
-  \tx at setStrokeTransparency
-  newpath
-  n { transform floor .5 add exch floor .5 add exch itransform Dot  } repeat }
-%
-% DG: dead code (to suppress until \psset[pstricks]{dotstyle) ? - Aug. 4, 1997
-\def\tx at SQ{SQ }
-\def\tx at ST{ST }
-\def\tx at SP{SP }
-%
-\def\pst at gdot#1{ /Dot { gsave T \psk at dotangle \psk at dotscale #1 grestore } def }
-%
-\@namedef{psds@*}{\pst at gdot{ 0 0 DS \tx at SD }}
-\@namedef{psds at o}{%
-  /r2 DS CLW sub def
-  \pst at gdot{ 0 0 DS \tx at SD \pst at usecolor\psfillcolor SLW 0 0 r2 \tx at SD }}
-\@namedef{psds at square*}{ /r1 DS .886 mul def \pst at gdot{r1 \tx at SQ }}
-\@namedef{psds at square}{%
-  /r1 DS .886 mul def /r2 r1 CLW sub def
-  \pst at gdot{r1 \tx at SQ \pst at usecolor\psfillcolor r2 \tx at SQ}}
-\@namedef{psds at triangle*}{%
-  /y1 DS .778 mul neg def /x1 y1 1.732 mul neg def
-  \pst at gdot{x1 y1 \tx at ST}}
-\@namedef{psds at triangle}{%
-  /y1 DS .778 mul neg def /x1 y1 1.732 mul neg def
-  /y2 y1 CLW add def /x2 y2 1.732 mul neg def
-  \pst at gdot{x1 y1 \tx at ST  x2 y2 \tx at ST}}
-\@namedef{psds at pentagon*}{%
-  /r1 DS 1.149 mul def
-  \pst at gdot{r1 \tx at SP}}
-\@namedef{psds at pentagon}{%
-  DS .93 mul dup 1.236 mul /r1 ED CLW sub 1.236 mul /r2 ED
-  \pst at gdot{r1 \tx at SP  r2 \tx at SP}}
-\@namedef{psds at +}{%
-  /DS DS 1.253 mul def
-  \pst at gdot{DS 0 moveto DS neg 0 L stroke 0 DS moveto 0 DS neg L stroke}}
-\@namedef{psds@|}{%
-  \psk at tbarsize CLW mul add 2 div /DS ED
-  \pst at gdot{0 DS moveto 0 DS neg L stroke}}
-% DG: end dead code?
-%
-\define at key[psset]{pstricks}{dotstyle}[*]{%
-  \@ifundefined{psds@#1}%
-    {\@pstrickserr{Dot style `#1' not defined}\@eha}%
-    {\edef\psk at dotstyle{#1}}}
-\psset[pstricks]{dotstyle=*}
-%
-\def\tx at FontDot{FontDot }
-\def\newpsfontdot#1[#2]#3#4{%
-  \@namedef{psds@#1}{%
-    /#3 \psk@@dotangle [#2] \tx at FontDot
-% DG/SR modification begin - Dec. 12, 1999 - Patch 14
-%/Dot { moveto #4 show } bind def }}
-    /Dot { moveto gsave \psk at dotscale #4 show grestore } bind def 
-}}
-% DG/SR modification end
-\def\newpsfontdotH#1[#2]#3#4#5{%	for filled objects
-  \@namedef{psds@#1}{%
-    /#3 \psk@@dotangle [#2] \tx at FontDot
-    /Dot {
-      moveto
-%      \iftrue
-% DG/SR modification begin - Dec. 23, 1999 - Patch 14
-%gsave \pst at usecolor\psfillcolor #5 show grestore
-%\fi
-%#4 show
-      gsave \psk at dotscale \pst at usecolor\psfillcolor #5 show grestore % fill first
-%      \fi					
-      gsave \psk at dotscale #4 show grestore	% show the unfilled one
-% DG/SR modification end
-    } bind def 
-}}
-%
-\pstheader{pst-dots.pro}
-
-\pstGSfontsfalse
-
-\newpsfontdot{*}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(b)}
-\newpsfontdotH{o}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(c)}{(b)}
-\newpsfontdotH{Bo}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(C)}{(b)}
-\newpsfontdotH{triangle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(t)}{(u)}
-\newpsfontdotH{Btriangle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(T)}{(u)}
-\newpsfontdot{triangle*}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(u)}
-\newpsfontdotH{square}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(s)}{(r)}
-\newpsfontdotH{Bsquare}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(S)}{(r)}
-\newpsfontdot{square*}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(r)}
-\newpsfontdotH{pentagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(p)}{(q)}
-\newpsfontdotH{Bpentagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(P)}{(q)}
-\newpsfontdot{pentagon*}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(q)}
-% D.G. modification begin - Jan. 17, 2000
-\newpsfontdotH{diamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(d)}{(l)}
-\newpsfontdotH{Bdiamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(D)}{(l)}
-\newpsfontdot{diamond*}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(l)}
-% DG/SR modification end
-% Etienne Riga
-\newpsfontdot{Asterisk}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(k)}
-\newpsfontdot{BoldAsterisk}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(K)}
-\newpsfontdotH{SolidAsterisk}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(J)}{(b)}
-%
-\newpsfontdotH{Pentagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(p)}{(q)}
-\newpsfontdotH{BoldPentagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(P)}{(q)}
-\newpsfontdot{SolidPentagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(q)}
-\newpsfontdotH{Hexagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(h)}{(G)}
-\newpsfontdotH{BoldHexagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(H)}{(G)}
-\newpsfontdot{SolidHexagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(G)}
-\newpsfontdotH{Octogon}[1 0 0 1 0 0]{PSTricksDotFont}{(f)}{(g)}
-\newpsfontdotH{BoldOctogon}[1 0 0 1 0 0]{PSTricksDotFont}{(F)}{(g)}
-\newpsfontdot{SolidOctogon}[1 0 0 1 0 0]{PSTricksDotFont}{(g)}
-%
-\newpsfontdot{Bullet}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(b)}
-\newpsfontdotH{Circle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(c)}{(b)}
-\newpsfontdotH{BoldCircle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(C)}{(b)}
-%\newpsfontdot{SolidCircle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(u)}
-\newpsfontdotH{Triangle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(t)}{(u)}
-\newpsfontdotH{BoldTriangle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(T)}{(u)}
-\newpsfontdot{SolidTriangle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(u)}
-\newpsfontdotH{Square}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(s)}{(r)}
-\newpsfontdotH{BoldSquare}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(S)}{(r)}
-\newpsfontdot{SolidSquare}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(r)}
-\newpsfontdot{Add}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(a)}
-\newpsfontdot{BoldAdd}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(A)}
-\newpsfontdot{Mul}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(x)}
-\newpsfontdot{BoldMul}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(X)}
-\newpsfontdotH{Oplus}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(m)}{(b)}
-\newpsfontdotH{BoldOplus}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(M)}{(b)}
-\newpsfontdotH{SolidOplus}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(e)}{(b)}
-\newpsfontdotH{Otimes}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(n)}{(b)}
-\newpsfontdotH{BoldOtimes}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(N)}{(b)}
-\newpsfontdotH{SolidOtimes}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(E)}{(b)}
-\newpsfontdot{Bar}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(i)}
-\newpsfontdot{BoldBar}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(I)}
-\newpsfontdotH{Diamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(d)}{(l)}
-\newpsfontdotH{BoldDiamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(D)}{(l)}
-\newpsfontdot{SolidDiamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(l)}
-
-\ifpstGSfonts
-  \newpsfontdot{oplus}[1.44928 0.0 0.0 1.44928 -0.562319 -0.478261]{StandardSymL}{<C5>}
-  \newpsfontdot{otimes}[1.44928 0.0 0.0 1.44928 -0.562319 -0.475362]{StandardSymL}{<C4>}
-  \newpsfontdot{x}[1.8 0.0 0.0 1.8 -0.495 -0.4788]{StandardSymL}{<B4>}
-  \newpsfontdot{+}[2.3 0.0 0.0 2.3 -0.6486 -0.5819]{NimbusRomNo9L-Regu}{<2B>}
-  \newpsfontdot{asterisk}[2.43309 0.0 0.0 2.43309 -0.609489 -1.14477]{NimbusRomNo9L-Regu}{<2A>}
-  \newpsfontdot{B+}[2.3 0.0 0.0 2.3 -0.6555 -0.5819]{NimbusRomNo9L-Bold}{<2B>}
-  \newpsfontdot{Basterisk}[2.29358 0.0 0.0 2.29358 -0.576835 -1.08486]{NimbusRomNo9L-Bold}{<2A>}
-  \newpsfontdot{|}[1.98413 0.0 0.0 1.38 -0.258929 -0.5]{NimbusSanL-Regu}{(|)}
-  \newpsfontdot{B|}[1.98413 0.0 0.0 1.38 -0.277778 -0.5]{NimbusSanL-Bold}{(|)}%
-\else
-  \newpsfontdot{oplus}[1.44928 0.0 0.0 1.44928 -0.562319 -0.478261]{Symbol}{<C5>}
-  \newpsfontdot{otimes}[1.44928 0.0 0.0 1.44928 -0.562319 -0.475362]{Symbol}{<C4>}
-  \newpsfontdot{x}[1.8 0.0 0.0 1.8 -0.495 -0.4788]{Symbol}{<B4>}
-  \newpsfontdot{+}[2.3 0.0 0.0 2.3 -0.6486 -0.5819]{Times-Roman}{<2B>}
-  \newpsfontdot{asterisk}[2.43309 0.0 0.0 2.43309 -0.609489 -1.14477]{Times-Roman}{<2A>}
-  \newpsfontdot{B+}[2.3 0.0 0.0 2.3 -0.6555 -0.5819]{Times-Bold}{<2B>}
-  \newpsfontdot{Basterisk}[2.29358 0.0 0.0 2.29358 -0.576835 -1.08486]{Times-Bold}{<2A>}
-  \newpsfontdot{|}[1.98413 0.0 0.0 1.38 -0.258929 -0.5]{Helvetica}{(|)}
-  \newpsfontdot{B|}[1.98413 0.0 0.0 1.38 -0.277778 -0.5]{Helvetica-Bold}{(|)}%
-\fi
-%
 \newdimen\pslinearc
 \define at key[psset]{pstricks}{linearc}[0pt]{\pssetlength\pslinearc{#1}}
 \psset[pstricks]{linearc=0pt}
@@ -2599,17 +2358,13 @@
 \psset[pstricks]{subgriddiv=5}
 %
 \define at key[psset]{pstricks}{gridfont}[NimbusSanL-Regu]{%
-  \typeout{Test lualatex}%
   \ifPSTlualatex
-    \typeout{Test true}%
     \ifx\relax#1\relax
-       \typeout{>>>>>>>>>>>>>>>> HIER <<<<<<<<<<<<<<}%
        \def\psk at gridfont{\fontid\font\space .findfontid }%
     \else
       \def\psk at gridfont{/#1 findfont }%   hv 2007-11-13
      \fi
   \else
-  \typeout{Test false}%
      \def\psk at gridfont{/#1 findfont }%   hv 2007-11-13
   \fi
 }%
@@ -3864,13 +3619,30 @@
 \pslongbox{Scaleboxto}{\psscaleboxto}
 %
 \def\tx at Rot{Rot }
-\def\psrotateleft{\pst at makebox{\ps at rotateleft\pst at hbox}}
+\def\psrotateleft{%
+  \ifPSTlualatex
+    \def\pst at tempA{-90 }%
+    \def\pst at tempB{90 }%
+  \else
+    \def\pst at tempA{90 }%
+    \def\pst at tempB{-90 }%
+  \fi
+  \pst at makebox{\ps at rotateleft\pst at hbox}}
 \def\ps at rotateleft#1{%
-\leavevmode\hbox{\hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1%
-\pst at Verb{90 \tx at Rot}
-\vbox to \z@{\vss\hbox to \z@{\box#1\hss}\vskip\z@}%
-\pst at Verb{-90 \tx at Rot}}}}
-\def\psrotateright{\pst at makebox{\ps at rotateright\pst at hbox}}
+  \leavevmode\hbox{\hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1%
+    \pst at Verb{\pst at tempA \tx at Rot}%
+    \vbox to \z@{\vss\hbox to \z@{\box#1\hss}\vskip\z@}%
+      \pst at Verb{\pst at tempB \tx at Rot}}}}
+%
+\def\psrotateright{%
+  \ifPSTlualatex
+    \def\pst at tempA{90 }%
+    \def\pst at tempB{-90 }%
+  \else
+    \def\pst at tempA{-90 }%
+    \def\pst at tempB{90 }%
+  \fi
+  \pst at makebox{\ps at rotateright\pst at hbox}}
 \def\ps at rotateright#1{%
 % ----------- hv begin 2004-05-07 ----------- patch 15
 %    \hbox{%
@@ -3877,9 +3649,9 @@
   \leavevmode\hbox{%
 % ----------- hv end 2004-05-07 ----------- patch 15
   \hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1%
-  \pst at Verb{-90 \tx at Rot}
+  \pst at Verb{\pst at tempA \tx at Rot}
   \vbox to \z@{\hbox to \z@{\hss\box#1}\vss}%
-  \pst at Verb{90 \tx at Rot}}}}
+  \pst at Verb{\pst at tempB \tx at Rot}}}}
 \def\psrotatedown{\pst at makebox{\ps at rotatedown\pst at hbox}}
 \def\ps at rotatedown#1{%
 \hbox{\hskip\wd#1\vbox{\vskip\ht#1\vskip\dp#1%
@@ -3983,23 +3755,16 @@
 %\edef\psk at rot{\pst at rotlist \ifx\psk at rot\@empty\else\psk at rot add \fi}}
 \psset[pstricks]{rot=0}
 %
-\def\tx at RotBegin{RotBegin }
-\def\tx at RotEnd{RotEnd }
-\ifPSTlualatex
-  \def\pst at rotate#1#2{%
-    \ifx#1\@empty\else
-        \setbox#2=\hbox{\pst at Verb{#1 \ifPSTlualatex neg \fi\space \tx at RotBegin}\box#2\pst at Verb{\tx at RotEnd}}%
-        % luatex doesn't have the coordinate system of dvips, so we need negative angles
-    \fi
+\def\tx at RotBegin{ RotBegin }
+\def\tx at RotEnd{ RotEnd }
+
+\def\pst at rotate#1#2{%
+    \setbox#2=\hbox{\pst at Verb{%  check for empty #1 
+      (#1) /strAngle ED strAngle length 0 eq { 0 }{ #1 } ifelse 
+	 %\ifPSTlualatex neg \fi 
+    \tx at RotBegin}\box#2\pst at Verb{\tx at RotEnd}}%
  }%
- \else
-  \def\pst at rotate#1#2{%
-    \ifx#1\@empty\else
-        \setbox#2=\hbox{\pst at Verb{#1 \ifPSTlualatex \fi\space \tx at RotBegin}\box#2\pst at Verb{\tx at RotEnd}}%
-        % luatex doesn't have the coordinate system of dvips, so we need negative angles
-    \fi
- }%
- \fi
+
 \def\psput at cartesian#1{%
 \hbox to \z@{\kern\pst at dimg{\vbox to \z@{\vss\box#1\vskip\pst at dimh}\hss}}%
 }
@@ -4039,7 +3804,7 @@
     \use at par
     \if at star\pst at starbox\fi
     \pst at makesmall\pst at hbox
-    \ifx\psk at rot\@empty\else\pst at rotate{ps at rot }\pst at hbox\fi% (MJS)
+    \ifx\psk at rot\@empty\else\pst at rotate{ ps at rot \ifPSTlualatex neg \fi  }\pst at hbox\fi% (MJS)
 %    \pst at rotate\psk at rot\pst at hbox%
     \psput@{#1}\pst at hbox%
   \endgroup
@@ -4197,11 +3962,20 @@
     %\show\pst at coor
   \setbox\pst at hbox=\hbox to\z@{\hss\vbox to\z@{\vss\box\pst at hbox\vss}\hss}%
   \setbox\pst at hbox=\psput at special\pst at hbox
-  \ifnum\pst at C@@rType=7
-    \ifx\psk at rot\@empty\else\pst at rotate{ps at rot }\pst at hbox\fi% CHANGED FROM \psk at rot (MJS)
+  \ifPSTlualatex
+    \ifnum\pst at C@@rType=7
+      \ifx\psk at rot\@empty\else\pst at rotate{ps at rot neg}\pst at hbox\fi% CHANGED FROM \psk at rot (MJS)
+    \else
+      \ifx\psk at rot\@empty\else\pst at rotate{\psk at rot\space neg}\pst at hbox\fi% 
+    \fi
   \else
-    \ifx\psk at rot\@empty\else\pst at rotate{\psk at rot}\pst at hbox\fi% 
-  \fi}
+    \ifnum\pst at C@@rType=7
+      \ifx\psk at rot\@empty\else\pst at rotate{ps at rot }\pst at hbox\fi% CHANGED FROM \psk at rot (MJS)
+    \else
+      \ifx\psk at rot\@empty\else\pst at rotate{\psk at rot}\pst at hbox\fi% 
+    \fi
+  \fi
+}
 %
 %
 \def\uput at viii#1#2{%

Modified: trunk/Master/texmf-dist/tex/generic/pstricks/pstricks97.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pstricks/pstricks97.tex	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/generic/pstricks/pstricks97.tex	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-%% $Id: pstricks97.tex 446 2017-04-19 11:40:55Z herbert $
+%% $Id: pstricks97.tex 166 2021-08-26 19:52:16Z herbert $
 %% BEGIN: pstricks.tex
 %%
 %% PostScript macros for Generic TeX: main input file for PSTricks 97.

Modified: trunk/Master/texmf-dist/tex/latex/pstricks/pst-doc.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pstricks/pst-doc.cls	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/latex/pstricks/pst-doc.cls	2021-09-24 21:38:54 UTC (rev 60599)
@@ -454,8 +454,8 @@
 
 \def\settitle{%
   \thispagestyle{empty}%
+  \newgeometry{lmargin=1cm,rmargin=1cm,bmargin=1cm,includeheadfoot}
   \begin{titlepage}
-  \newgeometry{lmargin=1cm,rmargin=1cm,bmargin=1cm,includeheadfoot}
   \ifpdf
     \AddToShipoutPicture*{\includegraphics{pst-doc.pdf}}
     \vspace*{0.3\textheight}
@@ -475,16 +475,16 @@
         \bfseries\tabular[t]{@{}l@{}}\@author\endtabular}}
     \clearpage\restoregeometry
   \else
-    \psset{unit=1cm}
+    \psset{unit=1cm}%
     \begin{pspicture}(1.6in,0)(23cm,21.7cm)
-      \psframe[fillstyle=solid,linecolor=lightgray,fillcolor=lightgray,linestyle=solid](0,-5.75)(23,10)
-      \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,10)(23,10.5)
-      \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,21.1)(23,21.2)
-      \rput[lb](3,22){\Huge\sffamily\color{Orange!65!Red}\psscalebox{2}{\textbf{PSTricks}}}
-      \rput[lb](3,14.1){\parbox{17cm}{\sffamily\RaggedRight\bfseries\huge\@title}}
-      \rput[lb](3,12.6){\parbox{15cm}{\sffamily\Large\@subtitle}}
-      \rput[lb](3,7.6){\parbox{15cm}{\sffamily\@date}}
-      \rput[lb](3,-2.6){\parbox[b]{19cm}{\sffamily\RaggedRight 
+      \psframe[fillstyle=solid,linecolor=lightgray,fillcolor=lightgray,linestyle=solid](0,-5.75)(24,10)
+      \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,10)(23.5,10.5)
+      \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,21.1)(24,21.2)
+      \rput[lb](4,22){\Huge\sffamily\color{Orange!65!Red}\psscalebox{2}{\textbf{PSTricks}}}
+      \rput[lb](4,14.1){\parbox{17cm}{\sffamily\RaggedRight\bfseries\huge\@title}}
+      \rput[lb](4,12.6){\parbox{15cm}{\sffamily\Large\@subtitle}}
+      \rput[lb](4,8.5){\parbox{15cm}{\sffamily\@date}}
+      \rput[lb](4,-1){\parbox[b]{19cm}{\sffamily\RaggedRight 
         \ifx\@docauthor\empty~\else Documentation by\fi\hfill\makebox[7cm][l]{Package author(s):}\\
         \ifx\@docauthor\empty~\else{\bfseries\tabular[t]{@{}l@{}}\@docauthor\endtabular}\fi\hfill\makebox[7cm][l]{%
           \bfseries\shortstack[l]{\@author}

Modified: trunk/Master/texmf-dist/tex/latex/pstricks/pstricks-pdf.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pstricks/pstricks-pdf.sty	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/latex/pstricks/pstricks-pdf.sty	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-% $Id: pstricks-pdf.sty 25 2020-09-18 06:59:21Z herbert $
+% $Id: pstricks-pdf.sty 23 2020-09-18 06:29:04Z herbert $
 %%
 %% This is file `pstricks-pdf.sty'.
 %%

Modified: trunk/Master/texmf-dist/tex/latex/pstricks/pstricks.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pstricks/pstricks.sty	2021-09-23 23:48:48 UTC (rev 60598)
+++ trunk/Master/texmf-dist/tex/latex/pstricks/pstricks.sty	2021-09-24 21:38:54 UTC (rev 60599)
@@ -1,4 +1,4 @@
-% $Id: pstricks.sty 181 2021-09-04 06:35:45Z herbert $
+% $Id: pstricks.sty 262 2021-09-24 09:02:54Z herbert $
 %%
 %% This is file `pstricks.sty'.
 %%
@@ -84,7 +84,6 @@
 \DeclareOption*{\PassOptionsToPackage\CurrentOption{\pst at ColorPackage}}
 \ProcessOptions\relax
 
-%\RequirePackage{iftex}
 \ifpst at useCalc
   \RequirePackage{pst-calculate}
 \fi



More information about the tex-live-commits mailing list.