texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[6997] xetex pdf outline


From: Gavin D. Smith
Subject: [6997] xetex pdf outline
Date: Sun, 07 Feb 2016 10:57:11 +0000

Revision: 6997
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=6997
Author:   gavin
Date:     2016-02-07 10:57:10 +0000 (Sun, 07 Feb 2016)
Log Message:
-----------
xetex pdf outline

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/doc/texinfo.tex

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog     2016-02-07 10:54:06 UTC (rev 6996)
+++ trunk/ChangeLog     2016-02-07 10:57:10 UTC (rev 6997)
@@ -1,3 +1,12 @@
+2016-02-07  Masamichi Hosoda  <address@hidden>
+
+        * doc/texinfo.tex:
+       Add PDF outline support for XeTeX.
+       (\pdfdest): set destination.
+       (\pdfmkdest): set destination.
+       (\dopdfoutline): make outline element.
+       (\pdfmakeoutlines): make PDF outline.
+
 2016-02-07  Gavin Smith  <address@hidden>
 
        * doc/texinfo.tex (\throughcharactersdefs): Rename to 

Modified: trunk/doc/texinfo.tex
===================================================================
--- trunk/doc/texinfo.tex       2016-02-07 10:54:06 UTC (rev 6996)
+++ trunk/doc/texinfo.tex       2016-02-07 10:57:10 UTC (rev 6997)
@@ -1450,6 +1450,65 @@
 \fi  % \ifx\pdfoutput
 
 %
+% PDF outline support for XeTeX
+%
+\ifx\XeTeXrevision\thisisundefined
+\else
+  \pdfmakepagedesttrue \relax
+  \def\pdfdest name#1 xyz{%
+    \special{pdf:dest (name#1) address@hidden /XYZ @xpos @ypos]}%
+  }
+  \def\pdfmkdest#1{%
+    \special{pdf:dest (name#1) address@hidden /XYZ @xpos @ypos]}%
+  }
+  %
+  \def\dopdfoutline#1#2#3#4{%
+    \edef\pdfoutlinedest{#3}%
+    \ifx\pdfoutlinedest\empty
+      \def\pdfoutlinedest{#4}%
+    \fi
+    %
+    \edef\pdfoutlinetext{#1}%
+    %
+    \special{pdf:out [-] #2 << /Title (#1) /A << /S /GoTo /D 
(name\pdfoutlinedest) >> >> }%
+  }
+  %
+  \def\pdfmakeoutlines{%
+    \begingroup
+      \def\partentry##1##2##3##4{}% ignore parts in the outlines
+      \def\numchapentry##1##2##3##4{%
+        \dopdfoutline{##1}{1}{##3}{##4}}%
+      \def\numsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{2}{##3}{##4}}%
+      \def\numsubsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{3}{##3}{##4}}%
+      \def\numsubsubsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{4}{##3}{##4}}%
+      %
+      \def\appentry{\numchapentry}%
+      \def\appsecentry{\numsecentry}%
+      \def\appsubsecentry{\numsubsecentry}%
+      \def\appsubsubsecentry{\numsubsubsecentry}%
+      \def\unnchapentry{\numchapentry}%
+      \def\unnsecentry{\numsecentry}%
+      \def\unnsubsecentry{\numsubsecentry}%
+      \def\unnsubsubsecentry{\numsubsubsecentry}%
+      %
+      \indexnofonts
+      \setupdatafile
+      %
+      \def\{{\lbracecharliteral}%
+      \def\}{\rbracecharliteral}%
+      \catcode`\\=\active \otherbackslash
+      \input \tocreadfilename
+    \endgroup
+  }
+
+  \special{pdf:docview << /PageMode /UseOutlines >> }
+  \special{pdf:tounicode UTF8-UTF16 }
+\fi
+
+%
 % @image support for XeTeX
 %
 \newif\ifxeteximgpdf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]