From 389d70f9a442ed180389f17c2586983b861528e9 Mon Sep 17 00:00:00 2001 From: Karl Berry 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 +%% +%% 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