summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/dvips
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-07-13 21:30:08 +0000
committerKarl Berry <karl@freefriends.org>2014-07-13 21:30:08 +0000
commit59161ce421c69ad679d1c22d540f51b9e68a2497 (patch)
treef7cc1e35b86c42ab3ac4f51b4b3c54c3612e2e7b /Master/texmf-dist/dvips
parent0453db105ed84bf57356a8f81ba35a47c4996371 (diff)
pst-optexp
git-svn-id: svn://tug.org/texlive/trunk@34592 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/dvips')
-rw-r--r--Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro169
1 files changed, 141 insertions, 28 deletions
diff --git a/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro b/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro
index 94f28126d69..d9e46618c82 100644
--- a/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro
+++ b/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro
@@ -9,7 +9,7 @@
%% This is a generated file.
%%
%% Project: pst-optexp
-%% Version: 4.8 (2014/02/28)
+%% Version: 4.10 (2014/06/04)
%%
%% Copyright (C) 2007-2014 by Christoph Bersch <usenet@bersch.net>
%%
@@ -101,14 +101,6 @@ tx@OptexpDict begin
dup log 1 add floor cvi string cvs
} if
} bind def
-/IfcCopy {
- 2 copy IfcName exch IfcName load dup
- length dict copy def
- name exch NodeName name 3 -1 roll NodeName
- tx@NodeDict begin
- load dup length dict copy def
- end
-} bind def
/calcNodes {
(calcNode) DebugBegin
/YG exch def /XG exch def
@@ -188,7 +180,7 @@ tx@OptexpDict begin
/reverse ED
dup cvn load /N get dup
reverse { -1 1 } { 1 1 3 -1 roll } ifelse
- { 2 copy eq { pop (N) } { inttostr } ifelse
+ { inttostr
3 -1 roll dup 4 1 roll exch NodeName 3 1 roll
} for
pop pop
@@ -267,7 +259,7 @@ tx@OptexpDict begin
end
exec scl ToVec 3 1 roll NodeName @NewNode
} bind def
-/relative 0 def /absolute 1 def /center 2 def
+/relative 0 def /absolute 1 def /center 2 def /firstcomp 3 def
/refl 0 def /trans 1 def /absorb 2 def /refltrans 3 def /auto 4 def /undefined -1 def
/desc 0 def /asc 1 def /amb 2 def
/ok 0 def /tir 1 def /missed 2 def
@@ -297,15 +289,16 @@ tx@OptexpDict begin
} ifelse
1 N eq {
name (1) 3 -1 roll {sc} NewCompIfc
- (1) (N) IfcCopy
+ (1) (2) IfcCopy
+ (2) (N) IfcAlias
}{
N -1 1 { %
- dup N eq { pop (N) }{inttostr} ifelse
- exch name 3 1 roll {sc} NewCompIfc
+ inttostr exch name 3 1 roll {sc} NewCompIfc
} for
+ N inttostr (N) IfcAlias
} ifelse
ambiguous ambIfc 0 gt and {
- ambIfc N eq { (N) }{ ambIfc inttostr } ifelse (C) IfcCopy
+ ambIfc inttostr (C) IfcCopy
} if
end
pop
@@ -325,23 +318,76 @@ tx@OptexpDict begin
counttomark /N ED
1 N eq {
{0 1} 0 0 trans name (1) {PlainIfc} {sc} NewCompIfc
- (1) (N) IfcCopy
+ (1) (2) IfcCopy
+ (2) (N) IfcAlias
}{
N -1 1 {
- dup N eq { pop (N) }{inttostr} ifelse
+ inttostr
{0 1} 0 0 absorb name 6 -1 roll {PlainIfc} {sc} NewCompIfc
} for
+ N inttostr (N) IfcAlias
} ifelse
end
pop
DebugEnd
} bind def
+/IfcCopy {
+ 2 copy IfcName exch IfcName load dup
+ length dict copy def
+ name exch NodeName name 3 -1 roll NodeName
+ tx@NodeDict begin
+ load dup length dict copy def
+ end
+} bind def
/IfcAlias {
2 copy IfcName exch IfcName load def
tx@NodeDict begin
name exch NodeName name 3 -1 roll NodeName load def
end
} bind def
+/CompAlias {
+ 2 copy cvn dup currentdict exch known {
+ load def
+ } {
+ pop
+ } ifelse
+ tx@NodeDict begin
+ 1 {
+ 3 copy inttostr dup
+ 3 1 roll 2 copy NodeName
+ currentdict exch known {
+ NodeName load 3 1 roll NodeName ED
+ 1 add
+ } {
+ pop (N) NodeName load 3 1 roll
+ pop (N) NodeName ED
+ pop exit
+ } ifelse
+ } loop
+ mark (A) (B) (@A) (@B) (Center) (Label) (Rotref)
+ (TrefA) (TrefB) (@TrefA) (@TrefB) (Ext) (Origin)
+ counttomark {
+ counttomark 3 add -2 roll 2 copy counttomark 1 add 2 roll
+ 3 -1 roll dup 4 1 roll NodeName dup
+ currentdict exch known {
+ load 3 1 roll exch NodeName ED
+ } {
+ pop pop pop
+ } ifelse
+ } repeat pop
+ exch 1 1 8 {
+ 3 copy
+ (Ext) exch 5 string cvs strcat dup 3 1 roll
+ NodeName 3 1 roll NodeName
+ dup currentdict exch known {
+ load def pop
+ } {
+ pop pop pop exit
+ } ifelse
+ } for
+ pop pop
+ end
+} bind def
/GetPlaneVec {
(GetPlaneVec) DebugBegin
cvn load begin
@@ -942,6 +988,82 @@ tx@OptexpDict begin
} if
DebugEnd
} bind def
+/DrawbeamPrepare {
+ {
+ counttomark 6 le { exit } if
+ 3 index not { pop pop pop }{ exit } ifelse
+ } loop
+ {
+ counttomark 3 le { exit } if
+ counttomark 3 sub index not {
+ counttomark -3 roll pop pop pop
+ }{
+ exit
+ } ifelse
+ } loop
+} bind def
+/DrawbeamSimple {
+ pop 5 copy 3 -1 roll pop
+ ArrowA pop pop pop pop
+ counttomark 3 idiv -1 2 {
+ pop {
+ lineto
+ }{
+ moveto
+ } ifelse
+ } for
+ {CP 4 2 roll ArrowB lineto pop pop } {moveto} ifelse
+} bind def
+/DrawbeamArrowInside {
+ 6 copy pop
+ /y1 ED /x1 ED pop /y2 ED /x2 ED
+ /Alpha y2 y1 sub x2 x1 sub Atan def
+ pop 3 -1 roll 5 1 roll
+ ArrowA
+ x1 Alpha cos arrowlength mul add
+ y1 Alpha sin arrowlength mul add
+ 5 -1 roll 3 1 roll true
+ /N N 1 sub def
+ N {
+ 6 copy pop
+ /y1 ED /x1 ED pop /y2 ED /x2 ED /draw ED
+ x1 y1 x2 y2 @ABDist dup
+ arrowminlength ge
+ exch arrowmaxlength dup 0 lt
+ 3 1 roll le or and {
+ x1 y1
+ arrowpos 1 gt {
+ /Alpha y2 y1 sub x2 x1 sub Atan def
+ /dArrowPos dArrowPosStart abs def
+ /ArrowPos ArrowPosStart def
+ arrowno {
+ /ArrowPos ArrowPos dArrowPos add def
+ x1 Alpha cos ArrowPos mul add
+ y1 Alpha sin ArrowPos mul add
+ 6 index { ArrowInside } if
+ pop pop
+ } repeat
+ }{
+ arrowno 1 gt {
+ 1.0 arrowno 1.0 add div
+ }{
+ dArrowPosStart
+ } ifelse /dArrowPos ED
+ /ArrowPos ArrowPosStart def
+ arrowno {
+ /ArrowPos ArrowPos dArrowPos add def
+ x2 x1 sub ArrowPos mul x1 add
+ y2 y1 sub ArrowPos mul y1 add
+ 6 index { ArrowInside } if
+ pop pop
+ } repeat
+ } ifelse
+ pop pop
+ } if
+ draw {Lineto}{moveto} ifelse
+ } repeat
+ {CP 4 2 roll ArrowB lineto pop pop } {moveto} ifelse
+} bind def
/isAmbiguous {
cvn load dup /ambiguous known {
/ambiguous get
@@ -1192,11 +1314,7 @@ tx@OptexpDict begin
}{
name GetRefIndex
} ifelse
- exch dup N eq {
- pop (N)
- } {
- inttostr
- } ifelse exch
+ exch inttostr exch
3 1 roll name
4 1 roll
dup IfcName load /mode get
@@ -1216,12 +1334,7 @@ tx@OptexpDict begin
counttomark 1 eq { pop } if
} bind def
/IfcName {
- dup dup 1 eq not exch N eq and {
- pop (N)
- } {
- inttostr
- } ifelse
- (P@) exch strcat cvn
+ inttostr (P@) exch strcat cvn
} bind def
/GetIfcMode {
exch cvn load begin