summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty')
-rw-r--r--Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty432
1 files changed, 322 insertions, 110 deletions
diff --git a/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty b/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty
index 5933861a84d..bcd36e7d64c 100644
--- a/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty
+++ b/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2019 by Scott Pakin <scott+hyxmp@pakin.org>
+%% Copyright (C) 2011-2020 by Scott Pakin <scott+hyxmp@pakin.org>
%%
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
@@ -22,7 +22,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{hyperxmp}
- [2019/04/05 v4.1 Store hyperref metadata in XMP format]
+ [2020/03/20 v5.0 Store hyperref metadata in XMP format]
\edef\hyxmp@dq@code{\the\catcode`\"}
\catcode`\"=12
\def\hyxmp@driver{hpdftex}
@@ -36,8 +36,10 @@
\RequirePackage{pdfescape}
\RequirePackage{stringenc}
\RequirePackage{intcalc}
-\RequirePackage{ifxetex}
+\RequirePackage{iftex}
\RequirePackage{ifmtarg}
+\RequirePackage{etoolbox}
+\RequirePackage{ifthen}
\def\@ifmtargexp#1{\expandafter\@ifmtarg\expandafter{#1}}
\def\@ifnotmtargexp#1{\expandafter\@ifnotmtarg\expandafter{#1}}
\newcommand{\hyxmp@pdfstringdef}[2]{%
@@ -80,18 +82,72 @@
\define@key{Hyp}{pdfcaptionwriter}{\hyxmp@pdfstringdef\@pdfcaptionwriter{#1}}
\def\@pdfmetalang{}
\define@key{Hyp}{pdfmetalang}{\hyxmp@pdfstringdef\@pdfmetalang{#1}}
+\def\hyxmp@no@bad@parts#1\relax{%
+ \@ifnotmtarg{#1}{%
+ \PackageWarning{hyperxmp}{pdfapart and pdfuapart must be numeric}%
+ }%
+}
\def\@pdfapart{1}
-\define@key{Hyp}{pdfapart}{\hyxmp@pdfstringdef\@pdfapart{#1}}
+\define@key{Hyp}{pdfapart}{%
+ \afterassignment\hyxmp@no@bad@parts\@tempcnta=0#1\relax
+ \hyxmp@pdfstringdef\@pdfapart{\the\@tempcnta}%
+}
\def\@pdfaconformance{B}
-\define@key{Hyp}{pdfaconformance}{\hyxmp@pdfstringdef\@pdfaconformance{#1}}
+\define@key{Hyp}{pdfaconformance}{%
+ \uppercase{\hyxmp@pdfstringdef\@pdfaconformance{#1}}%
+}
+\def\@pdfuapart{}
+\define@key{Hyp}{pdfuapart}{%
+ \afterassignment\hyxmp@no@bad@parts\@tempcnta=0#1\relax
+ \hyxmp@pdfstringdef\@pdfuapart{\the\@tempcnta}%
+}
+\newcommand*{\hyxmp@set@pdfx@major}[1]{\hyxmp@set@pdfx@major@i#1!}
+\def\hyxmp@set@pdfx@major@i PDF/X-{%
+ \afterassignment\hyxmp@set@pdfx@major@ii
+ \@tempcnta=%
+}
+\def\hyxmp@set@pdfx@major@ii#1!{%
+ \edef\hyxmp@pdfx@major{\the\@tempcnta}%
+}
+\newcommand*\hyxmp@check@std[2]{%
+ \ifthenelse{\equal{#1}{#2}}%
+ {\global\let\next=\relax}%
+ {}%
+}%
+\def\@pdfxstandard{}
+\def\hyxmp@pdfx@major{}
+\define@key{Hyp}{pdfxstandard}{%
+ \hyxmp@pdfstringdef\@pdfxstandard{#1}%
+ \gdef\next{%
+ \PackageWarning{hyperxmp}{Unrecognized PDF/X standard `#1'}%
+ }%
+ \hyxmp@check@std{#1}{PDF/X-1a:2001}%
+ \hyxmp@check@std{#1}{PDF/X-1a:2003}%
+ \hyxmp@check@std{#1}{PDF/X-3:2002}%
+ \hyxmp@check@std{#1}{PDF/X-3:2003}%
+ \hyxmp@check@std{#1}{PDF/X-4}%
+ \hyxmp@check@std{#1}{PDF/X-4p}%
+ \hyxmp@check@std{#1}{PDF/X-5g}%
+ \hyxmp@check@std{#1}{PDF/X-5n}%
+ \hyxmp@check@std{#1}{PDF/X-5pg}%
+ \next
+ \hyxmp@set@pdfx@major{#1}%
+}
\edef\@pdfsource{\jobname.tex}
\define@key{Hyp}{pdfsource}{\hyxmp@pdfstringdef\@pdfsource{#1}}
\def\hyxmp@DocumentID{}
\define@key{Hyp}{pdfdocumentid}{\hyxmp@pdfstringdef\hyxmp@DocumentID{#1}}
\def\hyxmp@InstanceID{}
\define@key{Hyp}{pdfinstanceid}{\hyxmp@pdfstringdef\hyxmp@InstanceID{#1}}
-\def\@pdfversionid{}
+\def\@pdfversionid{1}
\define@key{Hyp}{pdfversionid}{\hyxmp@pdfstringdef\@pdfversionid{#1}}
+\RequirePackage{ifdraft}
+\ifdraft{%
+ \def\@pdfrendition{draft}%
+}{%
+ \def\@pdfrendition{default}%
+}
+\define@key{Hyp}{pdfrendition}{\hyxmp@pdfstringdef\@pdfrendition{#1}}
\def\@pdfpublication{}
\define@key{Hyp}{pdfpublication}{\hyxmp@pdfstringdef\@pdfpublication{#1}}
\def\@pdfpubtype{}
@@ -144,11 +200,31 @@
\define@key{Hyp}{pdfcontactemail}{\hyxmp@pdfstringdef\@pdfcontactemail{#1}}
\def\@pdfcontacturl{}
\define@key{Hyp}{pdfcontacturl}{\hyxmp@pdfstringdef\@pdfcontacturl{#1}}
-\def\hyxmp@suppress@pdf@metadata{%
- \global\let\PDF@FinishDoc=\@empty
+\def\hyxmp@no@info@lists{%
+ \def\hyxmp@suppress@pdf@info{%
+ \global\let\PDF@FinishDoc=\@empty
+ \PackageWarningNoLine{hyperxmp}{%
+ Suppressing the _entire_ PDF Info dictionary.\MessageBreak
+ Please notify the hyperxmp maintainer%
+ }%
+ }%
+ \let\next=\relax
+ \patchcmd
+ {\PDF@FinishDoc}%
+ {/Author(\@pdfauthor)}%
+ {}%
+ {}%
+ {\let\next=\hyxmp@suppress@pdf@info}%
+ \patchcmd
+ {\PDF@FinishDoc}%
+ {/Keywords(\@pdfkeywords)}%
+ {}%
+ {}%
+ {\let\next=\hyxmp@suppress@pdf@info}%
+ \next
}
\define@key{Hyp}{keeppdfinfo}[true]{%
- \gdef\hyxmp@suppress@pdf@metadata{}%
+ \gdef\hyxmp@no@info@lists{}%
}
\def\hyxmp@pdfauthor{}
\def\hyxmp@pdfkeywords{}
@@ -238,10 +314,10 @@
\@pdfsubject
\@pdfsubtitle
\@pdftitle
- \@pdftype
+ \@pdfuapart
\@pdfurl
- \@pdfversionid
\@pdfvolumenum
+ \@pdfxstandard
}%
\ifx\hyxmp@concated@metadata\@empty
\PackageWarningNoLine{hyperxmp}{%
@@ -251,6 +327,21 @@
provide metadata values to hyperxmp}%
\fi
}
+\newcommand*{\hyxmp@check@standards}{%
+ \def\hyxmp@standards{%
+ \@pdfapart
+ \@pdfxstandard
+ \@pdfuapart
+ }%
+ \@ifnotmtargexp{\hyxmp@standards}{%
+ \@ifmtargexp{\@pdftitle}{%
+ \PackageWarning{hyperxmp}{%
+ Missing pdftitle (required for PDF standards\MessageBreak
+ compliance)%
+ }%
+ }%
+ }%
+}
\AtBeginDocument{%
\@ifpackageloaded{hyperref}{%
\ifx\@pdflang\relax
@@ -264,10 +355,6 @@
\fi
\fi
\hyxmp@xmlify\@pdfmetalang
- \ifx\@pdfdatetime\@empty
- \else
- \edef\hyxmp@today{\@pdfdatetime}%
- \fi
\@ifmtargexp{\@pdftitle}{%
\@ifnotmtargexp{\@title}{%
\hypersetup{pdftitle={\@title}}%
@@ -280,7 +367,14 @@
}%
}%
{}%
- \hyxmp@suppress@pdf@metadata
+ \@ifundefined{XeTeXversion}{}{%
+ \@ifmtargexp{\@pdfcreationdate}{%
+ \let\@pdfcreationdate=\hyxmp@today@pdf
+ }%
+ {}%
+ }%
+ \hyxmp@check@standards
+ \hyxmp@no@info@lists
\hyxmp@at@end{%
\hyxmp@find@metadata
\hyxmp@embed@packet
@@ -340,7 +434,7 @@
\def\hyxmp@first@char#1{\hyxmp@first@char@i#1\relax}
\def\hyxmp@first@char@i#1#2\relax{#1}
\def\hyxmp@as@xmp@date#1{%
- \expandafter\ifx\hyxmp@first@char@i#1\relax D%
+ \expandafter\ifnum\expandafter`\hyxmp@first@char@i#1\relax=`D
\hyxmp@pdf@to@xmp@date{#1}%
\else
#1%
@@ -433,7 +527,7 @@
\def\hyxmp@xmp@to@pdf@date@viii#1#2#3#4{%
'#1#2'%
}
-\def\hyxmp@today@define#1{%
+\def\hyxmp@today@xmp@define#1{%
\xdef#1{\the\year}%
\ifnum\month<10
\xdef#1{#1-0\the\month}%
@@ -446,28 +540,45 @@
\xdef#1{#1-\the\day}%
\fi
\@tempcnta=\time
- \divide\@tempcnta by 60%
- \ifnum\@tempcnta<10%
+ \divide\@tempcnta by 60
+ \ifnum\@tempcnta<10
\xdef#1{#1T0\the\@tempcnta}%
\else
\xdef#1{#1T\the\@tempcnta}%
\fi
- \multiply\@tempcnta by -60%
+ \multiply\@tempcnta by -60
\advance\@tempcnta by \time
- \ifnum\@tempcnta<10%
+ \ifnum\@tempcnta<10
\xdef#1{#1:0\the\@tempcnta}%
\else
\xdef#1{#1:\the\@tempcnta}%
\fi
+ \xdef#1{#1Z}%
}
-\@ifundefined{pdffeedback}{%
- \@ifundefined{pdfcreationdate}{%
- \hyxmp@today@define\hyxmp@today
- }{%
- \edef\hyxmp@today{\expandafter\hyxmp@pdf@to@xmp@date\pdfcreationdate}%
+\def\hyxmp@try@today#1#2{%
+ \@ifmtargexp{\hyxmp@today@xmp}{%
+ \@ifundefined{#1}{}{#2}%
+ }{}%
+}
+\def\hyxmp@today@xmp{}
+\hyxmp@try@today{pdfcreationdate}{%
+ \edef\hyxmp@today@xmp{\expandafter\hyxmp@pdf@to@xmp@date\pdfcreationdate}%
+}
+\hyxmp@try@today{pdffeedback}{%
+ \edef\hyxmp@today@xmp{\expandafter\hyxmp@pdf@to@xmp@date\pdffeedback creationdate}%
+}
+\hyxmp@try@today{filemoddate}{%
+ \edef\hyxmp@today@xmp{\filemoddate{\jobname.aux}}%
+ \edef\next{%
+ \edef\noexpand\hyxmp@today@xmp{\noexpand\hyxmp@as@xmp@date{\hyxmp@today@xmp}}%
}%
-}{%
- \edef\hyxmp@today{\expandafter\hyxmp@pdf@to@xmp@date\pdffeedback creationdate}%
+ \next
+}%
+\hyxmp@try@today{year}{%
+ \hyxmp@today@xmp@define\hyxmp@today@xmp
+}
+\expandafter\edef\expandafter\hyxmp@today@pdf\expandafter{%
+ \expandafter\hyxmp@xmp@to@pdf@date\expandafter{\hyxmp@today@xmp}%
}
\catcode`\Q=3
\newcommand{\hyxmp@trimspaces}[1]{%
@@ -485,7 +596,6 @@
\else
\hyxmp@unicodetexfalse
\fi
-\newcommand*{\hyxmp@reencode}[1]{}
\expandafter\def\csname SE->pdfdoc@03\endcsname{0003}
\expandafter\def\csname SE->pdfdoc@15\endcsname{0015}
\newcommand*{\hyxmp@xmlify}[1]{%
@@ -496,7 +606,7 @@
\StringEncodingConvert
\hyxmp@text\hyxmp@text{utf16be}{utf32be}%
}{%
- \ifxetex
+ \ifXeTeX
\hyxmp@xetex@crap
\else
\StringEncodingConvert
@@ -678,6 +788,48 @@
\catcode0=12 %
\gdef\hyxmp@zero{^^00}%
\endgroup
+\newcommand*{\hyxmp@extra@indent}{}
+\newcommand*{\hyxmp@add@simple}[2]{%
+ \@ifnotmtargexp{#2}{%
+ \hyxmp@xmlify{#2}%
+ \hyxmp@add@to@xml{\hyxmp@extra@indent______<}%
+ \xdef\hyxmp@xml{\hyxmp@xml#1}%
+ \hyxmp@add@to@xml{>\hyxmp@xmlified</}%
+ \xdef\hyxmp@xml{\hyxmp@xml#1>^^J}%
+ }%
+}
+\newcommand*{\hyxmp@add@simple@var}[2]{%
+ \expandafter\ifx\csname#2\endcsname\relax
+ \else
+ \hyxmp@xmlify{\csname#2\endcsname}%
+ \hyxmp@add@to@xml{%
+ \hyxmp@extra@indent______<#1>\hyxmp@xmlified</#1>^^J%
+ }%
+ \fi
+}
+\newcommand*{\hyxmp@add@simple@lang}[2]{%
+ \@ifnotmtarg{#2}{%
+ \hyxmp@xmlify{#2}%
+ \expandafter\hyxmp@add@simple@lang@i\hyxmp@xmlified\relax{#1}%
+ }%
+}
+\newcommand*{\hyxmp@add@simple@lang@i}{%
+ \@ifnextchar[\hyxmp@add@simple@lang@ii{\hyxmp@add@simple@lang@ii[]}%
+}
+\def\hyxmp@add@simple@lang@ii[#1]#2\relax#3{%
+ \@ifnotmtarg{#2}{%
+ \hyxmp@xmlify{#2}%
+ \@ifmtarg{#1}{%
+ \hyxmp@add@to@xml{%
+______<#3>\hyxmp@xmlified</#3>^^J%
+ }%
+ }{%
+ \hyxmp@add@to@xml{%
+______<#3 xml:lang="#1">\hyxmp@xmlified</#3>^^J%
+ }%
+ }%
+ }%
+}
\def\hyxmp@alt@title{}
\def\hyxmp@alt@description{}
\def\hyxmp@alt@rights{}
@@ -785,9 +937,9 @@
\hyxmp@create@uuid\hyxmp@DocumentID
}
\newcommand*{\hyxmp@def@InstanceID}{%
- \hyxmp@today@define{\hyxmp@seed@string}%
+ \hyxmp@today@xmp@define{\hyxmp@seed@string}%
\edef\hyxmp@seed@string{%
- \jobname:\@pdftitle:\@pdfauthor:\hyxmp@today:\hyxmp@seed@string
+ \jobname:\@pdftitle:\@pdfauthor:\hyxmp@today@xmp:\hyxmp@seed@string
}%
\expandafter\hyxmp@seed@rng\expandafter{\hyxmp@seed@string}%
\edef\hyxmp@rand@num{\the\@tempcnta}%
@@ -830,9 +982,37 @@ _______________________________________________________________^^J%
\xdef\hyxmp@padding{\hyxmp@padding\hyxmp@padding}
\xdef\hyxmp@padding{\hyxmp@padding\hyxmp@padding}
\newcommand*{\hyxmp@x@default}{x-default}
+\newcommand*{\hyxmp@define@pdfproducer}{%
+ \gdef\@pdfproducer{TeX}
+ \ifPDFTeX
+ \expandafter\hyxmp@banner@to@producer\expandafter{\pdftexbanner}
+ \else
+ \ifLuaTeX
+ \expandafter\hyxmp@banner@to@producer\expandafter{\luatexbanner}
+ \else
+ \ifXeTeX
+ \edef\@pdfproducer{XeTeX version \the\XeTeXversion\XeTeXrevision}
+ \fi
+ \fi
+ \fi
+}
+\def\hyxmp@banner@to@producer#1{%
+ \ifx\scantokens\relax
+ \gdef\@pdfproducer{#1}%
+ \else
+ \scantokens{\makeatletter\hyxmp@remove@this#1\relax\makeatother}%
+ \fi
+}
+\def\hyxmp@remove@this This is #1\relax{\gdef\@pdfproducer{#1}}
+\AtBeginDocument{%
+ \ifx\@pdfproducer\relax
+ \hyxmp@define@pdfproducer
+ \fi
+}
\newcommand*{\hyxmp@pdf@schema}{%
- \hyxmp@add@simple@var{pdf:Keywords}{@pdfkeywords}%
\hyxmp@add@simple@var{pdf:Producer}{@pdfproducer}%
+ \hyxmp@add@simple@var{pdf:Keywords}{@pdfkeywords}%
+ \hyxmp@add@simple{pdf:Trapped}{\@pdftrapped}%
\@ifundefined{pdfvariable}{%
\@ifundefined{pdfminorversion}{%
}{%
@@ -842,47 +1022,6 @@ _______________________________________________________________^^J%
\hyxmp@add@simple{pdf:PDFVersion}{1.\the\pdfvariable minorversion}%
}%
}
-\newcommand*{\hyxmp@extra@indent}{}
-\newcommand*{\hyxmp@add@simple}[2]{%
- \@ifnotmtargexp{#2}{%
- \hyxmp@xmlify{#2}%
- \hyxmp@add@to@xml{%
- \hyxmp@extra@indent______<#1>\hyxmp@xmlified</#1>^^J%
- }%
- }%
-}
-\newcommand*{\hyxmp@add@simple@var}[2]{%
- \expandafter\ifx\csname#2\endcsname\relax
- \else
- \hyxmp@xmlify{\csname#2\endcsname}%
- \hyxmp@add@to@xml{%
- \hyxmp@extra@indent______<#1>\hyxmp@xmlified</#1>^^J%
- }%
- \fi
-}
-\newcommand*{\hyxmp@add@simple@lang}[2]{%
- \@ifnotmtarg{#2}{%
- \hyxmp@xmlify{#2}%
- \expandafter\hyxmp@add@simple@lang@i\hyxmp@xmlified\relax{#1}%
- }%
-}
-\newcommand*{\hyxmp@add@simple@lang@i}{%
- \@ifnextchar[\hyxmp@add@simple@lang@ii{\hyxmp@add@simple@lang@ii[]}%
-}
-\def\hyxmp@add@simple@lang@ii[#1]#2\relax#3{%
- \@ifnotmtarg{#2}{%
- \hyxmp@xmlify{#2}%
- \@ifmtarg{#1}{%
- \hyxmp@add@to@xml{%
-______<#3>\hyxmp@xmlified</#3>^^J%
- }%
- }{%
- \hyxmp@add@to@xml{%
-______<#3 xml:lang="#1">\hyxmp@xmlified</#3>^^J%
- }%
- }%
- }%
-}
\newcommand*{\hyxmp@rdf@dc}[3][\iffalse]{%
\@ifmtargexp{#3}{\@tempswafalse}{\@tempswatrue}%
#1
@@ -962,7 +1101,7 @@ ______</dc:#2>^^J%
\hyxmp@rdf@dc[\ifHy@pdfa]{description}{\@pdfsubject}%
\hyxmp@rdf@dc{rights}{\@pdfcopyright}%
\hyxmp@singleton@dc{publisher}{\@pdfpublisher}%
- \hyxmp@singleton@dc[Seq]{date}{\hyxmp@today}%
+ \hyxmp@singleton@dc[Seq]{date}{\hyxmp@today@xmp}%
\hyxmp@singleton@dc{language}{\@pdflang}%
\hyxmp@singleton@dc{type}{\@pdftype}%
\hyxmp@list@to@xml[\ifHy@pdfa]{creator}{Seq}{\hyxmp@pdfauthor}%
@@ -997,45 +1136,26 @@ ______</dc:#2>^^J%
\hyxmp@add@simple{xmpMM:DocumentID}{\hyxmp@DocumentID}%
\hyxmp@add@simple{xmpMM:InstanceID}{\hyxmp@InstanceID}%
\hyxmp@add@simple{xmpMM:VersionID}{\@pdfversionid}%
-}
-\newcommand*{\hyxmp@define@createdate}{%
- \@ifundefined{pdffeedback}{%
- \@ifundefined{pdfcreationdate}{%
- \hyxmp@today@define\hyxmp@createdate
- }{%
- \edef\hyxmp@createdate{\expandafter\hyxmp@pdf@to@xmp@date\pdfcreationdate}%
- }%
- }{%
- \edef\hyxmp@createdate{\expandafter\hyxmp@pdf@to@xmp@date\pdffeedback creationdate}%
- }%
+ \hyxmp@add@simple{xmpMM:RenditionClass}{\@pdfrendition}%
}
\newcommand*{\hyxmp@xmp@basic@schema}{%
- \hyxmp@define@createdate
- \@ifundefined{@pdfcreationdate}{%
- \hyxmp@add@simple{xmp:CreateDate}{\hyxmp@createdate}%
+ \@ifmtargexp{\@pdfcreationdate}{%
+ \hyxmp@add@simple{xmp:CreateDate}{\hyxmp@today@xmp}%
}{%
- \ifx\@pdfcreationdate\@empty
- \hyxmp@add@simple{xmp:CreateDate}{\hyxmp@createdate}%
- \else
- \hyxmp@add@simple{xmp:CreateDate}{%
- \expandafter\hyxmp@as@xmp@date\expandafter{\@pdfcreationdate}}%
- \fi
+ \hyxmp@add@simple{xmp:CreateDate}{%
+ \expandafter\hyxmp@as@xmp@date\expandafter{\@pdfcreationdate}}%
}%
- \@ifundefined{@pdfmoddate}{%
- \hyxmp@add@simple{xmp:ModifyDate}{\hyxmp@createdate}%
+ \@ifmtargexp{\@pdfmoddate}{%
+ \hyxmp@add@simple{xmp:ModifyDate}{\hyxmp@today@xmp}%
}{%
- \ifx\@pdfmoddate\@empty
- \hyxmp@add@simple{xmp:ModifyDate}{\hyxmp@createdate}%
- \else
- \hyxmp@add@simple{xmp:ModifyDate}{%
- \expandafter\hyxmp@as@xmp@date\expandafter{\@pdfmoddate}}%
- \fi
+ \hyxmp@add@simple{xmp:ModifyDate}{%
+ \expandafter\hyxmp@as@xmp@date\expandafter{\@pdfmoddate}}%
}%
- \ifx\@pdfmetadatetime\@empty
- \hyxmp@add@simple{xmp:MetadataDate}{\hyxmp@createdate}%
- \else
+ \@ifmtargexp{\@pdfmetadatetime}{%
+ \hyxmp@add@simple{xmp:MetadataDate}{\hyxmp@today@xmp}%
+ }{%
\hyxmp@add@simple{xmp:MetadataDate}{\@pdfmetadatetime}%
- \fi
+ }%
\hyxmp@add@simple{xmp:CreatorTool}{\@pdfcreator}%
\hyxmp@add@simple{xmp:BaseURL}{\@baseurl}%
}
@@ -1050,6 +1170,25 @@ ______</dc:#2>^^J%
\hyxmp@add@simple{pdfaid:conformance}{\@pdfaconformance}%
\fi
}
+\newcommand*{\hyxmp@pdfua@id@schema}{%
+ \hyxmp@add@simple{pdfuaid:part}{\@pdfuapart}%
+}
+\newcommand*{\hyxmp@pdfx@id@schema}{%
+ \@tempcnta=0\hyxmp@pdfx@major\relax
+ \ifnum\@tempcnta=0
+ \else
+ \ifnum\@tempcnta=1
+ \hyxmp@add@simple{pdfx:GTS_PDFXVersion}{PDF/X-1:2001}%
+ \hyxmp@add@simple{pdfx:GTS_PDFXConformance}{\@pdfxstandard}%
+ \else
+ \ifnum\@tempcnta<4
+ \hyxmp@add@simple{pdfx:GTS_PDFXVersion}{\@pdfxstandard}%
+ \else
+ \hyxmp@add@simple{pdfxid:GTS_PDFXVersion}{\@pdfxstandard}%
+ \fi
+ \fi
+ \fi
+}
\begingroup
\catcode`\&=12
\catcode`\#=12
@@ -1181,7 +1320,9 @@ __________</rdf:li>^^J%
\newcommand{\hyxmp@declare@property}[4][Text]{%
\hyxmp@add@to@xml{%
________________<rdf:li rdf:parseType="Resource">^^J%
-__________________<pdfaProperty:name>#2</pdfaProperty:name>^^J%
+__________________<pdfaProperty:name>}%
+ \xdef\hyxmp@xml{\hyxmp@xml#2}%
+ \hyxmp@add@to@xml{</pdfaProperty:name>^^J%
__________________<pdfaProperty:valueType>#1</pdfaProperty:valueType>^^J%
__________________<pdfaProperty:category>#3</pdfaProperty:category>^^J%
__________________<pdfaProperty:description>#4</pdfaProperty:description>^^J%
@@ -1197,6 +1338,17 @@ ________________________<pdfaField:description>#3</pdfaField:description>^^J%
______________________</rdf:li>^^J%
}%
}
+\newcommand*{\hyxmp@pdf@extensions}{%
+ \hyxmp@begin@ext@decl
+ {Adobe PDF Schema}%
+ {pdf}%
+ {http://ns.adobe.com/pdf/1.3/}%
+ \hyxmp@declare@property
+ {Trapped}%
+ {internal}%
+ {Indication if the document has been modified to include trapping information}%
+ \hyxmp@end@ext@decl
+}%
\newcommand*{\hyxmp@mm@extensions}{%
\hyxmp@begin@ext@decl
{XMP Media Management Schema}%
@@ -1216,6 +1368,10 @@ ______________________</rdf:li>^^J%
{VersionID}%
{internal}%
{Document version identifier}%
+ \hyxmp@declare@property
+ {RenditionClass}%
+ {internal}%
+ {The manner in which a document is rendered}%
\hyxmp@end@ext@decl
}%
\newcommand*{\hyxmp@pdfa@id@extensions}{%
@@ -1234,6 +1390,48 @@ ______________________</rdf:li>^^J%
{Conformance level of PDF/A standard}%
\hyxmp@end@ext@decl
}%
+\newcommand*{\hyxmp@pdfua@id@extensions}{%
+ \hyxmp@begin@ext@decl
+ {PDF/UA Universal Accessibility Schema}%
+ {pdfuaid}%
+ {http://www.aiim.org/pdfua/ns/id/}%
+ \hyxmp@declare@property
+ [Integer]%
+ {part}%
+ {internal}%
+ {Part of ISO 14289 standard}%
+ \hyxmp@end@ext@decl
+}%
+\newcommand*{\hyxmp@pdfx@id@extensions}{%
+ \ifx\hyxmp@pdfx@major\empty
+ \else
+ \hyxmp@begin@ext@decl
+ {Adobe Document Info PDF/X eXtension Schema}%
+ {pdfx}%
+ {http://ns.adobe.com/pdfx/1.3/}%
+ \hyxmp@declare@property
+ {GTS_PDFXVersion}%
+ {internal}%
+ {ID of PDF/X standard}%
+ \hyxmp@declare@property
+ {GTS_PDFXConformance}%
+ {internal}%
+ {Conformance level of PDF/X standard}%
+ \hyxmp@end@ext@decl
+ \fi
+ \@tempcnta=0\hyxmp@pdfx@major\relax
+ \ifnum\@tempcnta>3
+ \hyxmp@begin@ext@decl
+ {PDF/X ID Schema}%
+ {pdfxid}%
+ {http://www.npes.org/pdfx/ns/id/}%
+ \hyxmp@declare@property
+ {GTS_PDFXVersion}%
+ {internal}%
+ {ID of PDF/X standard}%
+ \hyxmp@end@ext@decl
+ \fi
+}%
\newcommand*{\hyxmp@iptc@extensions}{%
\hyxmp@begin@ext@decl
{IPTC Core Schema}%
@@ -1364,9 +1562,18 @@ __________</rdf:li>^^J%
}%
\newcommand*{\hyxmp@declare@extensions}{%
\hyxmp@begin@extension@decls
+ \hyxmp@pdf@extensions
\hyxmp@mm@extensions
\ifHy@pdfa
- \hyxmp@mm@extensions
+ \hyxmp@pdfa@id@extensions
+ \fi
+ \ifx\@pdfuapart\@empty
+ \else
+ \hyxmp@pdfua@id@extensions
+ \fi
+ \ifx\@pdfxversion\@empty
+ \else
+ \hyxmp@pdfx@id@extensions
\fi
\ifx\hyxmp@iptc@data\@empty
\else
@@ -1407,6 +1614,9 @@ _____________________xmlns:xmp="http://ns.adobe.com/xap/1.0/"^^J%
_____________________xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"^^J%
_____________________xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent\hyxmp@hash"^^J%
_____________________xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/"^^J%
+_____________________xmlns:pdfuaid="http://www.aiim.org/pdfua/ns/id/"^^J%
+_____________________xmlns:pdfx="http://ns.adobe.com/pdfx/1.3/"^^J%
+_____________________xmlns:pdfxid="http://www.npes.org/pdfx/ns/id/"^^J%
_____________________xmlns:prism="http://prismstandard.org/namespaces/basic/2.1/"^^J%
_____________________xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/"^^J%
_____________________xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/"^^J%
@@ -1424,6 +1634,8 @@ _____________________xmlns:pdfaField="http://www.aiim.org/pdfa/ns/field\hyxmp@ha
\hyxmp@photoshop@schema
\hyxmp@xmp@basic@schema
\hyxmp@pdfa@id@schema
+ \hyxmp@pdfua@id@schema
+ \hyxmp@pdfx@id@schema
\hyxmp@mm@schema
\hyxmp@iptc@schema
\hyxmp@prism@schema