From 2036a05c122c8dd027354cd0cb0679f45db48f4b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 18 Dec 2012 23:28:49 +0000 Subject: hyperxmp (18dec12) git-svn-id: svn://tug.org/texlive/trunk@28568 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty | 171 +++++++++++++++++++++- 1 file changed, 167 insertions(+), 4 deletions(-) (limited to 'Master/texmf-dist/tex/latex/hyperxmp') diff --git a/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty b/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty index 548b92fff4b..9c1a71148ee 100644 --- a/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty +++ b/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty @@ -22,7 +22,7 @@ %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{hyperxmp} - [2012/09/16 v2.1 Store hyperref metadata in XMP format] + [2012/12/13 v2.2 Store hyperref metadata in XMP format] \edef\hyxmp@dq@code{\the\catcode`\"} \catcode`\"=12 \def\hyxmp@driver{hpdftex} @@ -47,6 +47,31 @@ \define@key{Hyp}{pdfcaptionwriter}{\pdfstringdef\@pdfcaptionwriter{#1}} \def\@pdfmetalang{} \define@key{Hyp}{pdfmetalang}{\pdfstringdef\@pdfmetalang{#1}} +\def\@pdfcontactaddress{} +\define@key{Hyp}{pdfcontactaddress}{% + \let\xmpcomma=\hyxmp@comma + \def\xmpquote##1{##1}% + \pdfstringdef\@pdfcontactaddress{#1}% + \def\xmpcomma{,}% + \let\xmpquote=\relax +} +\def\@pdfcontactcity{} +\define@key{Hyp}{pdfcontactcity}{\pdfstringdef\@pdfcontactcity{#1}} +\def\@pdfcontactregion{} +\define@key{Hyp}{pdfcontactregion}{\pdfstringdef\@pdfcontactregion{#1}} +\def\@pdfcontactpostcode{} +\define@key{Hyp}{pdfcontactpostcode}{\pdfstringdef\@pdfcontactpostcode{#1}} +\def\@pdfcontactcountry{} +\define@key{Hyp}{pdfcontactcountry}{\pdfstringdef\@pdfcontactcountry{#1}} +\def\@pdfcontactphone{} +\define@key{Hyp}{pdfcontactphone}{\pdfstringdef\@pdfcontactphone{#1}} +\def\@pdfcontactemail{} +\define@key{Hyp}{pdfcontactemail}{\pdfstringdef\@pdfcontactemail{#1}} +\def\@pdfcontacturl{} +\define@key{Hyp}{pdfcontacturl}{\pdfstringdef\@pdfcontacturl{#1}} + +\def\hyxmp@pdfauthor{} +\def\hyxmp@pdfkeywords{} \newcommand*{\hyxmp@redefine@Hyp}{% \@ifundefined{KV@Hyp@pdfauthor}{}{% \@ifundefined{hyxmp@Hyp@pdfauthor}{% @@ -62,7 +87,7 @@ \def\xmpcomma{,}% \def\xmpquote####1{"####1"}% \hyxmp@Hyp@pdfauthor{##1}% - \let\xmpcomma=\relax + \def\xmpcomma{,}% \let\xmpquote=\relax }% \@ifundefined{KV@Hyp@pdfkeywords}{}{% @@ -79,7 +104,7 @@ \def\xmpcomma{,}% \def\xmpquote####1{"####1"}% \hyxmp@Hyp@pdfkeywords{##1}% - \let\xmpcomma=\relax + \def\xmpcomma{,}% \let\xmpquote=\relax }% } @@ -99,6 +124,14 @@ \@pdfauthor \@pdfauthortitle \@pdfcaptionwriter + \@pdfcontactaddress + \@pdfcontactcity + \@pdfcontactcountry + \@pdfcontactemail + \@pdfcontactphone + \@pdfcontactpostcode + \@pdfcontactregion + \@pdfcontacturl \@pdfcopyright \@pdfkeywords \@pdflang @@ -150,7 +183,7 @@ disabled}% \fi \next } -\let\xmpcomma=\relax +\def\xmpcomma{,}% \bgroup \catcode`\^^C=11 \gdef\hyxmp@comma{^^C} @@ -665,6 +698,135 @@ ______^^J% }% \fi } +\begingroup + \catcode`\&=12 + \catcode`\#=12 + \gdef\xmplinesep{ } +\endgroup +\newcommand*{\hyxmp@list@to@lines}[2]{% + \ifx#2\@empty + \else + \bgroup + \hyxmp@add@to@xml{% +_________<#1>% + }% + \def\@elt@first##1{% + \hyxmp@add@to@xml{##1}% + \let\@elt=\@elt@rest + }% + \def\@elt@rest##1{% + \hyxmp@add@to@xml{\xmplinesep##1}% + }% + \let\@elt=\@elt@first + \hyxmp@xmlify{#2}% + \hyxmp@commas@to@list\hyxmp@list{\hyxmp@xmlified}% + \hyxmp@list + \hyxmp@add@to@xml{^^J}% + \egroup + \fi +} +\gdef\hyxmp@photometa@schema{% + \edef\hyxmp@photometa@data{% + \@pdfcontactaddress + \@pdfcontactcity + \@pdfcontactregion + \@pdfcontactpostcode + \@pdfcontactcountry + \@pdfcontactphone + \@pdfcontactemail + \@pdfcontacturl + }% + \ifx\hyxmp@photometa@data\@empty + \else + \hyxmp@iptc@extensions + \hyxmp@add@to@xml{% +______^^J% +_______^^J% + }% + \fi + \hyxmp@list@to@lines{Iptc4xmpCore:CiAdrExtadr}{\@pdfcontactaddress}% + \hyxmp@add@simple{Iptc4xmpCore:CiAdrCity}{\@pdfcontactcity}% + \hyxmp@add@simple{Iptc4xmpCore:CiAdrRegion}{\@pdfcontactregion}% + \hyxmp@add@simple{Iptc4xmpCore:CiAdrPcode}{\@pdfcontactpostcode}% + \hyxmp@add@simple{Iptc4xmpCore:CiAdrCtry}{\@pdfcontactcountry}% + \bgroup + \def\xmplinesep{,}% + \hyxmp@list@to@lines{Iptc4xmpCore:CiTelWork}{\@pdfcontactphone}% + \hyxmp@list@to@lines{Iptc4xmpCore:CiEmailWork}{\@pdfcontactemail}% + \hyxmp@list@to@lines{Iptc4xmpCore:CiUrlWork}{\@pdfcontacturl}% + \egroup + \ifx\hyxmp@photometa@data\@empty + \else + \hyxmp@add@to@xml{% +_______^^J% +______^^J% + }% + \fi +} +\newcommand*{\hyxmp@iptc@extensions}{% + \hyxmp@add@to@xml{% +______^^J% +________^^J% +__________^^J% +____________^^J% +______________IPTC Core Schema^^J% +______________http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/^^J% +______________Iptc4xmpCore^^J% +______________^^J% +________________^^J% +__________________^^J% +____________________CreatorContactInfo^^J% +____________________contactinfo^^J% +____________________external^^J% +____________________contact information for the document's creator^^J% +__________________^^J% +________________^^J% +______________^^J% +______________^^J% +________________^^J% +__________________^^J% +____________________contactinfo^^J% +____________________http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/contactinfo/^^J% +____________________Iptc4xmpCore^^J% +____________________contact information^^J% +____________________^^J% +______________________^^J% + }% + \hyxmp@text@resource{CiAdrExtadr}{contact address}% + \hyxmp@text@resource{CiAdrCity}{contact city}% + \hyxmp@text@resource{CiAdrRegion}{contact region}% + \hyxmp@text@resource{CiAdrPcode}{contact postal code}% + \hyxmp@text@resource{CiAdrCtry}{contact country}% + \hyxmp@text@resource{CiTelWork}{contact telephone number}% + \hyxmp@text@resource{CiEmailWork}{contact email address}% + \hyxmp@text@resource{CiUrlWork}{contact url}% + \hyxmp@add@to@xml{% +______________________^^J% +____________________^^J% +__________________^^J% +________________^^J% +______________^^J% +____________^^J% +__________^^J% +________^^J% +______^^J% + }% +} +\newcommand*{\hyxmp@text@resource}[2]{% + \hyxmp@add@to@xml{% +________________________^^J% +__________________________#1^^J% +__________________________Text^^J% +__________________________#2^^J% +________________________^^J% + } +} \begingroup \ifhyxmp@unicodetex \lccode`\!="FEFF % @@ -690,6 +852,7 @@ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns\hyxmp@hash">^^J% \hyxmp@xmpRights@schema \hyxmp@dc@schema \hyxmp@photoshop@schema + \hyxmp@photometa@schema \hyxmp@xmp@basic@schema \hyxmp@mm@schema \hyxmp@add@to@xml{% -- cgit v1.2.3