diff options
author | Karl Berry <karl@freefriends.org> | 2008-04-19 17:08:57 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-04-19 17:08:57 +0000 |
commit | e01d0e61ce7553ae7d91e31196d754100e418bfc (patch) | |
tree | e5f559860bd3378e2d1e36db609b4ae256b0515f /Master/texmf-dist/source/latex/hyperref | |
parent | 3ebb5d696023c7c1dd3c42045057c647fbe5cd2f (diff) |
hyperref update (18apr08)
git-svn-id: svn://tug.org/texlive/trunk@7520 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/hyperref')
-rw-r--r-- | Master/texmf-dist/source/latex/hyperref/bmhydoc.sty | 10 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/hyperref/hyperref.dtx | 809 |
2 files changed, 534 insertions, 285 deletions
diff --git a/Master/texmf-dist/source/latex/hyperref/bmhydoc.sty b/Master/texmf-dist/source/latex/hyperref/bmhydoc.sty index dc9d5d847fa..a250f2261e6 100644 --- a/Master/texmf-dist/source/latex/hyperref/bmhydoc.sty +++ b/Master/texmf-dist/source/latex/hyperref/bmhydoc.sty @@ -71,14 +71,16 @@ \ignorespaces }% \begin{description} - \entry{manual.pdf}{Manual} - The user documentation is also available as HTML. - \entry{README.pdf}{README} + \entry{manual.pdf}{\textbf{Manual}} + The \textbf{USER MANUAL} (also available as HTML). + \entry{README.pdf}{\textbf{README}} + The \textbf{README} file (also available as text file). Here information is collected that is not yet in the manual: new features, package compatibility, limitations, known problems, \dots \entry{ChangeLog.pdf}{ChangeLog} - This file records the version history. + This file records the version history + (also available as text file). \entry{options.pdf}{Options} This file provides a short option summary. \entry{slides.pdf}{Bookmark talk, slides} diff --git a/Master/texmf-dist/source/latex/hyperref/hyperref.dtx b/Master/texmf-dist/source/latex/hyperref/hyperref.dtx index 3fcb559f2f3..f38a70fe03c 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> [2008/04/12 v6.77m +%<!none> [2008/04/17 v6.77q %<package> Hypertext links for LaTeX] %<nohyperref> Dummy hyperref (SR)] %<driver> Hyperref documentation driver file] @@ -116,7 +116,7 @@ \end{document} %</driver> % \fi -% \CheckSum{22290} +% \CheckSum{22578} % % \MakeShortVerb{|} % \StopEventually{} @@ -625,6 +625,7 @@ \newif\ifHy@verbose \newif\ifHy@windowui \newif\ifHy@displaydoctitle +\newif\ifHy@pdfa % \end{macrocode} % Defaults for the switches are now set. % \begin{macrocode} @@ -663,6 +664,7 @@ \Hy@verbosefalse \Hy@windowuitrue \Hy@displaydoctitlefalse +\Hy@pdfafalse % \end{macrocode} % % \section{Common help macros} @@ -3186,7 +3188,9 @@ }% }% \def\HyPsd@UTFviii@ccxliv@undef{\@inpenc@undefined@{utf8}}% - \edef\HyPsd@UTFviii@ccxliv@def{\noexpand\UTFviii@four@octets\string^^f4}% + \edef\HyPsd@UTFviii@ccxliv@def{% + \noexpand\UTFviii@four@octets\string ^^f4% + }% % \end{macrocode} % % The two octet form of UTF-8 |110aaabb| (A) and |10cccddd| (B) @@ -3453,7 +3457,7 @@ % \begin{macrocode} \let\literalps@out\@gobble \newcommand\pdfbookmark[3][]{} -\let\Acrobatmenu\@gobble +\def\Acrobatmenu#1#2{\leavevmode#2} \def\Hy@writebookmark#1#2#3#4#5{}% % \end{macrocode} % @@ -3733,6 +3737,32 @@ } \define@key{Hyp}{linktocpage}[true]{% \Hy@boolkey{linktocpage}{#1}% + \ifHy@linktocpage + \let\Hy@linktoc\Hy@linktoc@page + \else + \let\Hy@linktoc\Hy@linktoc@section + \fi +} +\chardef\Hy@linktoc@none=0 % +\chardef\Hy@linktoc@section=1 % +\chardef\Hy@linktoc@page=2 % +\chardef\Hy@linktoc@all=3 % +\ifHy@linktocpage + \let\Hy@linktoc\Hy@linktoc@page +\else + \let\Hy@linktoc\Hy@linktoc@section +\fi +\define@key{Hyp}{linktoc}{% + \@ifundefined{Hy@linktoc@#1}{% + \Hy@Warning{% + Unexpected value `#1' of\MessageBreak + option `linktoc' instead of `none',\MessageBreak + `section', `page' or `all'% + }% + }{% + \expandafter\let\expandafter\Hy@linktoc + \csname Hy@linktoc@#1\endcsname + }% } \define@key{Hyp}{extension}{\def\XR@ext{#1}} \def\XR@ext{dvi} @@ -4934,6 +4964,9 @@ \define@key{Hyp}{pdfdisplaydoctitle}[true]{% \Hy@boolkey[pdfdisplaydoctitle]{displaydoctitle}{#1}% } +\define@key{Hyp}{pdfa}[true]{% + \Hy@boolkey{pdfa}{#1}% +} \define@key{Hyp}{pdfnewwindow}[true]{% \def\Hy@temp{#1}% \ifx\Hy@temp\@empty @@ -5081,7 +5114,7 @@ \def\hyper@linkurl#1#2{#1}% \def\hyper@linkfile#1#2#3{#1}% \def\hyper@link@[#1]#2#3{}% - \def\Acrobatmenu#1#2{#2}% + \def\Acrobatmenu#1#2{\leavevmode#2}% \let\PDF@SetupDoc\@empty \let\PDF@FinishDoc\@empty \let\@fifthoffive\@secondoftwo @@ -5097,6 +5130,59 @@ \Hy@DisableOption{pdfversion}% % \end{macrocode} % +% \subsection{PDF/A} +% +% \begin{macrocode} +\Hy@DisableOption{pdfa} +% \end{macrocode} +% +% \begin{macrocode} +\ifHy@pdfa + \def\Hy@Acrobatmenu#1#2{% + \leavevmode + \begingroup + \edef\x{#1}% + \@onelevel@sanitize\x + \ifx\x\Hy@NextPage + \let\y=Y% + \else + \ifx\x\Hy@PrevPage + \let\y=Y% + \else + \ifx\x\Hy@FirstPage + \let\y=Y% + \else + \ifx\x\Hy@LastPage + \let\y=Y% + \else + \let\y=N% + \fi + \fi + \fi + \fi + \expandafter\endgroup + \ifx\y Y% + \else + \PackageError{hyperref}{% + PDF/A: Named action `#1' is not permitted% + }\@ehc + {#2}% + \expandafter\@gobble + \fi + }% + \def\Hy@temp#1{% + \expandafter\def\csname Hy@#1\endcsname{#1}% + \expandafter\@onelevel@sanitize\csname Hy@#1\endcsname + }% + \Hy@temp{NextPage}% + \Hy@temp{PrevPage}% + \Hy@temp{FirstPage}% + \Hy@temp{LastPage}% +\else + \def\Hy@Acrobatmenu#1#2{\leavevmode}% +\fi +% \end{macrocode} +% % \subsection{Patch for babel's % \texorpdfstring{\cs{texttilde}}{\\texttilde}} % Babel does not define \cmd{\texttilde} in NFSS2 manner, @@ -5113,6 +5199,43 @@ \fi % \end{macrocode} % +% \subsection{Patch for babel 3.8j} +% Babel 2008/03/16 v3.8j adds a patch to disable shorthands +% for bookmarks. That reduces warnings, but the bookmarks +% are ugly. Therefore the following patch tries to undo this. +% \begin{macrocode} +\@ifpackageloaded{babel}{% + \@ifpackagelater{babel}{2008/03/16}{% + \def\Hy@PatchLanguageShorthands#1{% + \begingroup + \edef\x{#1}% + \@onelevel@sanitize\x + \def\y{system}% + \@onelevel@sanitize\y + \expandafter\endgroup + \ifx\x\y + \else + \HyOrg@languageshorthands{#1}% + \fi + }% + \AtBeginDocument{% + \begingroup + \toks0=\expandafter{\pdfstringdefPreHook}% + \xdef\pdfstringdefPreHook{% + \let\noexpand\HyOrg@languageshorthands + \noexpand\languageshorthands + \let\noexpand\languageshorthands + \noexpand\Hy@PatchLanguageShorthands + \the\toks0 % + \let\noexpand\languageshorthands + \noexpand\HyOrg@languageshorthands + }% + \endgroup + }% + }{}% +}{} +% \end{macrocode} +% % \begin{macrocode} \ifHy@figures \Hy@Info{Hyper figures ON}% @@ -5698,7 +5821,17 @@ % if it starts `run:', its to launch an application. % \begin{macrocode} \ifx\@pdftempa\@pdftempwordrun - \expandafter\@hyper@launch#7\\{#3}{#2}% + \ifHy@pdfa + \PackageError{hyperref}{% + PDF/A: Launch action is prohibited% + }\@ehc + \begingroup + \leavevmode + #2% + \endgroup + \else + \expandafter\@hyper@launch#7\\{#3}{#2}% + \fi \else % \end{macrocode} % otherwise its a URL @@ -6041,6 +6174,41 @@ \HyField@NewFlag{F}{LockedContents}{10}% PDF 1.7 % \end{macrocode} % +% \begin{macrocode} +\ifHy@pdfa + \def\HyField@PDFAFlagWarning#1#2{% + \Hy@Warning{% + PDF/A: Annotation flag `#1' must\MessageBreak + be set to `#2'% + }% + }% + \Fld@invisiblefalse + \def\Fld@invisibletrue{% + \HyField@PDFAFlagWarning{invisible}{false}% + }% + \Fld@hiddenfalse + \def\Fld@hiddentrue{% + \HyField@PDFAFlagWarning{hidden}{false}% + }% + \Fld@printtrue + \def\Fld@printfalse{% + \HyField@PDFAFlagWarning{print}{true}% + }% + \Fld@nozoomtrue + \def\Fld@nozoomfalse{% + \HyField@PDFAFlagWarning{nozoom}{true}% + }% + \Fld@norotatetrue + \def\Fld@norotatefalse{% + \HyField@PDFAFlagWarning{norotate}{true}% + }% + \Fld@noviewfalse + \def\Fld@noviewtrue{% + \HyField@PDFAFlagWarning{noview}{false}% + }% +\fi +% \end{macrocode} +% % Submit flags. Flag 1 Include/Exclude is not supported, % use option noexport instead. % \begin{macrocode} @@ -6573,67 +6741,42 @@ \def\Fld@onmouseup@code{} \def\Fld@onenter@code{} \def\Fld@onexit@code{} -\define@key{Field}{keystroke}{% - \def\Fld@keystroke@code{#1}% -} -\define@key{Field}{format}{% - \def\Fld@format@code{#1}% -} -\define@key{Field}{validate}{% - \def\Fld@validate@code{#1}% -} -\define@key{Field}{calculate}{% - \def\Fld@calculate@code{#1}% -} -\define@key{Field}{onfocus}{% - \def\Fld@onfocus@code{#1}% -} -\define@key{Field}{onblur}{% - \def\Fld@onblur@code{#1}% -} -\define@key{Field}{onenter}{% - \def\Fld@onenter@code{#1}% -} -\define@key{Field}{onexit}{% - \def\Fld@onexit@code{#1}% -} -\define@key{Field}{onselect}{% - \Field@addtoks{onselect}{#1}% -} -\define@key{Field}{onchange}{% - \Field@addtoks{onchange}{#1}% -} -\define@key{Field}{onclick}{% - \def\Fld@onclick{#1}% - \Field@addtoks{onclick}{#1}% -} -\define@key{Field}{ondblclick}{% - \Field@addtoks{ondblclick}{#1}% -} -\define@key{Field}{onmousedown}{% - \Field@addtoks{onmousedown}{#1}% -} -\define@key{Field}{onmouseup}{% - \Field@addtoks{onmouseup}{#1}% -} -\define@key{Field}{onmouseover}{% - \Field@addtoks{onmouseover}{#1}% -} -\define@key{Field}{onmousemove}{% - \Field@addtoks{onmousemove}{#1}% -} -\define@key{Field}{onmouseout}{% - \Field@addtoks{onmouseout}{#1}% -} -\define@key{Field}{onkeypress}{% - \Field@addtoks{onkeypress}{#1}% -} -\define@key{Field}{onkeydown}{% - \Field@addtoks{onkeydown}{#1}% +\def\Hy@temp#1{% + \expandafter\Hy@@temp\csname Fld@#1@code\endcsname{#1}% } -\define@key{Field}{onkeyup}{% - \Field@addtoks{onkeyup}{#1}% +\def\Hy@@temp#1#2{% + \ifHy@pdfa + \define@key{Field}{#2}{% + \PackageError{hyperref}{% + PDF/A: Additional action #2 is prohibited% + }\@ehc + }% + \else + \define@key{Field}{#2}{% + \def#1{##1}% + }% + \fi } +\Hy@temp{keystroke} +\Hy@temp{format} +\Hy@temp{validate} +\Hy@temp{calculate} +\Hy@temp{onfocus} +\Hy@temp{onblur} +\Hy@temp{onenter} +\Hy@temp{onexit} +\Hy@temp{onselect} +\Hy@temp{onchange} +\Hy@temp{onclick} +\Hy@temp{ondblclick} +\Hy@temp{onmousedown} +\Hy@temp{onmouseup} +\Hy@temp{onmouseover} +\Hy@temp{onmousemove} +\Hy@temp{onmouseout} +\Hy@temp{onkeypress} +\Hy@temp{onkeydown} +\Hy@temp{onkeyup} % \DeclareRobustCommand\TextField{% \@ifnextchar[{\@TextField}{\@TextField[]}% @@ -6853,7 +6996,7 @@ % \end{macrocode} % Some top-level commands: % \begin{macrocode} -\let\Acrobatmenu\@gobble +\def\Acrobatmenu#1#2{\leavevmode#2} \let\pdfstringdefDisableCommands\@gobbletwo \let\texorpdfstring\@firstoftwo \let\pdfbookmark\@undefined @@ -7718,6 +7861,12 @@ \def\@Alph{Alph\@arabic}% \fi }% + \ifx\@Alph\@Alph@bul + \def\@Alph{Alph\@arabic}% + \fi + \ifx\@alph\@alph@bul + \def\@alph{alph\@arabic}% + \fi \ifHy@naturalnames \let\textlatin\@firstofone \xdef\@currentHlabel{\csname the#1\endcsname}% @@ -8960,14 +9109,22 @@ \ifx\\#4\\% \csname l@#1\endcsname{#2}{#3}% \else - \ifHy@linktocpage + \ifcase\Hy@linktoc % none + \csname l@#1\endcsname{#2}{#3}% + \or % section + \csname l@#1\endcsname{% + \hyper@linkstart{link}{#4}{#2}\hyper@linkend + }{#3}% + \or % page \csname l@#1\endcsname{{#2}}{% \hyper@linkstart{link}{#4}{#3}\hyper@linkend }% - \else + \else % all \csname l@#1\endcsname{% \hyper@linkstart{link}{#4}{#2}\hyper@linkend - }{#3}% + }{% + \hyper@linkstart{link}{#4}{#3}\hyper@linkend + }% \fi \fi } @@ -9013,22 +9170,34 @@ % of theirs. Damned if we are going to try and work out what % they get up to. Just stick a label of `AMS' on the front, and use the % label \emph{they} worked out. If that produces something invalid, I give -% up. They'll change all the code again anyway, I expect. +% up. They'll change all the code again anyway, I expect (SR). +% +% Version 6.77p uses a patch by Ross Moore. % \begin{macrocode} -\let\Hmake@df@tag@@\make@df@tag@@ -\def\make@df@tag@@#1{% - \Hmake@df@tag@@{#1}% - \Hy@GlobalStepCount\Hy@linkcounter - \xdef\@currentHref{AMS.\the\Hy@linkcounter}% - \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}% -} -\let\Hmake@df@tag@@@\make@df@tag@@@ -\def\make@df@tag@@@#1{% - \Hmake@df@tag@@@{#1}% - \Hy@GlobalStepCount\Hy@linkcounter - \xdef\@currentHref{AMS.\the\Hy@linkcounter}% - \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}% -} +\@ifpackageloaded{amsmath}{% + \def\Hy@make@anchor{% + \Hy@GlobalStepCount\Hy@linkcounter + \xdef\@currentHref{AMS.\the\Hy@linkcounter}% + \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}% + }% + \def\Hy@make@df@tag@@#1{% + \gdef\df@tag{% + \maketag@@@{\Hy@make@anchor#1}% + \def\@currentlabel{#1}% + }% + }% + \def\Hy@make@df@tag@@@#1{% + \gdef\df@tag{% + \tagform@{\Hy@make@anchor#1}% + \toks@\@xp{\p@equation{#1}}% + \edef\@currentlabel{\the\toks@}% + }% + }% + \let\HyOrg@make@df@tag@@\make@df@tag@@ + \let\HyOrg@make@df@tag@@@\make@df@tag@@@ + \let\make@df@tag@@\Hy@make@df@tag@@ + \let\make@df@tag@@@\Hy@make@df@tag@@@ +}{} % \end{macrocode} % Only play with |\seteqlebal| if we are using pdftex. Other drivers % cause problems; requested by Michael Downes (AMS). @@ -9924,6 +10093,7 @@ \Hy@pstringdef\Hy@testname\Hy@testname \fi \Hy@StartlinkName{% + \ifHy@pdfa /F 4\fi \Hy@setpdfborder \ifx\@pdfhighlight\@empty \else @@ -9980,6 +10150,7 @@ }% user{% /Subtype/Link% + \ifHy@pdfa /F 4\fi /A<<% /Type/Action% /S/URI% @@ -9993,8 +10164,8 @@ } \def\hyper@linkfile#1#2#3{% anchor text, filename, linkname \begingroup - \Hy@pstringdef\Hy@pstringF{#2}% - \Hy@pstringdef\Hy@pstringD{#3}% + \Hy@pstringdef\Hy@pstringF{#2}% + \Hy@pstringdef\Hy@pstringD{#3}% \leavevmode \pdfstartlink attr{% @@ -10010,6 +10181,7 @@ }% user {% /Subtype/Link% + \ifHy@pdfa /F 4\fi /A<<% /F(\Hy@pstringF)% /S/GoToR% @@ -10059,6 +10231,7 @@ }% user {% /Subtype/Link% + \ifHy@pdfa /F 4\fi /A<<% /F(\Hy@pstringF)% /S/Launch% @@ -10441,27 +10614,29 @@ \Hy@DisableOption{setpagesize}% } \def\Acrobatmenu#1#2{% - \leavevmode - \pdfstartlink - attr{% - \Hy@setpdfborder - \ifx\@pdfhighlight\@empty - \else - /H\@pdfhighlight - \fi - \ifx\@menubordercolor\relax - \else - /C[\@menubordercolor]% - \fi - }% - user{% - /Subtype/Link% - /A<<% - /S/Named/N/#1% - >>% - }% - \relax - \Hy@colorlink\@menucolor#2\close@pdflink + \Hy@Acrobatmenu{#1}{#2}{% + \pdfstartlink + attr{% + \Hy@setpdfborder + \ifx\@pdfhighlight\@empty + \else + /H\@pdfhighlight + \fi + \ifx\@menubordercolor\relax + \else + /C[\@menubordercolor]% + \fi + }% + user{% + /Subtype/Link% + \ifHy@pdfa /F 4\fi + /A<<% + /S/Named/N/#1% + >>% + }% + \relax + \Hy@colorlink\@menucolor#2\close@pdflink + }% } %</pdftex> %<*hypertex> @@ -10938,6 +11113,7 @@ bann<<% /Type/Annot% /Subtype/Link% + \ifHy@pdfa /F 4\fi \Hy@setpdfborder \expandafter\ifx\csname @#1bordercolor\endcsname\relax \else @@ -10966,6 +11142,7 @@ bann<<% /Type/Annot% /Subtype/Link% + \ifHy@pdfa /F 4\fi \Hy@setpdfborder \ifx\@filebordercolor\relax \else @@ -10982,33 +11159,6 @@ \Hy@colorlink\@filecolor#1\Hy@endcolorlink \@pdfm@mark{eann}% } -\def\@hyper@launch run:#1\\#2#3{% filename, anchor text linkname - \Hy@pstringdef\Hy@pstringF{#1}% - \Hy@pstringdef\Hy@pstringP{#3}% - \leavevmode - \@pdfm@mark{% - bann<<% - /Type/Annot% - /Subtype/Link% - \Hy@setpdfborder - \ifx\@runbordercolor\relax - \else - /C[\@runbordercolor]% - \fi - /A<<% - /S/Launch% - /F(\Hy@pstringF)% - \Hy@SetNewWindow - \ifx\\#3\\% - \else - /Win<</P(\Hy@pstringP)/F(\Hy@pstringF)>>% - \fi - >>% - >>% - }% - \Hy@colorlink\@runcolor#2\Hy@endcolorlink - \@pdfm@mark{eann}% -} \def\hyper@linkurl#1#2{% \Hy@pstringdef\Hy@pstringURI{#2}% \leavevmode @@ -11016,6 +11166,7 @@ bann<<% /Type/Annot% /Subtype/Link% + \ifHy@pdfa /F 4\fi \Hy@setpdfborder \ifx\@urlbordercolor\relax \else @@ -11031,24 +11182,26 @@ \@pdfm@mark{eann}% } \def\Acrobatmenu#1#2{% - \leavevmode - \@pdfm@mark{% - bann<<% - /Type/Annot% - /Subtype/Link% - /A<<% - /S/Named% - /N/#1% + \Hy@Acrobatmenu{#1}{#2}{% + \@pdfm@mark{% + bann<<% + /Type/Annot% + /Subtype/Link% + \ifHy@pdfa /F 4\fi + /A<<% + /S/Named% + /N/#1% + >>% + \Hy@setpdfborder + \ifx\@menubordercolor\relax + \relax + /C[\@menubordercolor]% + \fi >>% - \Hy@setpdfborder - \ifx\@menubordercolor\relax - \relax - /C[\@menubordercolor]% - \fi - >>% + }% + \Hy@colorlink\@menucolor#2\Hy@endcolorlink + \@pdfm@mark{eann}% }% - \Hy@colorlink\@menucolor#2\Hy@endcolorlink - \@pdfm@mark{eann}% } \ifx\@pdfproducer\relax \def\@pdfproducer{dvipdfm}% @@ -11349,6 +11502,7 @@ \special{!% aref <u=/Type /Action /S /URI /URI (\Hy@pstringURI)>;% a=<% + \ifHy@pdfa /F 4\fi \Hy@setpdfborder \ifx\CurrentBorderColor\relax \else @@ -11364,6 +11518,7 @@ \special{!% aref \Hy@testname;% a=<% + \ifHy@pdfa /F 4\fi \Hy@setpdfborder \ifx\CurrentBorderColor\relax \else @@ -11384,6 +11539,7 @@ \ifnum\Hy@VTeXversion>753 \ifHy@newwindow n\fi\fi f=#2>#3;% a=<% + \ifHy@pdfa /F 4\fi \Hy@setpdfborder \ifx\@filebordercolor\relax \else @@ -11402,6 +11558,7 @@ \special{!% aref <u=/Type /Action /S /URI /URI (\Hy@pstringURI)>;% a=<% + \ifHy@pdfa /F 4\fi \Hy@setpdfborder \ifx\@urlbordercolor\relax \else @@ -11427,6 +11584,7 @@ \special{!% aref \Hy@testname;% a=<% + \ifHy@pdfa /F 4\fi \Hy@setpdfborder \ifx\CurrentBorderColor\relax \else @@ -11453,6 +11611,7 @@ \ifx\\#3\\\else /Win<</F(\Hy@pstringF)/P(\Hy@pstringP)>>\fi% >;% a=<% + \ifHy@pdfa /F 4\fi \Hy@setpdfborder \ifx\@runbordercolor\relax \else @@ -11464,19 +11623,21 @@ \special{!endaref}% } \def\Acrobatmenu#1#2{% - \leavevmode - \special{!% - aref <u=/S /Named /N /#1>;% - a=<% - \Hy@setpdfborder - \ifx\@menubordercolor\relax - \else - /C[\@menubordercolor]% - \fi - >% + \Hy@Acrobatmenu{#1}{#2}{% + \special{!% + aref <u=/S /Named /N /#1>;% + a=<% + \ifHy@pdfa /F 4\fi + \Hy@setpdfborder + \ifx\@menubordercolor\relax + \else + /C[\@menubordercolor]% + \fi + >% + }% + \Hy@colorlink\@menucolor#2\Hy@endcolorlink + \special{!endaref}% }% - \Hy@colorlink\@menucolor#2\Hy@endcolorlink - \special{!endaref}% } % \end{macrocode} % @@ -12006,6 +12167,7 @@ pdfmark=/ANN,% linktype=link,% Subtype=/Link,% + PDFAFlags=4,% Dest=\hyper@currentanchor,% AcroHighlight=\@pdfhighlight,% Border=\@pdfborder,% @@ -12141,6 +12303,7 @@ BorderStyle=\@pdfborderstyle,% pdfmark=/ANN,% Subtype=/Link,% + PDFAFlags=4,% Dest=\Hy@testname }% %</pdfmarkbase> @@ -12472,6 +12635,11 @@ \define@key{PDF}{File}{\pdf@addtoks{(#1)}{File}} % parameter is a int \define@key{PDF}{Flags}{\pdf@addtoks{#1}{Flags}} +\define@key{PDF}{PDFAFlags}{% + \ifHy@pdfa + \pdf@addtoks{#1}{F}% + \fi +} % parameter is a name \define@key{PDF}{AcroHighlight}{% \begingroup @@ -12530,14 +12698,17 @@ %</pdfmarkbase|dvipdf> %<*pdfmark|dvipdf> \def\Acrobatmenu#1#2{% - \pdfmark[{#2}]{% - linktype=menu,% - pdfmark=/ANN,% - AcroHighlight=\@pdfhighlight,% - Border=\@pdfborder,% - BorderStyle=\@pdfborderstyle,% - Action={<< /Subtype /Named /N /#1 >>},% - Subtype=/Link% + \Hy@Acrobatmenu{#1}{#2}{% + \pdfmark[{#2}]{% + linktype=menu,% + pdfmark=/ANN,% + AcroHighlight=\@pdfhighlight,% + Border=\@pdfborder,% + BorderStyle=\@pdfborderstyle,% + Action={<< /Subtype /Named /N /#1 >>},% + Subtype=/Link,% + PDFAFlags=4% + }% }% } % \end{macrocode} @@ -12552,6 +12723,7 @@ Color=.2 .1 .5,% pdfmark=/ANN,% Subtype=/Link,% + PDFAFlags=4,% Page=/Next% }% } @@ -12566,6 +12738,7 @@ Color=.4 .4 .1,% pdfmark=/ANN,% Subtype=/Link,% + PDFAFlags=4,% Page=/Prev% }% } @@ -12589,7 +12762,8 @@ BorderStyle=\@pdfborderstyle,% Color=\@urlbordercolor,% Action={<< /Subtype /URI /URI (\Hy@pstringURI) >>},% - Subtype=/Link% + Subtype=/Link,% + PDFAFlags=4% }% %</pdfmarkbase> %<*dvipdf> @@ -12614,6 +12788,7 @@ \pdfmark[{#1}]{% pdfmark=/ANN,% Subtype=/Link,% + PDFAFlags=4,% AcroHighlight=\@pdfhighlight,% Border=\@pdfborder,% BorderStyle=\@pdfborderstyle,% @@ -12658,6 +12833,7 @@ \pdfmark[{#2}]{% pdfmark=/ANN,% Subtype=/Link,% + PDFAFlags=4,% AcroHighlight=\@pdfhighlight,% Border=\@pdfborder,% BorderStyle=\@pdfborderstyle,% @@ -13673,7 +13849,10 @@ >>% /DA(/Helv 10 Tf 0 g)% /CO{corder}% - /NeedAppearances true% + \ifHy@pdfa + \else + /NeedAppearances true% + \fi >>% /PUT pdfmark% [% @@ -13818,14 +13997,25 @@ \expandafter\HyField@SetKeys\expandafter{% \DefaultOptionsofPushButton,#1% }% - \HyField@FlagsPushButton - \ifFld@hidden\def\Fld@width{1sp}\fi - \LayoutPushButtonField{% - \Hy@escapeform\PDFForm@Push - \pdfmark[\MakeButtonField{#2}]{% - pdfmark=/ANN,Raw={\PDFForm@Push}% + \ifHy@pdfa + \PackageError{hyperref}{% + PDF/A: Push button with JavaScript is prohibited% + }\@ehc + \LayoutPushButtonField{% + \leavevmode + \MakeButtonField{#2}% }% - }% + \else + \HyField@FlagsPushButton + \ifFld@hidden\def\Fld@width{1sp}\fi + \LayoutPushButtonField{% + \leavevmode + \Hy@escapeform\PDFForm@Push + \pdfmark[\MakeButtonField{#2}]{% + pdfmark=/ANN,Raw={\PDFForm@Push}% + }% + }% + \fi \endgroup } \def\@Submit[#1]#2{% @@ -13854,14 +14044,22 @@ \expandafter\HyField@SetKeys\expandafter{% \DefaultOptionsofReset,#1% }% - \HyField@FlagsPushButton - \ifFld@hidden\def\Fld@width{1sp}\fi - \Hy@escapeform\PDFForm@Reset - \pdfmark[\MakeButtonField{#2}]{% - pdfmark=/ANN,Raw={\PDFForm@Reset}% - }% + \leavevmode + \ifHy@pdfa + \PackageError{hyperref}{% + PDF/A: Reset action is prohibited% + }\@ehc + \MakeButtonField{#2}% + \else + \HyField@FlagsPushButton + \ifFld@hidden\def\Fld@width{1sp}\fi + \Hy@escapeform\PDFForm@Reset + \pdfmark[\MakeButtonField{#2}]{% + pdfmark=/ANN,Raw={\PDFForm@Reset}% + }% + \fi \endgroup -} +}% \def\@CheckBox[#1]#2{% parameters, label \def\Fld@name{#2}% \def\Fld@default{0}% @@ -14264,15 +14462,25 @@ \DefaultOptionsofPushButton,#1% }% \PDFForm@Name - \HyField@FlagsPushButton - \ifFld@hidden\def\Fld@width{1sp}\fi - \LayoutPushButtonField{% - \leavevmode - \Hy@escapeform\PDFForm@Push - \pdfstartlink user {\PDFForm@Push}\relax - \MakeButtonField{#2}% - \pdfendlink - }% + \ifHy@pdfa + \PackageError{hyperref}{% + PDF/A: Push button with JavaScript is prohibited% + }\@ehc + \LayoutPushButtonField{% + \leavevmode + \MakeButtonField{#2}% + }% + \else + \HyField@FlagsPushButton + \ifFld@hidden\def\Fld@width{1sp}\fi + \LayoutPushButtonField{% + \leavevmode + \Hy@escapeform\PDFForm@Push + \pdfstartlink user {\PDFForm@Push}\relax + \MakeButtonField{#2}% + \pdfendlink + }% + \fi \endgroup } \def\@Submit[#1]#2{% @@ -14305,13 +14513,20 @@ \expandafter\HyField@SetKeys\expandafter{% \DefaultOptionsofReset,#1% }% - \HyField@FlagsPushButton - \ifFld@hidden\def\Fld@width{1sp}\fi \leavevmode - \Hy@escapeform\PDFForm@Reset - \pdfstartlink user {\PDFForm@Reset}\relax - \MakeButtonField{#2}% - \pdfendlink + \ifHy@pdfa + \PackageError{hyperref}{% + PDF/A: Reset action is prohibited% + }\@ehc + \MakeButtonField{#2}% + \else + \HyField@FlagsPushButton + \ifFld@hidden\def\Fld@width{1sp}\fi + \Hy@escapeform\PDFForm@Reset + \pdfstartlink user {\PDFForm@Reset}\relax + \MakeButtonField{#2}% + \pdfendlink + \fi \endgroup } \def\@CheckBox[#1]#2{% parameters, label @@ -14398,7 +14613,10 @@ >>% >>% /DA(/Helv 10 Tf 0 g)% - /NeedAppearances true% + \ifHy@pdfa + \else + /NeedAppearances true% + \fi >>% } \edef\OBJ@acroform{\the\pdflastobj} @@ -14438,7 +14656,10 @@ >>% /DA(/Helv 10 Tf 0 g)% /CO @corder% - /NeedAppearances true% + \ifHy@pdfa + \else + /NeedAppearances true% + \fi >>% }% \@pdfm@mark{put @catalog <</AcroForm @aform>>}% @@ -14666,21 +14887,31 @@ \DefaultOptionsofPushButton,#1% }% \PDFForm@Name - \HyField@FlagsPushButton - \ifFld@hidden\def\Fld@width{1sp}\fi - \setbox\pdfm@box=\hbox{\MakeButtonField{#2}}% - \HyField@AdvanceAnnotCount - \LayoutPushButtonField{% - \leavevmode - \Hy@escapeform\PDFForm@Push - \@pdfm@mark{% - ann @push\HyField@TheAnnotCount\space - \dvipdfm@setdim - <<\PDFForm@Push>>% + \ifHy@pdfa + \PackageError{hyperref}{% + PDF/A: Push button with JavaScript is prohibited% + }\@ehc + \LayoutPushButtonField{% + \leavevmode + \MakeButtonField{#2}% }% - }% - \unhbox\pdfm@box - \@pdfm@mark{put @afields @push\HyField@TheAnnotCount}% + \else + \setbox\pdfm@box=\hbox{\MakeButtonField{#2}}% + \HyField@FlagsPushButton + \ifFld@hidden\def\Fld@width{1sp}\fi + \HyField@AdvanceAnnotCount + \LayoutPushButtonField{% + \leavevmode + \Hy@escapeform\PDFForm@Push + \@pdfm@mark{% + ann @push\HyField@TheAnnotCount\space + \dvipdfm@setdim + <<\PDFForm@Push>>% + }% + }% + \unhbox\pdfm@box + \@pdfm@mark{put @afields @push\HyField@TheAnnotCount}% + \fi \endgroup } % \end{macrocode} @@ -14725,19 +14956,26 @@ \expandafter\HyField@SetKeys\expandafter{% \DefaultOptionsofReset,#1% }% - \HyField@FlagsPushButton - \ifFld@hidden\def\Fld@width{1sp}\fi - \setbox\pdfm@box=\hbox{\MakeButtonField{#2}}% \leavevmode - \Hy@escapeform\PDFForm@Reset - \HyField@AdvanceAnnotCount - \@pdfm@mark{% - ann @reset\HyField@TheAnnotCount\space - \dvipdfm@setdim - <<\PDFForm@Reset>>% - }% - \unhbox\pdfm@box - \@pdfm@mark{put @afields @reset\HyField@TheAnnotCount}% + \ifHy@pdfa + \PackageError{hyperref}{% + PDF/A: Reset action is prohibited% + }\@ehc + \MakeButtonField{#2}% + \else + \HyField@FlagsPushButton + \ifFld@hidden\def\Fld@width{1sp}\fi + \setbox\pdfm@box=\hbox{\MakeButtonField{#2}}% + \Hy@escapeform\PDFForm@Reset + \HyField@AdvanceAnnotCount + \@pdfm@mark{% + ann @reset\HyField@TheAnnotCount\space + \dvipdfm@setdim + <<\PDFForm@Reset>>% + }% + \unhbox\pdfm@box + \@pdfm@mark{put @afields @reset\HyField@TheAnnotCount}% + \fi \endgroup } % \end{macrocode} @@ -14929,31 +15167,34 @@ % \end{macro} % \begin{macro}{\PDFForm@Push} % \begin{macrocode} -\def\PDFForm@Push{% - /Subtype/Widget% - \Fld@annotflags - /T(\Fld@name)% - /FT/Btn% - \Fld@flags - /H/P% - /BS<</W \Fld@borderwidth/S/\Fld@borderstyle>>% - \ifcase0\ifnum\Fld@rotation=\z@ \else 1\fi - \ifx\Fld@bordercolor\relax\else 1\fi - \space - \else - /MK<<% - \ifnum\Fld@rotation=\z@ - \else - /R \Fld@rotation - \fi - \ifx\Fld@bordercolor\relax - \else - /BC[\Fld@bordercolor]% - \fi - >>% - \fi - /A<</S/JavaScript/JS(\Hy@escapestring{\Fld@onclick})>>% -} +\ifHy@pdfa +\else + \def\PDFForm@Push{% + /Subtype/Widget% + \Fld@annotflags + /T(\Fld@name)% + /FT/Btn% + \Fld@flags + /H/P% + /BS<</W \Fld@borderwidth/S/\Fld@borderstyle>>% + \ifcase0\ifnum\Fld@rotation=\z@ \else 1\fi + \ifx\Fld@bordercolor\relax\else 1\fi + \space + \else + /MK<<% + \ifnum\Fld@rotation=\z@ + \else + /R \Fld@rotation + \fi + \ifx\Fld@bordercolor\relax + \else + /BC[\Fld@bordercolor]% + \fi + >>% + \fi + /A<</S/JavaScript/JS(\Hy@escapestring{\Fld@onclick})>>% + }% +\fi % \end{macrocode} % \end{macro} % @@ -15034,7 +15275,10 @@ \def\Fld@additionalactions{% \if-\Fld@@additionalactions-% \else - /AA<<\Fld@@additionalactions>>% + \ifHy@pdfa + \else + /AA<<\Fld@@additionalactions>>% + \fi \fi } % \end{macrocode} @@ -15190,34 +15434,37 @@ % \end{macro} % \begin{macro}{\PDFForm@Reset} % \begin{macrocode} -\def\PDFForm@Reset{% - /Subtype/Widget% - \Fld@annotflags - /T(\Fld@name)% - /FT/Btn% - \Fld@flags - /H/P% - /DA(/Helv \strip@pt\Fld@charsize\space Tf 0 0 1 rg)% - \ifcase0\ifnum\Fld@rotation=\z@ \else 1\fi - \ifx\Fld@bordercolor\relax\else 1\fi - \space - \else - /MK<<% - \ifnum\Fld@rotation=\z@ - \else - /R \Fld@rotation - \fi - \ifx\Fld@bordercolor\relax - \else - /BC[\Fld@bordercolor]% - \fi +\ifHy@pdfa +\else + \def\PDFForm@Reset{% + /Subtype/Widget% + \Fld@annotflags + /T(\Fld@name)% + /FT/Btn% + \Fld@flags + /H/P% + /DA(/Helv \strip@pt\Fld@charsize\space Tf 0 0 1 rg)% + \ifcase0\ifnum\Fld@rotation=\z@ \else 1\fi + \ifx\Fld@bordercolor\relax\else 1\fi + \space + \else + /MK<<% + \ifnum\Fld@rotation=\z@ + \else + /R \Fld@rotation + \fi + \ifx\Fld@bordercolor\relax + \else + /BC[\Fld@bordercolor]% + \fi % /CA (Clear) % /AC (Done) - >>% - \fi - /BS<</W \Fld@borderwidth/S/\Fld@borderstyle>>% - /A<</S/ResetForm>>% -} + >>% + \fi + /BS<</W \Fld@borderwidth/S/\Fld@borderstyle>>% + /A<</S/ResetForm>>% + }% +\fi % \end{macrocode} % \end{macro} % \begin{macrocode} |