summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-03-10 00:14:03 +0000
committerKarl Berry <karl@freefriends.org>2010-03-10 00:14:03 +0000
commita7cf689238e7d1fc437521e4521ab401e764f0e9 (patch)
treee4c92053106ee23049900bcfb3bcea33e8a5a4da /Master/texmf-dist/source
parentb8be32341e21f81097cd37f2237a1e762882d70e (diff)
hyperref update (9mar10)
git-svn-id: svn://tug.org/texlive/trunk@17402 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/hyperref/hyperref.dtx264
1 files changed, 257 insertions, 7 deletions
diff --git a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
index a12320eefb1..3802bd65f69 100644
--- a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
+++ b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx
@@ -44,7 +44,7 @@
%<puenc>\ProvidesFile{puenc.def}
%<puvnenc>\ProvidesFile{puvnenc.def}
%<puarenc>\ProvidesFile{puarenc.def}
-%<!none> [2010/03/04 v6.80k
+%<!none> [2010/03/09 v6.80l
%<package> Hypertext links for LaTeX]
%<nohyperref> Dummy hyperref (SR)]
%<driver> Hyperref documentation driver file]
@@ -126,7 +126,7 @@
\end{document}
%</driver>
% \fi
-% \CheckSum{25621}
+% \CheckSum{26216}
%
% \MakeShortVerb{|}
% \StopEventually{}
@@ -1207,9 +1207,7 @@
%
% \paragraph{Patch for cjk bookmarks.}
% \begin{macrocode}
- \ifHy@CJKbookmarks
- \HyPsd@CJKhook
- \fi
+ \HyPsd@CJKhook
% \end{macrocode}
%
% \paragraph{User hook.}
@@ -2268,6 +2266,29 @@
}
% \end{macrocode}
%
+% \subsubsection{CJK patch}
+%
+% \begin{macrocode}
+\RequirePackage{intcalc}[2007/09/27]
+\RequirePackage{ltxcmds}[2010/03/09]
+% \end{macrocode}
+%
+% \begin{macro}{\HyPsd@CJKhook}
+% \begin{macrocode}
+\def\HyPsd@CJKhook{%
+ \ltx@ifpackageloaded{CJK}{%
+ \let\CJK@kern\relax
+ \let\CJKkern\relax
+ \let\CJK@CJK\relax
+ \ifHy@CJKbookmarks
+ \HyPsd@@CJKhook@bookmarks
+ \fi
+ \HyPsd@CJKhook@unicode
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+%
% \subsubsection{CJK bookmarks}
%
% \begin{macro}{\HyPsd@CJKhook}
@@ -2315,7 +2336,9 @@
}%
}%
\toks@\expandafter{\the\toks@ !}%
- \xdef\HyPsd@CJKhook{\the\toks@}%
+ \xdef\HyPsd@CJKhook@bookmarks{%
+ \the\toks@
+ }%
\endgroup
% \end{macrocode}
% \end{macro}
@@ -2376,6 +2399,234 @@
% \end{macrocode}
% \end{macro}
%
+% \subsubsection{CJK unicode}
+%
+% \begin{macro}{\HyPsd@CJKhook@unicode}
+% \begin{macrocode}
+\def\HyPsd@CJKhook@unicode{%
+ \let\Unicode\HyPsd@CJK@Unicode
+ \let\CJKnumber\HyPsd@CJKnumber
+ \let\CJKdigits\HyPsd@CJKdigits
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\HyPsd@CJK@Unicode}
+% \begin{macrocode}
+\def\HyPsd@CJK@Unicode#1#2{%
+ \ifnum#1<256 %
+ \HyPsd@DecimalToOctalFirst{#1}%
+ \HyPsd@DecimalToOctal{#2}%
+ \else
+ \933%
+ \expandafter\expandafter\expandafter\HyPsd@HighA
+ \intcalcDiv{#1}{4}!%
+ \933%
+ \ifcase\intcalcMod{#1}{4} %
+ 4\or 5\or 6\or 7%
+ \fi
+ \HyPsd@DecimalToOctal{#2}%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\def\HyPsd@HighA#1!{%
+ \expandafter\expandafter\expandafter\HyPsd@HighB
+ \IntCalcDiv#1!64!!%
+ \expandafter\expandafter\expandafter\HyPsd@HighD
+ \IntCalcMod#1!64!!%
+}
+\def\HyPsd@HighB#1!{%
+ \expandafter\expandafter\expandafter\HyPsd@HighC
+ \IntCalcDec#1!!%
+}
+\def\HyPsd@HighC#1!{%
+ \IntCalcDiv#1!4!%
+ \@backslashchar
+ \IntCalcMod#1!4!%
+}
+\def\HyPsd@HighD#1!{%
+ \ifcase\IntCalcDiv#1!8! %
+ 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7%
+ \fi
+ \ifcase\IntCalcMod#1!8! %
+ 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7%
+ \fi
+}
+\def\HyPsd@DecimalToOctalFirst#1{%
+ \9%
+ \ifcase#1 %
+ 000\or 001\or 002\or 003\or 004\or 005\or 006\or 007%
+ \or 010\or 011\or 012\or 013\or 014\or 015\or 016\or 017%
+ \or 020\or 021\or 022\or 023\or 024\or 025\or 026\or 027%
+ \or 030\or 031\or 032\or 033\or 034\or 035\or 036\or 037%
+ \or 040\or 041\or 042\or 043\or 044\or 045\or 046\or 047%
+ \or 050\or 051\or 052\or 053\or 054\or 055\or 056\or 057%
+ \or 060\or 061\or 062\or 063\or 064\or 065\or 066\or 067%
+ \or 070\or 071\or 072\or 073\or 074\or 075\or 076\or 077%
+ \or 100\or 101\or 102\or 103\or 104\or 105\or 106\or 107%
+ \or 120\or 111\or 112\or 113\or 114\or 115\or 116\or 117%
+ \or 120\or 121\or 122\or 123\or 124\or 125\or 126\or 127%
+ \or 130\or 131\or 132\or 133\or 134\or 135\or 136\or 137%
+ \or 140\or 141\or 142\or 143\or 144\or 145\or 146\or 147%
+ \or 150\or 151\or 152\or 153\or 154\or 155\or 156\or 157%
+ \or 160\or 161\or 162\or 163\or 164\or 165\or 166\or 167%
+ \or 170\or 171\or 172\or 173\or 174\or 175\or 176\or 177%
+ \or 200\or 201\or 202\or 203\or 204\or 205\or 206\or 207%
+ \or 210\or 211\or 212\or 213\or 214\or 215\or 216\or 217%
+ \or 220\or 221\or 222\or 223\or 224\or 225\or 226\or 227%
+ \or 230\or 231\or 232\or 233\or 234\or 235\or 236\or 237%
+ \or 240\or 241\or 242\or 243\or 244\or 245\or 246\or 247%
+ \or 250\or 251\or 252\or 253\or 254\or 255\or 256\or 257%
+ \or 260\or 261\or 262\or 263\or 264\or 265\or 266\or 267%
+ \or 270\or 271\or 272\or 273\or 274\or 275\or 276\or 277%
+ \or 300\or 301\or 302\or 303\or 304\or 305\or 306\or 307%
+ \or 310\or 311\or 312\or 313\or 314\or 315\or 316\or 317%
+ \or 320\or 321\or 322\or 323\or 324\or 325\or 326\or 327%
+ \or 330\or 331\or 332\or 333\or 334\or 335\or 336\or 337%
+ \or 340\or 341\or 342\or 343\or 344\or 345\or 346\or 347%
+ \or 350\or 351\or 352\or 353\or 354\or 355\or 356\or 357%
+ \or 360\or 361\or 362\or 363\or 364\or 365\or 366\or 367%
+ \or 370\or 371\or 372\or 373\or 374\or 375\or 376\or 377%
+ \fi
+}
+% \end{macrocode}
+% \begin{macrocode}
+\def\HyPsd@CJKnumber#1{%
+ \ifnum#1<\z@
+ \CJK@minus
+ \expandafter\HyPsd@@CJKnumber\expandafter{\number-\number#1}%
+ \else
+ \expandafter\HyPsd@@CJKnumber\expandafter{\number#1}%
+ \fi
+}
+\def\HyPsd@@CJKnumber#1{%
+ \ifcase#1 %
+ \CJK@zero\or\CJK@one\or\CJK@two\or\CJK@three\or\CJK@four\or
+ \CJK@five\or\CJK@six\or\CJK@seven\or\CJK@eight\or\CJK@nine\or
+ \CJK@ten\or\CJK@ten\CJK@one\or\CJK@ten\CJK@two\or
+ \CJK@ten\CJK@three\or\CJK@ten\CJK@four\or\CJK@ten\CJK@five\or
+ \CJK@ten\CJK@six\or\CJK@ten\CJK@seven\or\CJK@ten\CJK@eight\or
+ \CJK@ten\CJK@nine
+ \else
+ \ifnum#1<10000 %
+ \HyPsd@CJKnumberFour#1!\@empty
+ \@empty
+ \else
+ \ifnum#1<100000000 %
+ \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
+ \IntCalcDiv#1!10000!%
+ !{}%
+ \CJK@tenthousand
+ \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
+ \IntCalcMod#1!10000!%
+ !\CJK@zero
+ \@empty
+ \else
+ \expandafter\HyPsd@CJKnumberLarge
+ \number\IntCalcDiv#1!100000000!\expandafter!%
+ \number\IntCalcMod#1!100000000!!%
+ \fi
+ \fi
+ \fi
+}
+\def\HyPsd@CJKnumberLarge#1!#2!{%
+ \HyPsd@CJKnumberFour#1!{}%
+ \CJK@hundredmillion
+ \ifnum#2=\z@
+ \else
+ \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
+ \IntCalcDiv#2!10000!%
+ !\CJK@zero
+ \CJK@tenthousand
+ \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour
+ \IntCalcMod#2!10000!%
+ !\CJK@zero
+ \@empty
+ \fi
+}
+\def\HyPsd@CJKnumberFour#1!#2{%
+ \ifnum#1=\z@
+ \expandafter\@gobble
+ \else
+ \ifnum#1<1000 %
+ #2%
+ \HyPsd@CJKnumberThree#1!{}%
+ \else
+ \HyPsd@@CJKnumber{\IntCalcDiv#1!1000!}%
+ \CJK@thousand
+ \expandafter\expandafter\expandafter\HyPsd@CJKnumberThree
+ \IntCalcMod#1!1000!%
+ !\CJK@zero
+ \fi
+ \fi
+}
+\def\HyPsd@CJKnumberThree#1!#2{%
+ \ifnum#1=\z@
+ \else
+ \ifnum#1<100 %
+ #2%
+ \HyPsd@CJKnumberTwo#1!{}%
+ \else
+ \HyPsd@@CJKnumber{\IntCalcDiv#1!100!}%
+ \CJK@hundred
+ \expandafter\expandafter\expandafter\HyPsd@CJKnumberTwo
+ \IntCalcMod#1!100!%
+ !\CJK@zero
+ \fi
+ \fi
+}
+\def\HyPsd@CJKnumberTwo#1!#2{%
+ \ifnum#1=\z@
+ \else
+ \ifnum#1<10 %
+ #2%
+ \HyPsd@@CJKnumber{#1}%
+ \else
+ \HyPsd@@CJKnumber{\IntCalcDiv#1!10!}%
+ \CJK@ten
+ \ifnum\IntCalcMod#1!10!=\z@
+ \else
+ \HyPsd@@CJKnumber{\IntCalcMod#1!10!}%
+ \fi
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \begin{macrocode}
+\def\HyPsd@CJKdigits#1{%
+ \ifx*#1\relax
+ \expandafter\HyPsd@@CJKdigits\expandafter\CJK@zero
+ \else
+ \HyPsd@@CJKdigits\CJK@null{#1}%
+ \fi
+}
+\def\HyPsd@@CJKdigits#1#2{%
+ \ifx\\#2\\%
+ \else
+ \HyPsd@@@CJKdigits#1#2\@nil
+ \fi
+}%
+\def\HyPsd@@@CJKdigits#1#2#3\@nil{%
+ \HyPsd@CJKdigit#1{#2}%
+ \ifx\\#3\\%
+ \expandafter\@gobble
+ \else
+ \expandafter\@firstofone
+ \fi
+ {%
+ \HyPsd@@@CJKdigits#1#3\@nil
+ }%
+}
+\def\HyPsd@CJKdigit#1#2{%
+ \ifcase#2 %
+ #1\or
+ \CJK@one\or\CJK@two\or\CJK@three\or\CJK@four\or
+ \CJK@five\or\CJK@six\or\CJK@seven\or\CJK@eight\or\CJK@nine
+ \fi
+}
+% \end{macrocode}
+%
% \subsubsection{\texorpdfstring{\cs{@inmathwarn}}{\\@inmathwarn}-Patch}
% \begin{macro}{\HyPsd@inmathwarn}
% The patch of \cs{@inmathwarn} is needed to get rid of the
@@ -3477,7 +3728,6 @@
% \end{macro}
% \begin{macro}{\HyPsd@Char}
% \begin{macrocode}
-\RequirePackage{intcalc}[2007/09/27]
\begingroup
\catcode0=9 %
\catcode`\^=7 %