From 929d8005a93b27f29b4ed481f31d62f92f67d28b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 19 Dec 2009 23:10:16 +0000 Subject: hyperref update (19dec09) git-svn-id: svn://tug.org/texlive/trunk@16451 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/hyperref/ChangeLog | 7 ++ Master/texmf-dist/doc/latex/hyperref/ChangeLog.pdf | Bin 327585 -> 327953 bytes Master/texmf-dist/doc/latex/hyperref/README | 40 +++++++ Master/texmf-dist/doc/latex/hyperref/README.pdf | Bin 294417 -> 296772 bytes Master/texmf-dist/doc/latex/hyperref/backref.pdf | 4 +- Master/texmf-dist/doc/latex/hyperref/hyperref.pdf | Bin 3888431 -> 3913482 bytes Master/texmf-dist/doc/latex/hyperref/nameref.pdf | 4 +- .../texmf-dist/source/latex/hyperref/hyperref.dtx | 118 ++++++++++++++++++++- Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def | 4 +- Master/texmf-dist/tex/latex/hyperref/hdvips.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hdvipson.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hdviwind.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hpdftex.def | 4 +- Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg | 2 +- Master/texmf-dist/tex/latex/hyperref/htex4ht.def | 2 +- Master/texmf-dist/tex/latex/hyperref/htexture.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hvtex.def | 3 +- Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def | 2 +- Master/texmf-dist/tex/latex/hyperref/hxetex.def | 4 +- Master/texmf-dist/tex/latex/hyperref/hyperref.sty | 109 ++++++++++++++++++- Master/texmf-dist/tex/latex/hyperref/hypertex.def | 2 +- .../texmf-dist/tex/latex/hyperref/nohyperref.sty | 2 +- Master/texmf-dist/tex/latex/hyperref/pd1enc.def | 2 +- Master/texmf-dist/tex/latex/hyperref/pdfmark.def | 4 +- Master/texmf-dist/tex/latex/hyperref/puarenc.def | 2 +- Master/texmf-dist/tex/latex/hyperref/puenc.def | 2 +- Master/texmf-dist/tex/latex/hyperref/puvnenc.def | 2 +- 28 files changed, 301 insertions(+), 28 deletions(-) diff --git a/Master/texmf-dist/doc/latex/hyperref/ChangeLog b/Master/texmf-dist/doc/latex/hyperref/ChangeLog index 708e4fe1e37..423e375a7ad 100644 --- a/Master/texmf-dist/doc/latex/hyperref/ChangeLog +++ b/Master/texmf-dist/doc/latex/hyperref/ChangeLog @@ -1,3 +1,10 @@ +2009-12-17 6.79v Heiko Oberdiek + * 6.79v + * Fix for `pdfencoding=auto', the code accidently got + deleted for the other drivers than XeTeX. + * `pdfencoding=auto' for XeTeX now adds a method to suppress the + warning "Failed to convert input string to UTF16...", see README. + 2009-12-16 6.79u Heiko Oberdiek * 6.79u * Babel patch of 6.77o rewritten that babel can be loaded diff --git a/Master/texmf-dist/doc/latex/hyperref/ChangeLog.pdf b/Master/texmf-dist/doc/latex/hyperref/ChangeLog.pdf index e757f476e0d..71d28306241 100644 Binary files a/Master/texmf-dist/doc/latex/hyperref/ChangeLog.pdf and b/Master/texmf-dist/doc/latex/hyperref/ChangeLog.pdf differ diff --git a/Master/texmf-dist/doc/latex/hyperref/README b/Master/texmf-dist/doc/latex/hyperref/README index bb594ecaf1a..69de8de9969 100644 --- a/Master/texmf-dist/doc/latex/hyperref/README +++ b/Master/texmf-dist/doc/latex/hyperref/README @@ -1097,6 +1097,46 @@ vietnam \usepackage{vietnam} \usepackage{hyperref} +XeTeX +----- + Default for the encoding of bookmarks is `pdfencoding=auto'. + That means the strings are always treated as unicode strings. + Only if the string restricts to the printable ASCII set, + it is written as ASCII string. The reason is that the + \special does not support PDFDocEncoding. + + XeTeX uses the program xdvipdfmx for PDF output generation. + This program behaves a little different from dvipdfm, because + of the supported Unicode characters. Strings for bookmarks + or information entries can be output directly. The + big chars (char code > 255) are written in UTF-8 and + xdvipdfmx tries to convert them to UTF-16BE. However + hyperref already provides PDF strings encoded in UTF-16BE, + thus the result is a warning + "Failed to convert input string to UTF16..." + The best way would be, if xdvipdfm could detect the + byte order marker (\376\377) and skips the conversion + if that marker is present. + For the time being I added the following to hyperref, + when option `pdfencoding=auto' is set (default for XeTeX): + The string is converted back to big characters thus that the + string is written as UTF-8. But I am very unhappy with this + solution. Main disadvantage: + Two versions of \pdfstringdef are needed: + a) The string is converted back to big characters for + the "tainted keys" of xdvipdfmx (spc_pdfm.c: default_taintkeys). + The subset hyperref uses is /Title, /Author, /Subject, + /Keywords, /Creator, /Producer, /T. Any changes of this + set in xdvipdfmx cannot be detected by hyperref. + b) Without conversion for the other strings , providing UTF16be + directly. Examples: Prefix of page labels, some elements + of formulars. + Thus *each* application that uses \pdfstringdef now must + check, if it defines a string for some of the tained keys. + If yes, then the call of \pdfstringdef should be preceded + by "\csname HyPsd@XeTeXBigCharstrue\endcsname". + Example: package bookmark. + 7 LIMITATIONS ============= diff --git a/Master/texmf-dist/doc/latex/hyperref/README.pdf b/Master/texmf-dist/doc/latex/hyperref/README.pdf index de53197211a..044a327b5ec 100644 Binary files a/Master/texmf-dist/doc/latex/hyperref/README.pdf and b/Master/texmf-dist/doc/latex/hyperref/README.pdf differ diff --git a/Master/texmf-dist/doc/latex/hyperref/backref.pdf b/Master/texmf-dist/doc/latex/hyperref/backref.pdf index 5a930322c6a..772f94c4fd9 100644 --- a/Master/texmf-dist/doc/latex/hyperref/backref.pdf +++ b/Master/texmf-dist/doc/latex/hyperref/backref.pdf @@ -10,7 +10,7 @@ endobj endobj 5 0 obj<> endobj -6 0 obj<> +6 0 obj<> endobj 7 0 obj<> endobj @@ -4536,7 +4536,7 @@ xref 0000354372 00000 n 0000354411 00000 n trailer -<>/Info 6 0 R/ID[(Z:Nj@u)(F\) \).Jv[)]>> +<>/Info 6 0 R/ID[(Lk󺯜6͕$j5)(2xM\)n*)]>> startxref 354450 %%EOF diff --git a/Master/texmf-dist/doc/latex/hyperref/hyperref.pdf b/Master/texmf-dist/doc/latex/hyperref/hyperref.pdf index 11a3e2019cd..65180edf873 100644 Binary files a/Master/texmf-dist/doc/latex/hyperref/hyperref.pdf and b/Master/texmf-dist/doc/latex/hyperref/hyperref.pdf differ diff --git a/Master/texmf-dist/doc/latex/hyperref/nameref.pdf b/Master/texmf-dist/doc/latex/hyperref/nameref.pdf index aae45f1d2e6..1a784196508 100644 --- a/Master/texmf-dist/doc/latex/hyperref/nameref.pdf +++ b/Master/texmf-dist/doc/latex/hyperref/nameref.pdf @@ -10,7 +10,7 @@ endobj endobj 5 0 obj<> endobj -6 0 obj<> +6 0 obj<> endobj 7 0 obj<> endobj @@ -4497,7 +4497,7 @@ xref 0000349458 00000 n 0000349497 00000 n trailer -<>/Info 6 0 R/ID[(B|9[)(6|/OW|)]>> +<>/Info 6 0 R/ID[(!E` &ZޣT)(Ji\\fd6ī&;)]>> startxref 349536 %%EOF 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 @@ %\ProvidesFile{puenc.def} %\ProvidesFile{puvnenc.def} %\ProvidesFile{puarenc.def} -% [2009/12/16 v6.79u +% [2009/12/17 v6.79v % Hypertext links for LaTeX] % Dummy hyperref (SR)] % Hyperref documentation driver file] @@ -119,7 +119,7 @@ \end{document} % % \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}% diff --git a/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def b/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def index dd7a818a939..4ba243ba9d6 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def +++ b/Master/texmf-dist/tex/latex/hyperref/hdvipdfm.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hdvipdfm.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref driver for dvipdfm] \def\Hy@PutCatalog#1{\@pdfm@mark{docview << #1 >>}} \ifHy@pagelabels @@ -968,6 +968,7 @@ \Hy@unicodefalse \fi \fi + \HyPsd@XeTeXBigCharstrue \pdfstringdef\Hy@gtemp\Fld@name \endgroup \let\Fld@name\Hy@gtemp @@ -1296,6 +1297,7 @@ \let\partnumberline\@gobble \let\chapternumberline\@gobble \fi + \HyPsd@XeTeXBigCharstrue \pdfstringdef\Hy@tempa{#2}% \if@filesw \stepcounter{bookmark@seq@number}% diff --git a/Master/texmf-dist/tex/latex/hyperref/hdvips.def b/Master/texmf-dist/tex/latex/hyperref/hdvips.def index 93aea84a7b2..a601df853c9 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hdvips.def +++ b/Master/texmf-dist/tex/latex/hyperref/hdvips.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hdvips.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref driver for dvips] \providecommand*{\XR@ext}{pdf} \def\Hy@raisedlink{} diff --git a/Master/texmf-dist/tex/latex/hyperref/hdvipson.def b/Master/texmf-dist/tex/latex/hyperref/hdvipson.def index 878aef2486a..9b4cea859ac 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hdvipson.def +++ b/Master/texmf-dist/tex/latex/hyperref/hdvipson.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hdvipson.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref driver for dvipsone] \providecommand*{\XR@ext}{pdf} \def\Hy@raisedlink{} diff --git a/Master/texmf-dist/tex/latex/hyperref/hdviwind.def b/Master/texmf-dist/tex/latex/hyperref/hdviwind.def index 74a553e942a..34f5b4d334a 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hdviwind.def +++ b/Master/texmf-dist/tex/latex/hyperref/hdviwind.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hdviwind.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref driver for dviwindo] \begingroup \toks@\expandafter{\Hy@FirstPageHook}% diff --git a/Master/texmf-dist/tex/latex/hyperref/hpdftex.def b/Master/texmf-dist/tex/latex/hyperref/hpdftex.def index 6dfe9bdd97f..000ecf43c98 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hpdftex.def +++ b/Master/texmf-dist/tex/latex/hyperref/hpdftex.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hpdftex.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref driver for pdfTeX] \let\Hy@PutCatalog\pdfcatalog \ifHy@pagelabels @@ -1151,6 +1151,7 @@ \Hy@unicodefalse \fi \fi + \HyPsd@XeTeXBigCharstrue \pdfstringdef\Hy@gtemp\Fld@name \endgroup \let\Fld@name\Hy@gtemp @@ -1479,6 +1480,7 @@ \let\partnumberline\@gobble \let\chapternumberline\@gobble \fi + \HyPsd@XeTeXBigCharstrue \pdfstringdef\Hy@tempa{#2}% \if@filesw \stepcounter{bookmark@seq@number}% diff --git a/Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg b/Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg index 7fd16ede471..c0559ee08cc 100644 --- a/Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg +++ b/Master/texmf-dist/tex/latex/hyperref/htex4ht.cfg @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{htex4ht.cfg} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref configuration file for TeX4ht] \IfFileExists{\jobname.cfg}{\endinput}{} \Preamble{html} diff --git a/Master/texmf-dist/tex/latex/hyperref/htex4ht.def b/Master/texmf-dist/tex/latex/hyperref/htex4ht.def index 56597ab35a0..a37d7a6d2e8 100644 --- a/Master/texmf-dist/tex/latex/hyperref/htex4ht.def +++ b/Master/texmf-dist/tex/latex/hyperref/htex4ht.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{htex4ht.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref driver for TeX4ht] \providecommand*{\XR@ext}{html} \def\Hy@raisedlink{} diff --git a/Master/texmf-dist/tex/latex/hyperref/htexture.def b/Master/texmf-dist/tex/latex/hyperref/htexture.def index a161c670c49..2fb14718a83 100644 --- a/Master/texmf-dist/tex/latex/hyperref/htexture.def +++ b/Master/texmf-dist/tex/latex/hyperref/htexture.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{htexture.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref driver for Textures] \providecommand*{\XR@ext}{pdf} \begingroup diff --git a/Master/texmf-dist/tex/latex/hyperref/hvtex.def b/Master/texmf-dist/tex/latex/hyperref/hvtex.def index 0aece0678e5..2a9dca9a9c4 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hvtex.def +++ b/Master/texmf-dist/tex/latex/hyperref/hvtex.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hvtex.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref driver for VTeX in PDF/PS mode] \providecommand*{\XR@ext}{pdf} \edef\Hy@VTeXversion{% @@ -642,6 +642,7 @@ \let\partnumberline\@gobble \let\chapternumberline\@gobble \fi + \HyPsd@XeTeXBigCharstrue \pdfstringdef\Hy@tempa{#2}% \if@filesw \stepcounter{bookmark@seq@number}% diff --git a/Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def b/Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def index 2979cb2da05..d2a8aeea369 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def +++ b/Master/texmf-dist/tex/latex/hyperref/hvtexhtm.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hvtexhtml.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref driver for VTeX in HTML mode] \providecommand*{\XR@ext}{htm} \RequirePackage{vtexhtml} diff --git a/Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def b/Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def index 8d304e85b0e..b244d0dda8a 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def +++ b/Master/texmf-dist/tex/latex/hyperref/hvtexmrk.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hvtexmrk.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref driver for VTeX in PDF/PS mode (pdfmark specials)] \providecommand*{\XR@ext}{pdf} \def\Hy@raisedlink{} diff --git a/Master/texmf-dist/tex/latex/hyperref/hxetex.def b/Master/texmf-dist/tex/latex/hyperref/hxetex.def index fc8ae2e6cea..fe0d67999b3 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hxetex.def +++ b/Master/texmf-dist/tex/latex/hyperref/hxetex.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hxetex.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref driver for XeTeX] \HyPsd@LoadUnicode \Hy@unicodetrue @@ -1030,6 +1030,7 @@ \Hy@unicodefalse \fi \fi + \HyPsd@XeTeXBigCharstrue \pdfstringdef\Hy@gtemp\Fld@name \endgroup \let\Fld@name\Hy@gtemp @@ -1358,6 +1359,7 @@ \let\partnumberline\@gobble \let\chapternumberline\@gobble \fi + \HyPsd@XeTeXBigCharstrue \pdfstringdef\Hy@tempa{#2}% \if@filesw \stepcounter{bookmark@seq@number}% diff --git a/Master/texmf-dist/tex/latex/hyperref/hyperref.sty b/Master/texmf-dist/tex/latex/hyperref/hyperref.sty index da9b80b7afc..f63ae3c99b3 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hyperref.sty +++ b/Master/texmf-dist/tex/latex/hyperref/hyperref.sty @@ -25,7 +25,7 @@ %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{hyperref} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hypertext links for LaTeX] \begingroup \@makeother\`% @@ -480,17 +480,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 \pdfstringdefPostHook#1% \endgroup } @@ -498,6 +508,95 @@ \pdfstringdef\Hy@gtemp{#2}% \let#1\Hy@gtemp } +\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 \@ifpackageloaded{linguex}{% \let\HyLinguex@OrgB\b \let\HyLinguex@OrgC\c @@ -2791,18 +2890,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}{% @@ -2819,10 +2922,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 \\} diff --git a/Master/texmf-dist/tex/latex/hyperref/hypertex.def b/Master/texmf-dist/tex/latex/hyperref/hypertex.def index 70f9bbeeda4..072a60509fc 100644 --- a/Master/texmf-dist/tex/latex/hyperref/hypertex.def +++ b/Master/texmf-dist/tex/latex/hyperref/hypertex.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{hypertex.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref driver for HyperTeX specials] \providecommand*{\XR@ext}{dvi} \def\PDF@FinishDoc{} diff --git a/Master/texmf-dist/tex/latex/hyperref/nohyperref.sty b/Master/texmf-dist/tex/latex/hyperref/nohyperref.sty index 7ab67b07479..0dcc4f15957 100644 --- a/Master/texmf-dist/tex/latex/hyperref/nohyperref.sty +++ b/Master/texmf-dist/tex/latex/hyperref/nohyperref.sty @@ -25,7 +25,7 @@ %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{nohyperref} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Dummy hyperref (SR)] \let\hyper@@anchor\@gobble \def\hyper@link#1#2#3{#3}% diff --git a/Master/texmf-dist/tex/latex/hyperref/pd1enc.def b/Master/texmf-dist/tex/latex/hyperref/pd1enc.def index 30b22b1bd87..c87af38569a 100644 --- a/Master/texmf-dist/tex/latex/hyperref/pd1enc.def +++ b/Master/texmf-dist/tex/latex/hyperref/pd1enc.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{pd1enc.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref: PDFDocEncoding definition (HO)] \DeclareFontEncoding{PD1}{}{} \DeclareTextAccent{\`}{PD1}{\textasciigrave} diff --git a/Master/texmf-dist/tex/latex/hyperref/pdfmark.def b/Master/texmf-dist/tex/latex/hyperref/pdfmark.def index 4d4b56f2d6a..3237b36a25b 100644 --- a/Master/texmf-dist/tex/latex/hyperref/pdfmark.def +++ b/Master/texmf-dist/tex/latex/hyperref/pdfmark.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{pdfmark.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref definitions for pdfmark specials] \begingroup \toks@\expandafter{\Hy@FirstPageHook}% @@ -1172,6 +1172,7 @@ \Hy@unicodefalse \fi \fi + \HyPsd@XeTeXBigCharstrue \pdfstringdef\Hy@gtemp\Fld@name \endgroup \let\Fld@name\Hy@gtemp @@ -1500,6 +1501,7 @@ \let\partnumberline\@gobble \let\chapternumberline\@gobble \fi + \HyPsd@XeTeXBigCharstrue \pdfstringdef\Hy@tempa{#2}% \if@filesw \stepcounter{bookmark@seq@number}% diff --git a/Master/texmf-dist/tex/latex/hyperref/puarenc.def b/Master/texmf-dist/tex/latex/hyperref/puarenc.def index dad3534c5a6..08eb8ccf50e 100644 --- a/Master/texmf-dist/tex/latex/hyperref/puarenc.def +++ b/Master/texmf-dist/tex/latex/hyperref/puarenc.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{puarenc.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref: Additions to puenc.def for Arabi] \DeclareTextCommand{\hamza}{PU}{\86\041}% 0621;afii57409;ARABIC LETTER HAMZA \DeclareTextCommand{\alefmadda}{PU}{\86\042}% 0622;afii57410;ARABIC LETTER ALEF WITH MADDA ABOVE diff --git a/Master/texmf-dist/tex/latex/hyperref/puenc.def b/Master/texmf-dist/tex/latex/hyperref/puenc.def index e65a8460e6f..57c3976c501 100644 --- a/Master/texmf-dist/tex/latex/hyperref/puenc.def +++ b/Master/texmf-dist/tex/latex/hyperref/puenc.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{puenc.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref: PDF Unicode definition (HO)] \DeclareFontEncoding{PU}{}{} \DeclareTextCommand{\`}{PU}[1]{#1\83\000}% U+0300 diff --git a/Master/texmf-dist/tex/latex/hyperref/puvnenc.def b/Master/texmf-dist/tex/latex/hyperref/puvnenc.def index f296ee3d0f6..743dd910a36 100644 --- a/Master/texmf-dist/tex/latex/hyperref/puvnenc.def +++ b/Master/texmf-dist/tex/latex/hyperref/puvnenc.def @@ -24,7 +24,7 @@ %% given in the file `manifest.txt'. %% \ProvidesFile{puvnenc.def} - [2009/12/16 v6.79u + [2009/12/17 v6.79v Hyperref: Additions to puenc.def for VnTeX] \DeclareTextCommand{\abreve}{PU}{\81\003} \DeclareTextCommand{\acircumflex}{PU}{\80\342} -- cgit v1.2.3