From 389d70f9a442ed180389f17c2586983b861528e9 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Tue, 17 Sep 2013 22:11:40 +0000
Subject: bidi (17sep13)

git-svn-id: svn://tug.org/texlive/trunk@31682 c570f23f-e606-0410-a88d-b1316a301751
---
 .../tex/xelatex/bidi/hyperref-xetex-bidi.def       | 264 +++++++++++++++++++++
 1 file changed, 264 insertions(+)
 create mode 100644 Master/texmf-dist/tex/xelatex/bidi/hyperref-xetex-bidi.def

(limited to 'Master/texmf-dist/tex/xelatex/bidi/hyperref-xetex-bidi.def')

diff --git a/Master/texmf-dist/tex/xelatex/bidi/hyperref-xetex-bidi.def b/Master/texmf-dist/tex/xelatex/bidi/hyperref-xetex-bidi.def
new file mode 100644
index 00000000000..66d5d81abf9
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/bidi/hyperref-xetex-bidi.def
@@ -0,0 +1,264 @@
+%%
+%% This is file `hyperref-xetex-bidi.def'.
+%% 
+%%   ______________________________________
+%%   Copyright © 2009–2013  Vafa Khalighi
+%% 
+%%   License information appended.
+%% 
+%% 
+\ProvidesFile{hyperref-xetex-bidi.def}[2013/04/08 v0.7 bidi adaptations for hyperref package for XeTeX engine]
+\AtBeginDocument{%
+\def\contentsline#1#2#3#4{%
+  \ifx\\#4\\%
+    \csname l@#1\endcsname{#2}{#3}%
+  \else
+    \ifcase\Hy@linktoc % none
+      \csname l@#1\endcsname{#2}{#3}%
+    \or % section
+      \csname l@#1\endcsname{%
+        \beginL\hyper@linkstart{link}{#4}{\if@RTL\beginR\fi#2\if@RTL\endR\fi}\hyper@linkend\endL
+      }{#3}%
+    \or % page
+      \csname l@#1\endcsname{{#2}}{%
+        \beginL\hyper@linkstart{link}{#4}{#3}\hyper@linkend\endL
+      }%
+    \else % all
+      \csname l@#1\endcsname{%
+        \beginL\hyper@linkstart{link}{#4}{\if@RTL\beginR\fi#2\if@RTL\endR\fi}\hyper@linkend\endL
+      }{%
+        \beginL\hyper@linkstart{link}{#4}{#3}\hyper@linkend\endL
+      }%
+    \fi
+  \fi
+}
+\ifHy@hyperfootnotes
+   \let\H@@footnotetext\@footnotetext
+   \let\HRTL@@RTLfootnotetext\@RTLfootnotetext
+   \let\HLTR@@LTRfootnotetext\@LTRfootnotetext
+    \def\@xfootnotenext[#1]{%
+    \begingroup
+      \csname c@\@mpfn\endcsname #1\relax
+      \unrestored@protected@xdef\@thefnmark{\thempfn}%
+    \endgroup
+    \ifx\@footnotetext\@mpfootnotetext
+      \expandafter\H@@mpfootnotetext
+    \else
+      \expandafter\H@@footnotetext
+    \fi
+  }%
+    \def\@xRTLfootnotenext[#1]{%
+    \begingroup
+      \csname c@\@mpfn\endcsname #1\relax
+      \unrestored@protected@xdef\@thefnmark{\thempfn}%
+    \endgroup
+    \ifx\@RTLfootnotetext\@mpRTLfootnotetext
+      \expandafter\HRTL@@mpRTLfootnotetext
+    \else
+      \expandafter\HRTL@@RTLfootnotetext
+    \fi
+  }%
+    \def\@xLTRfootnotenext[#1]{%
+    \begingroup
+      \csname c@\@mpfn\endcsname #1\relax
+      \unrestored@protected@xdef\@thefnmark{\thempfn}%
+    \endgroup
+    \ifx\@LTRfootnotetext\@mpLTRfootnotetext
+      \expandafter\HLTR@@mpLTRfootnotetext
+    \else
+      \expandafter\HLTR@@LTRfootnotetext
+    \fi
+  }%
+    \def\@xfootnotemark[#1]{%
+    \begingroup
+      \c@footnote #1\relax
+      \unrestored@protected@xdef\@thefnmark{\thefootnote}%
+    \endgroup
+    \H@@footnotemark
+  }%
+  \let\H@@mpfootnotetext\@mpfootnotetext
+  \let\HRTL@@mpRTLfootnotetext\@mpRTLfootnotetext
+  \let\HLTR@@mpLTRfootnotetext\@mpLTRfootnotetext
+    \long\def\@mpfootnotetext#1{%
+    \H@@mpfootnotetext{%
+      \ifHy@nesting
+        \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
+      \else
+        \Hy@raisedlink{%
+          \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
+        }#1%
+      \fi
+    }%
+  }%
+  \long\def\@mpRTLfootnotetext#1{%
+    \HRTL@@mpRTLfootnotetext{%
+      \ifHy@nesting
+        \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
+      \else
+        \Hy@raisedlink{%
+          \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
+        }#1%
+      \fi
+    }%
+  }%
+    \long\def\@mpLTRfootnotetext#1{%
+    \HLTR@@mpLTRfootnotetext{%
+      \ifHy@nesting
+        \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
+      \else
+        \Hy@raisedlink{%
+          \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
+        }#1%
+      \fi
+    }%
+  }%
+    \long\def\@footnotetext#1{%
+    \H@@footnotetext{%
+      \ifHy@nesting
+        \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
+      \else
+        \Hy@raisedlink{%
+          \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
+        }%
+        \let\@currentHlabel\Hy@footnote@currentHlabel
+        \let\@currentHref\Hy@footnote@currentHref
+        \let\@currentlabelname\@empty
+        #1%
+      \fi
+    }%
+  }%
+    \long\def\@RTLfootnotetext#1{%
+    \HRTL@@RTLfootnotetext{%
+      \ifHy@nesting
+        \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
+      \else
+        \Hy@raisedlink{%
+          \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
+        }%
+        \let\@currentHlabel\Hy@footnote@currentHlabel
+        \let\@currentHref\Hy@footnote@currentHref
+        \let\@currentlabelname\@empty
+        #1%
+      \fi
+    }%
+  }%
+    \long\def\@LTRfootnotetext#1{%
+    \HLTR@@LTRfootnotetext{%
+      \ifHy@nesting
+        \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
+      \else
+        \Hy@raisedlink{%
+          \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
+        }%
+        \let\@currentHlabel\Hy@footnote@currentHlabel
+        \let\@currentHref\Hy@footnote@currentHref
+        \let\@currentlabelname\@empty
+        #1%
+      \fi
+    }%
+  }%
+  \def\@footnotemark{%
+    \leavevmode
+    \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
+    \stepcounter{Hfootnote}%
+    \global\let\Hy@saved@currentHlabel\@currentHlabel
+    \global\let\Hy@saved@currentHref\@currentHref
+    \hyper@makecurrent{Hfootnote}%
+    \global\let\Hy@footnote@currentHlabel\@currentHlabel
+    \global\let\Hy@footnote@currentHref\@currentHref
+    \global\let\@currentHlabel\Hy@saved@currentHlabel
+    \global\let\@currentHref\Hy@saved@currentHref
+    \beginL\hyper@linkstart{link}{\Hy@footnote@currentHref}%
+    \@makefnmark
+    \hyper@linkend\endL
+    \ifhmode\spacefactor\@x@sf\fi
+    \relax
+  }%
+  \let\HyOrg@maketitle\maketitle
+  \def\maketitle{%
+    \let\Hy@saved@footnotemark\@footnotemark
+    \let\Hy@saved@footnotetext\@footnotetext
+    \let\HyRTL@saved@RTLfootnotetext\@RTLfootnotetext
+    \let\HyLTR@saved@LTRfootnotetext\@LTRfootnotetext
+    \let\@footnotemark\H@@footnotemark
+    \let\@footnotetext\H@@footnotetext
+    \let\@RTLfootnotetext\HRTL@@RTLfootnotetext
+    \let\@LTRfootnotetext\HLTR@@LTRfootnotetext
+    \@ifnextchar[\Hy@maketitle@optarg{% ]
+      \HyOrg@maketitle
+      \Hy@maketitle@end
+    }%
+  }%
+  \def\Hy@maketitle@optarg[#1]{%
+    \HyOrg@maketitle[{#1}]%
+    \Hy@maketitle@end
+  }%
+  \def\Hy@maketitle@end{%
+    \ifx\@footnotemark\H@@footnotemark
+      \let\@footnotemark\Hy@saved@footnotemark
+    \fi
+    \ifx\@footnotetext\H@@footnotetext
+      \let\@footnotetext\Hy@saved@footnotetext
+    \fi
+    \ifx\@RTLfootnotetext\HRTL@@RTLfootnotetext
+      \let\@RTLfootnotetext\HyRTL@saved@RTLfootnotetext
+    \fi
+    \ifx\@LTRfootnotetext\HLTR@@LTRfootnotetext
+      \let\@LTRfootnotetext\HyLTR@saved@LTRfootnotetext
+    \fi
+  }%
+  \def\realfootnote{%
+    \@ifnextchar[\@xfootnote{%
+      \stepcounter{\@mpfn}%
+      \protected@xdef\@thefnmark{\thempfn}%
+      \H@@footnotemark\H@@footnotetext
+    }%
+  }%
+\fi
+\def\hyper@link#1#2#3{%
+  \ifmmode\else\beginL\fi\hyper@linkstart{#1}{#2}\ifmmode\else\if@RTL\beginR\fi\fi#3\ifmmode\else\if@RTL\endR\fi\fi\hyper@linkend\ifmmode\else\endL\fi
+}
+\def\url@#1{\beginL\hyper@linkurl{\Hurl{#1}}{#1}\endL}
+\def\hyper@natlinkstart#1{%
+  \Hy@backout{#1}%
+  \beginL\hyper@linkstart{cite}{cite.#1}\if@RTL\beginR\fi%
+  \def\hyper@nat@current{#1}%
+}
+\def\hyper@natlinkend{%
+  \if@RTL\endR\fi\hyper@linkend\endL
+}
+\def\hyper@natlinkbreak#1#2{%
+  \if@RTL\endR\fi\hyper@linkend\endL#1\beginL\hyper@linkstart{cite}{cite.#2}\if@RTL\beginR\fi%
+}%
+}
+\begingroup
+  \catcode`\$=6 %
+  \catcode`\#=12 %
+  \gdef\href@$1{\expandafter\href@split$1##\\}%
+  \gdef\href@split$1#$2#$3\\$4{%
+    \beginL\hyper@@link{$1}{$2}{\if@RTL\beginR\fi$4\if@RTL\endR\fi}\endL%
+    \endgroup
+  }%
+\endgroup
+\pdfstringdefDisableCommands{%
+\let\LRE\@firstofone
+\let\LR\@firstofone
+\let\RLE\@firstofone
+\let\RL\@firstofone
+\def\XeTeX{Xe\TeX}
+\def\XeLaTeX{Xe\LaTeX}
+}
+%% 
+%% Copyright © 2009–2013  Vafa Khalighi <vafakh@me.com>
+%% 
+%% It may be distributed and/or modified under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+%% 
+%% This work is “maintained” (as per LPPL maintenance status)
+%% by Vafa Khalighi.
+%% 
+%% 
+%% 
+%%
+%% End of file `hyperref-xetex-bidi.def'.
-- 
cgit v1.2.3

