diff options
author | Karl Berry <karl@freefriends.org> | 2017-05-18 21:44:40 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-05-18 21:44:40 +0000 |
commit | fe377a8d868c079aee98aa6f2aae23b1ed55ce11 (patch) | |
tree | 1aadaf8d99835fb0459a958c1ef3f88b393ce34a /Master/texmf-dist/tex/latex/pdfx/pdfx.sty | |
parent | 090b5d243358cf8b008c9e0f528d2a09c040e828 (diff) |
pdfx (18may17)
git-svn-id: svn://tug.org/texlive/trunk@44412 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/pdfx/pdfx.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/pdfx/pdfx.sty | 101 |
1 files changed, 67 insertions, 34 deletions
diff --git a/Master/texmf-dist/tex/latex/pdfx/pdfx.sty b/Master/texmf-dist/tex/latex/pdfx/pdfx.sty index 58412c70a33..0d2fb58b38f 100644 --- a/Master/texmf-dist/tex/latex/pdfx/pdfx.sty +++ b/Master/texmf-dist/tex/latex/pdfx/pdfx.sty @@ -6,7 +6,7 @@ %% %% pdfx.dtx (with options: `package') %% -%% Copyright (c) 2015, CV Radhakrishnan <cvr@river-valley.org>, +%% Copyright (c) 2017, CV Radhakrishnan <cvr@river-valley.org>, %% Han The Thanh <thanh@river-valley.org>, %% Ross Moore <ross.moore@mq.edu.au>, %% Peter Selinger <selinger@mathstat.dal.ca> @@ -31,7 +31,7 @@ }{}% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{pdfx} - [2016/05/03 v1.5.8 PDF/X and PDF/A support (CVR/HTH/RRM/PS)] + [2017/05/18 v1.5.84 PDF/X and PDF/A support (CVR/HTH/RRM/PS)] \newif\ifpdfx@noBOM \pdfx@noBOMfalse % use a BOM in the XMP packet \newif\ifpdfx@x \pdfx@xfalse % PDF/X mode @@ -164,6 +164,7 @@ \global\pdfminorversion=6 } %% options to alter PDF minor version, in case needed in special circumstances +\DeclareOption{pdf12}{\global\pdfminorversion=2 } \DeclareOption{pdf13}{\global\pdfminorversion=3 } \DeclareOption{pdf14}{\global\pdfminorversion=4 } \DeclareOption{pdf15}{\global\pdfminorversion=5 } @@ -227,10 +228,14 @@ \global\vnmxmptrue \global\latEXTxmptrue \global\latLATxmptrue + \global\vnmxmptrue \global\ipaxmptrue \global\mathxmptrue + \global\let\pdfx@useactivespacestrue\pdfx@useactivespacesfalse } +\newif\ifpdfx@useactivespaces + \ExecuteOptions{noBOM,a-1b} \ProcessOptions @@ -250,7 +255,6 @@ \ifarmSCIxmp\pdfx@nopdfinfotrue \fi\fi\fi\fi\fi -\newif\ifpdfx@useactivespaces \iflatLATxmp\pdfx@useactivespacestrue\fi \ifgrkLGRxmp\pdfx@useactivespacestrue\fi \ifcyrKOIxmp\pdfx@useactivespacestrue\fi @@ -382,14 +386,14 @@ \fi \fi -\ifluatex\else +\ifluatex\else\ifxetex\else \@ifpackageloaded{inputenc}{% }{% \RequirePackage{inputenc} % allow this to be loaded again cleanly \expandafter\let\csname ver@inputenc.sty\endcsname\relax } -\fi +\fi\fi %% pseudo-declare the L8U encoding \expandafter\let\csname L8U-cmd\expandafter\endcsname\csname OT1-cmd\endcsname @@ -546,6 +550,7 @@ \liixu@enablenumberline \def\empty{}% used in LICR patterns \LIIXUscriptcommands + \LIIXUtipacommands \LIIXUmapTeXnames %% from Hyperref's psdextra.def \csname psdmapshortnames\endcsname @@ -664,12 +669,12 @@ \PackageWarning{pdfx}{% CreationDate is not properly supported;^^J PDF validation may fail. To avoid this problem use:^^J - xelatex -shell-escape -output-driver="xdvipdfmx -z 0" <filename>^^J} + xelatex -shell-escape <filename>^^J} \else \PackageError{pdfx}{% CreationDate is not properly supported;^^J PDF validation may fail.}{To avoid this problem use:^^J - xelatex -shell-escape -output-driver="xdvipdfmx -z 0" <filename> } + xelatex -shell-escape <filename> } \fi \fi \fi @@ -732,74 +737,74 @@ %% the "pdftex" option seems to work fine with LuaTeX %% Hyperref options for PDF/X -\def\pdfx@pdfX@opts@pdftex{% +\edef\pdfx@pdfX@opts@pdftex{% draft,pdftex,pdfpagemode=UseNone,bookmarks=false,% pdfversion=1.\thepdfminorversion,pdfstartview=} -\def\pdfx@pdfX@opts@xetex{% +\edef\pdfx@pdfX@opts@xetex{% draft,xetex,pdfpagemode=UseNone,bookmarks=false,% pdfversion=1.\thepdfminorversion,pdfstartview=} -\def\pdfx@pdfX@opts@luatex{% - draft,pdftex,pdfpagemode=UseNone,bookmarks=false,% +\edef\pdfx@pdfX@opts@luatex{% + draft,luatex,pdfpagemode=UseNone,bookmarks=false,% pdfversion=1.\thepdfminorversion,pdfstartview=} %% Hyperref options for PDF/A and PDF/E -\def\pdfx@pdfAE@opts@pdftex{pdftex,pdfa,pdfversion=1.\thepdfminorversion}% -\def\pdfx@pdfAE@opts@xetex{xetex,pdfa,pdfversion=1.\thepdfminorversion}% -\def\pdfx@pdfAE@opts@luatex{pdftex,pdfa,pdfversion=1.\thepdfminorversion}% +\edef\pdfx@pdfAE@opts@pdftex{pdftex,pdfa,pdfversion=1.\thepdfminorversion}% +\edef\pdfx@pdfAE@opts@xetex{xetex,pdfa,pdfversion=1.\thepdfminorversion}% +\edef\pdfx@pdfAE@opts@luatex{luatex,pdfa,pdfversion=1.\thepdfminorversion}% \ifpdfx@x \@ifpackageloaded{hyperref}{% \ifxetex - \hypersetup{\pdfx@pdfX@opts@xetex} + \expandafter\hypersetup\expandafter{\pdfx@pdfX@opts@xetex} \else\ifluatex - \hypersetup{\pdfx@pdfX@opts@luatex} + \expandafter\hypersetup\expandafter{\pdfx@pdfX@opts@luatex} \else - \hypersetup{\pdfx@pdfX@opts@pdftex} + \expandafter\hypersetup\expandafter{\pdfx@pdfX@opts@pdftex} \fi\fi }{% \ifxetex - \RequirePackage[\pdfx@pdfX@opts@xetex]{hyperref} + \expandafter\RequirePackage\expandafter[\pdfx@pdfX@opts@xetex]{hyperref} \else\ifluatex - \RequirePackage[\pdfx@pdfX@opts@luatex]{hyperref} + \expandafter\RequirePackage\expandafter[\pdfx@pdfX@opts@luatex]{hyperref} \else - \RequirePackage[\pdfx@pdfX@opts@pdftex]{hyperref} + \expandafter\RequirePackage\expandafter[\pdfx@pdfX@opts@pdftex]{hyperref} \fi\fi }% \else \ifpdfx@e \@ifpackageloaded{hyperref}{% \ifxetex - \hypersetup{\pdfx@pdfAE@opts@xetex} + \expandafter\hypersetup\expandafter{\pdfx@pdfAE@opts@xetex} \else\ifluatex - \hypersetup{\pdfx@pdfAE@opts@luatex} + \expandafter\hypersetup\expandafter{\pdfx@pdfAE@opts@luatex} \else - \hypersetup{\pdfx@pdfAE@opts@pdftex} + \expandafter\hypersetup\expandafter{\pdfx@pdfAE@opts@pdftex} \fi\fi }{% \ifxetex - \RequirePackage[\pdfx@pdfAE@opts@xetex]{hyperref} + \expandafter\RequirePackage\expandafter[\pdfx@pdfAE@opts@xetex]{hyperref} \else\ifluatex - \RequirePackage[\pdfx@pdfAE@opts@luatex]{hyperref} + \expandafter\RequirePackage\expandafter[\pdfx@pdfAE@opts@luatex]{hyperref} \else - \RequirePackage[\pdfx@pdfAE@opts@pdftex]{hyperref} + \expandafter\RequirePackage\expandafter[\pdfx@pdfAE@opts@pdftex]{hyperref} \fi\fi }% \else % generating PDF/A or ... \@ifpackageloaded{hyperref}{% \ifxetex - \hypersetup{\pdfx@pdfAE@opts@xetex}% + \expandafter\hypersetup\expandafter{\pdfx@pdfAE@opts@xetex}% \else\ifluatex - \hypersetup{\pdfx@pdfAE@opts@luatex}% + \expandafter\hypersetup\expandafter{\pdfx@pdfAE@opts@luatex}% \else - \hypersetup{\pdfx@pdfAE@opts@pdftex}% + \expandafter\hypersetup\expandafter{\pdfx@pdfAE@opts@pdftex}% \fi\fi }{% \ifxetex - \RequirePackage[\pdfx@pdfAE@opts@xetex]{hyperref} + \expandafter\RequirePackage\expandafter[\pdfx@pdfAE@opts@xetex]{hyperref} \else\ifluatex - \RequirePackage[\pdfx@pdfAE@opts@luatex]{hyperref} + \expandafter\RequirePackage\expandafter[\pdfx@pdfAE@opts@luatex]{hyperref} \else - \RequirePackage[\pdfx@pdfAE@opts@pdftex]{hyperref} + \expandafter\RequirePackage\expandafter[\pdfx@pdfAE@opts@pdftex]{hyperref} \fi\fi }% \fi\fi @@ -808,6 +813,11 @@ \hypersetup{psdextra} \fi +%% hyperref doesn't set the minor version for XeTeX +\ifxetex + \special{pdf:minorversion \thepdfminorversion} +\fi + \ifx\xmp@CreatorTool\@empty \edef\xmp@CreatorTool{\@pdfcreator} \fi @@ -1378,9 +1388,9 @@ \global\let#1\empty \else \begingroup - \ifluatex\else + \ifluatex\else\ifxetex\else \inputencoding{utf8}% - \fi + \fi\fi \hypersetup{pdfencoding=auto}% \pdfstringdef#1{#2}% \endgroup @@ -1722,6 +1732,29 @@ \let\includexmp\pdfx@xmpincl@xetex \fi +%% macro provided by Leonardo E. Segovia on 2007-05-15 +%% <leonardo.segovia@cs.uns.edu.ar> +\def\pdfx@xmpincl@luatex#1{% + \IfFileExists{#1.xmp}{% + \mcs@xmpincl@patchFile{#1}% + \begingroup + \pdfcompresslevel=0 + \immediate\pdfobj uncompressed stream attr {/Type /Metadata /Subtype /XML} + file{#1.xmpi}% + \pdfcatalog{/Metadata \the\pdflastobj\space 0 R}% + \endgroup + }{% + \newcommand{\mcs@xmpincl@filename}{#1.xmp}% + \PackageError{xmpincl}% + {The file \mcs@xmpincl@filename\space was not found}% + {The file \mcs@xmpincl@filename\space The metadata file + wasn't found.\MessageBreak Oops.}% + } +} +\ifluatex + \let\includexmp\pdfx@xmpincl@luatex +\fi + %%---------------------------------------------------------------------- \begingroup \ifpdfx@x |