summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r--Master/texmf-dist/source/latex/hyperref/hyperref.dtx118
1 files changed, 115 insertions, 3 deletions
diff --git a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
index d5b13be5ebb..8db5ad379ff 100644
--- a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
+++ b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
@@ -39,7 +39,7 @@
%<puenc>\ProvidesFile{puenc.def}
%<puvnenc>\ProvidesFile{puvnenc.def}
%<puarenc>\ProvidesFile{puarenc.def}
-%<!none> [2009/12/16 v6.79u
+%<!none> [2009/12/17 v6.79v
%<package> Hypertext links for LaTeX]
%<nohyperref> Dummy hyperref (SR)]
%<driver> Hyperref documentation driver file]
@@ -119,7 +119,7 @@
\end{document}
%</driver>
% \fi
-% \CheckSum{25011}
+% \CheckSum{25198}
%
% \MakeShortVerb{|}
% \StopEventually{}
@@ -1624,17 +1624,27 @@
}{%
\EdefUnescapeString\HyPsd@temp#1%
\ifxetex
+ \let\HyPsd@UnescapedString\HyPsd@temp
\StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
{utf16be}{ascii-print}{%
\EdefEscapeString\HyPsd@temp\HyPsd@temp
\global\let#1\HyPsd@temp
\Hy@unicodefalse
- }{}%
+ }{%
+ \HyPsd@ToBigChars#1%
+ }%
\else
+ \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
+ {utf16be}{pdfdoc}{%
+ \EdefEscapeString\HyPsd@temp\HyPsd@temp
+ \global\let#1\HyPsd@temp
+ \Hy@unicodefalse
+ }{}%
\fi
}%
\fi
\fi
+ \HyPsd@XeTeXBigCharsfalse
% \end{macrocode}
%
% \paragraph{User hook.}
@@ -1658,6 +1668,100 @@
%
% \subsection{Encodings}
%
+% \subsubsection{Xe\TeX}
+%
+% \begin{macrocode}
+\edef\Hy@temp{\catcode0=\the\catcode0\relax}
+\catcode\z@=12 %
+\ifxetex
+ \expandafter\@firstofone
+\else
+ \let\HyPsd@XeTeXBigCharstrue\@empty
+ \let\HyPsd@XeTeXBigCharsfalse\@empty
+ \expandafter\@gobble
+\fi
+{%
+ \newif\ifHyPsd@XeTeXBigChars
+ \def\HyPsd@XeTeXBigCharsfalse{%
+ \global\let\ifHyPsd@XeTeXBigChars\iffalse
+ }%
+ \def\HyPsd@XeTeXBigCharstrue{%
+ \global\let\ifHyPsd@XeTeXBigChars\iftrue
+ }%
+ \def\HyPsd@ToBigChars#1{%
+ \ifHyPsd@XeTeXBigChars
+ \EdefEscapeHex\HyPsd@UnescapedString{%
+ \expandafter\@gobbletwo\HyPsd@UnescapedString
+ }%
+ \begingroup
+ \toks@{}%
+ \lccode`0=`0\relax
+ \lccode`1=`1\relax
+ \lccode`2=`2\relax
+ \lccode`3=`3\relax
+ \lccode`4=`4\relax
+ \lccode`5=`5\relax
+ \lccode`6=`6\relax
+ \lccode`7=`7\relax
+ \lccode`8=`8\relax
+ \lccode`9=`9\relax
+ \lccode`A=`a\relax
+ \lccode`B=`b\relax
+ \lccode`C=`c\relax
+ \lccode`D=`d\relax
+ \lccode`E=`e\relax
+ \lccode`F=`f\relax
+ \escapechar=92\relax
+ \let\x\HyPsd@ToBigChar
+ \expandafter\HyPsd@ToBigChar\HyPsd@UnescapedString
+ \relax\relax\relax\relax\relax\relax\relax
+ \edef\x{%
+ \endgroup
+ \gdef\noexpand#1{\the\toks@}%
+ }%
+ \x
+ \fi
+ }%
+ \def\HyPsd@ToBigChar#1#2#3#4{%
+ \ifx\relax#1\relax
+ \let\x\relax
+ \else
+ \count@="#1#2#3#4\relax
+ \let\y\@empty
+ \lccode\z@=\count@
+ \ifnum\count@=40 % (
+ \let\y\@backslashchar
+ \else
+ \ifnum\count@=41 % )
+ \let\y\@backslashchar
+ \else
+ \ifnum\count@=92 % backslash
+ \let\y\@backslashchar
+ \else
+ \ifnum\count@=10 % newline
+ \edef\y##1{\string\n}%
+ \else
+ \ifnum\count@=13 % carriage return
+ \edef\y##1{\string\r}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \lowercase{%
+ \toks@\expandafter{%
+ \the\expandafter\toks@
+ \y
+ ^^@%
+ }%
+ }%
+ \fi
+ \x
+ }%
+}
+\Hy@temp
+% \end{macrocode}
+%
% \subsubsection{Workaround for package linguex}
%
% \begin{macrocode}
@@ -5202,18 +5306,22 @@
}
\define@key{Hyp}{pdftitle}{%
\HyXeTeX@CheckUnicode
+ \HyPsd@XeTeXBigCharstrue
\pdfstringdef\@pdftitle{#1}%
}
\define@key{Hyp}{pdfauthor}{%
\HyXeTeX@CheckUnicode
+ \HyPsd@XeTeXBigCharstrue
\pdfstringdef\@pdfauthor{#1}%
}
\define@key{Hyp}{pdfproducer}{%
\HyXeTeX@CheckUnicode
+ \HyPsd@XeTeXBigCharstrue
\pdfstringdef\@pdfproducer{#1}%
}
\define@key{Hyp}{pdfcreator}{%
\HyXeTeX@CheckUnicode
+ \HyPsd@XeTeXBigCharstrue
\pdfstringdef\@pdfcreator{#1}%
}
\define@key{Hyp}{pdfcreationdate}{%
@@ -5230,10 +5338,12 @@
}
\define@key{Hyp}{pdfsubject}{%
\HyXeTeX@CheckUnicode
+ \HyPsd@XeTeXBigCharstrue
\pdfstringdef\@pdfsubject{#1}%
}
\define@key{Hyp}{pdfkeywords}{%
\HyXeTeX@CheckUnicode
+ \HyPsd@XeTeXBigCharstrue
\pdfstringdef\@pdfkeywords{#1}%
}
\define@key{Hyp}{pdfview}{\calculate@pdfview#1 \\}
@@ -16144,6 +16254,7 @@
\Hy@unicodefalse
\fi
\fi
+ \HyPsd@XeTeXBigCharstrue
\pdfstringdef\Hy@gtemp\Fld@name
\endgroup
\let\Fld@name\Hy@gtemp
@@ -16595,6 +16706,7 @@
\let\partnumberline\@gobble
\let\chapternumberline\@gobble
\fi
+ \HyPsd@XeTeXBigCharstrue
\pdfstringdef\Hy@tempa{#2}%
\if@filesw
\stepcounter{bookmark@seq@number}%