summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/bidi/picinpar-xetex-bidi.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/bidi/picinpar-xetex-bidi.def')
-rw-r--r--Master/texmf-dist/tex/latex/bidi/picinpar-xetex-bidi.def100
1 files changed, 99 insertions, 1 deletions
diff --git a/Master/texmf-dist/tex/latex/bidi/picinpar-xetex-bidi.def b/Master/texmf-dist/tex/latex/bidi/picinpar-xetex-bidi.def
index 338cf136921..36bbe251b8f 100644
--- a/Master/texmf-dist/tex/latex/bidi/picinpar-xetex-bidi.def
+++ b/Master/texmf-dist/tex/latex/bidi/picinpar-xetex-bidi.def
@@ -12,7 +12,7 @@
%% License information appended.
%%
%%
-\ProvidesFile{picinpar-xetex-bidi.def}[2011/11/05 v0.1 bidi adaptations for picinpar package for XeTeX engine]
+\ProvidesFile{picinpar-xetex-bidi.def}[2013/04/08 v0.2 bidi adaptations for picinpar package for XeTeX engine]
\long\def\@makewincaption#1#2{%
\setbox\@tempboxa\hbox{\footnotesize{\bf #1:\enspace}{#2}}%
\ifdim\wd\@tempboxa>\picwd
@@ -20,6 +20,104 @@
\else
\hbox to\picwd{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil\if@RTL\endR\fi}
\fi}
+\def\endwindow{%
+ \global\tcd=\tcdsav
+ \egroup\vskip\parskip\parshape=0 % reset parshape; end \box\rawtext
+ \vbadness=10000
+ \splittopskip=0pt
+\ifnum\tcd>0\setbox\holder=\vsplit\rawtext to \tcd\baselineskip
+\tcn=\tcd
+\loop\advance\tcn -1
+\setbox\fslice=\vsplit\holder to\baselineskip
+\prune\fslice\linewidth
+\topheight=0pt
+\ifnum\dp\fslice>\dp\wstrutbox
+ \advance\topheight-\dp\fslice
+ \advance\topheight\dp\wstrutbox
+ \advance\topheight\ilg\fi
+\hbox to\linewidth{\box\fslice}
+\vskip-\topheight
+\ifdim\ht\holder>0pt\repeat
+\fi
+\global\topheight=\tcl\baselineskip
+\ifnum\cumpartcl>0\global\tcl=\cumtcl
+ \global\topheight=\vpic
+\fi
+\ifnum\bl>0 \ifnum\br>0 \multiply\topheight by 2\fi\fi
+\ifnum\bl>0\setbox\holder=\vsplit\rawtext to\topheight
+\else\ifnum\br>0\setbox\holder=\vsplit\rawtext to\topheight\fi\fi
+\tcn=\tcl \na=0 \nb=0
+\ifnum\bl>0 \ifnum\br>0 \multiply\tcn by 2\fi\fi
+\ifnum\bl>0\na=\tcn\ifnum\br>0\divide\na by 2\fi\fi
+\ifnum\br>0\nb=\tcn\ifnum\bl>0\divide\nb by 2\fi\fi
+\ifnum\na=0\ifnum\nb=0
+ \setbox\waslice=\vbox to\vpic{\vss}
+ \setbox\wbslice=\vbox to\vpic{\vss}
+ \bl=1\br=1
+ \vskip\ilg
+\fi\fi
+\ifnum\na>0 \ifnum\nb>0
+\loop\advance\nb -1
+\advance\na -1
+\if@RTL%
+\setbox\bslice=\vsplit\holder to\baselineskip
+\prune\bslice\rtside
+\setbox\wbslice=\vbox{\unvbox\wbslice\hbox
+to\rtside{\box\bslice\hfil}}
+\setbox\aslice=\vsplit\holder to\baselineskip
+\prune\aslice\lftside
+\setbox\waslice=\vbox{\unvbox\waslice\hbox
+to\lftside{\box\aslice\hfil}}
+\else%
+\setbox\aslice=\vsplit\holder to\baselineskip
+\prune\aslice\lftside
+\setbox\waslice=\vbox{\unvbox\waslice\hbox
+to\lftside{\box\aslice\hfil}}
+\setbox\bslice=\vsplit\holder to\baselineskip
+\prune\bslice\rtside
+\setbox\wbslice=\vbox{\unvbox\wbslice\hbox
+to\rtside{\box\bslice\hfil}}
+\fi%
+\ifnum\nb>0\repeat
+\fi\fi
+\ifnum\na>0
+ \loop\advance\na -1
+ \setbox\aslice=\vsplit\holder to\baselineskip
+ \prune\aslice\lftside
+ \setbox\waslice=\vbox{\unvbox\waslice\hbox
+ to\lftside{\box\aslice\hfil}}
+ \ifdim\ht\holder>0pt\repeat
+\fi
+\ifnum\nb>0
+ \loop\advance\nb -1
+ \setbox\bslice=\vsplit\holder to\baselineskip
+ \prune\bslice\rtside
+ \setbox\wbslice=\vbox{\unvbox\wbslice\hbox
+ to\rtside{\box\bslice\hfil}}
+ \ifdim\ht\holder>0pt\repeat
+\fi
+\ifnum\bl=0\topheight=\ht\wbslice
+\else\ifnum\br=0\topheight=\ht\waslice
+ \else\ifdim\ht\waslice>\ht\wbslice\topheight=\ht\waslice
+ \else\topheight=\ht\wbslice\fi\fi\fi
+\ifnum\bl>0 \ifnum\br>0 \ifdim\ht\wbslice<\topheight
+\setbox\wbslice=\vbox to\topheight{\box\wbslice\vfill}
+\fi\fi\fi
+\setbox\windowbox=\vbox{\hbox to\linewidth{%
+\ifnum\bl>0\box\waslice\hfill\fi%
+\vbox to\topheight{\hrule width\picwd height0pt depth0pt\vskip0pt%
+\vfill\unvbox\picbox%
+\ifnum\picwd>0\vfill\fi%
+\vss}\ifnum\br>0\hfill\vbox{\box\wbslice}\fi}}%
+\unvbox\windowbox%
+\loop
+ \setbox\bslice=\vsplit\rawtext to\baselineskip
+ \prune\bslice\linewidth
+ \setbox\wbslice=\vbox{\hbox to\linewidth{\box\bslice\hfil}}
+ \unvbox\wbslice
+ \ifdim\ht\rawtext>0pt
+\repeat
+}% FINITO
%%
%% Copyright © 2009–2013 Persian TeX Group <persian-tex@tug.org>
%%