diff options
author | Karl Berry <karl@freefriends.org> | 2013-06-28 22:22:09 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-06-28 22:22:09 +0000 |
commit | 7982c074840b844f8dcbfaf3eeb885a1c9216999 (patch) | |
tree | d3c1b42332e169fcd416e1ef769592c6f7e00c0f /Master/texmf-dist/dvips/pst-optexp | |
parent | abf2c2731a05ca038cfbb771f3430be4481f76d8 (diff) |
pst-optexp (9jun13)
git-svn-id: svn://tug.org/texlive/trunk@31015 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/dvips/pst-optexp')
-rw-r--r-- | Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro | 80 |
1 files changed, 66 insertions, 14 deletions
diff --git a/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro b/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro index 261e916190c..19e96175299 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.1 (2013/05/21) +%% Version: 4.2 (2013/06/07) %% %% Copyright (C) 2007-2013 by Christoph Bersch <usenet@bersch.net> %% @@ -618,6 +618,9 @@ tx@OptexpDict begin exit } if (checked) DebugMsg + beampathcount 0 eq { + cleartomark mark exit + } if dup xcheck not { PushAmbCompPlanesOnStack } if @@ -631,6 +634,16 @@ tx@OptexpDict begin { relAngle } { 0 } ifelse connectInterfaces /relAngle ED } if + CompName cvn load begin + currentdict /adjustRel known aligntovector and { + IfcNum IfcName load begin + currentdict /RX known not { + 2 copy neg exch CM dtransform CompMtrx idtransform + /DY ED /DX ED + } if + end + } if + end IfcNum CompName Mode n2 8 4 roll HandleInterface missed eq { counttomark PN 1 sub 3 mul sub {pop} repeat @@ -666,6 +679,10 @@ tx@OptexpDict begin Warning exit } if + beampathcount 1 add PN eq { + IfcCnt PN sub {pop} repeat + exit + } if /PN PN 1 add def } ifelse } loop @@ -735,6 +752,9 @@ tx@OptexpDict begin PN IfcCnt gt { exit } if + beampathcount 0 eq { + cleartomark mark exit + } if dup xcheck not { PushAmbCompPlanesOnStack } if @@ -743,6 +763,29 @@ tx@OptexpDict begin /Mode ED /n2 ED 2 copy /CompName ED /IfcNum ED GetIfcCenter ToVec /CurrPCenter ED /oldn1 n1 def + CompName cvn load /adjustRel known aligntovector and { + connectifc PrevCorrect PN 2 gt and PN 2 eq or and { + CurrVecUp CurrVecUp CurrPCenter PrevPCenter PrevMode + currentdict /relAngleUp known { relAngleUp } { 0 } ifelse + connectInterfaces pop + CurrVecLow CurrVecLow CurrPCenter PrevPCenter PrevMode + currentdict /relAngleLow known { relAngleLow } { 0 } ifelse + connectInterfaces pop + } { + CurrVecUp CurrVecLow + } ifelse + VecAdd NormalizeVec + CompName cvn load begin + IfcNum IfcName load begin + currentdict /RX known not { + CM dtransform CompMtrx idtransform + /DX ED neg /DY ED + } { + pop pop + } ifelse + end + end + } if CurrUp CurrVecUp connectifc PrevCorrect PN 2 gt and PN 2 eq or and { CurrVecUp CurrPCenter PrevPCenter PrevMode @@ -832,13 +875,14 @@ tx@OptexpDict begin strokeBeam { CurrUp draw CurrLow draw counttomark 1 add 6 roll } if - PN IfcCnt eq ret tir eq or { + PN IfcCnt eq ret tir eq or + beampathcount 1 add PN eq or { DrawnSegm 0 gt currentdict /fillBeam known and { fillBeam newpath /DrawnSegm 0 def } if + IfcCnt PN sub {pop} repeat ret tir eq { - IfcCnt PN sub {pop} repeat (Total internal reflection occured, this is not supported) Warning } if @@ -856,9 +900,6 @@ tx@OptexpDict begin /DrawnSegm 0 def } if ret missed eq not { - currentdict /lastVecTmpUp known currentdict /lastVecTmpLow known and dup { - /lastVecTmpUp load /lastVecTmpLow load 3 -1 roll - } if CurrLow CurrUp @ABVect % from Low to Up PrevVecUp PrevVecLow VecAdd 2 copy 6 2 roll @@ -875,9 +916,7 @@ tx@OptexpDict begin /lastVecTmpUp /CurrVecUp load def /lastVecTmpLow /CurrVecLow load def } ifelse - not { - /lastVecTmpUp load /lastVecTmpLow load - } if + /lastVecTmpUp load /lastVecTmpLow load /prevVecLow ED /prevVecUp ED } if DebugEnd @@ -1040,7 +1079,7 @@ tx@OptexpDict begin } bind def /AdjustRelRot { (AdjustRelRot) DebugBegin - exch dup cvn load /adjustRel known { + exch dup cvn load /adjustRel known aligntovector not and { dup dup 4 2 roll isAmbiguous { exch pop (C) }{ @@ -1100,10 +1139,23 @@ tx@OptexpDict begin } { 1 1 1 N N } ifelse - first startinside not and { - 5 -2 roll - pop pop - 2 copy 5 2 roll + first { + startinside not { + 5 -2 roll + pop pop + 2 copy 5 2 roll + } { + startinsidecount 0 gt N startinsidecount sub 1 gt and { + 3 -1 roll dup 4 1 roll + N 1 sub startinsidecount sub mul + 6 -2 roll pop add dup 5 2 roll + } if + } ifelse + } if + last stopinsidecount 0 gt N stopinsidecount sub 1 gt and and { + % 1 1 1 N N + 3 -1 roll dup 4 1 roll stopinsidecount mul + 6 -1 roll dup 7 1 roll add 3 1 roll pop pop dup } if 5 1 roll { |