diff options
author | Karl Berry <karl@freefriends.org> | 2012-09-14 00:35:00 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-09-14 00:35:00 +0000 |
commit | a1f11c0b253215e29345a70060ea16c46dd8536e (patch) | |
tree | caa8921a5fcc6a72a9a207603e5e9c92e24e6b0a /Master/texmf-dist/tex/latex/hyperxmp | |
parent | c10f0604c0627b56b4126da3a23d4088647d8f13 (diff) |
hyperxmp (13sep12)
git-svn-id: svn://tug.org/texlive/trunk@27663 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/hyperxmp')
-rw-r--r-- | Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty | 500 |
1 files changed, 331 insertions, 169 deletions
diff --git a/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty b/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty index a7dec0caeeb..bf84fefeed5 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/03/10 v1.5 Store hyperref metadata in XMP format] + [2012/09/10 v2.0 Store hyperref metadata in XMP format] \edef\hyxmp@dq@code{\the\catcode`\"} \catcode`\"=12 \def\hyxmp@driver{hpdftex} @@ -32,9 +32,11 @@ \RequirePackage{atenddvi} \let\hyxmp@at@end=\AtEndDvi \fi -\RequirePackage{keyval} +\RequirePackage{kvoptions} \RequirePackage{pdfescape} \RequirePackage{stringenc} +\RequirePackage{intcalc} +\RequirePackage{ifxetex} \def\@pdfcopyright{} \define@key{Hyp}{pdfcopyright}{\pdfstringdef\@pdfcopyright{#1}} \def\@pdflicenseurl{} @@ -45,13 +47,53 @@ \define@key{Hyp}{pdfcaptionwriter}{\pdfstringdef\@pdfcaptionwriter{#1}} \def\@pdfmetalang{} \define@key{Hyp}{pdfmetalang}{\pdfstringdef\@pdfmetalang{#1}} +\let\hyxmp@ProcessKeyvalOptions=\ProcessKeyvalOptions +\renewcommand*{\ProcessKeyvalOptions}{% + \@ifundefined{KV@Hyp@pdfauthor}{}{% + \@ifundefined{hyxmp@Hyp@pdfauthor}{% + \expandafter\let\expandafter\hyxmp@Hyp@pdfauthor + \csname KV@Hyp@pdfauthor\endcsname + }{}% + }% + \define@key{Hyp}{pdfauthor}{% + \let\xmpcomma=\hyxmp@comma + \def\xmpquote####1{####1}% + \hyxmp@Hyp@pdfauthor{##1}% + \global\let\hyxmp@pdfauthor=\@pdfauthor + \def\xmpcomma{,}% + \def\xmpquote####1{"####1"}% + \hyxmp@Hyp@pdfauthor{##1}% + \let\xmpcomma=\relax + \let\xmpquote=\relax + }% + \@ifundefined{KV@Hyp@pdfkeywords}{}{% + \@ifundefined{hyxmp@Hyp@pdfkeywords}{% + \expandafter\let\expandafter\hyxmp@Hyp@pdfkeywords + \csname KV@Hyp@pdfkeywords\endcsname + }{}% + }% + \define@key{Hyp}{pdfkeywords}{% + \let\xmpcomma=\hyxmp@comma + \def\xmpquote####1{####1}% + \hyxmp@Hyp@pdfkeywords{##1}% + \global\let\hyxmp@pdfkeywords=\@pdfkeywords + \def\xmpcomma{,}% + \def\xmpquote####1{"####1"}% + \hyxmp@Hyp@pdfkeywords{##1}% + \let\xmpcomma=\relax + \let\xmpquote=\relax + }% + \hyxmp@ProcessKeyvalOptions +} \newcommand*{\hyxmp@find@metadata}{% \edef\hyxmp@concated@metadata{% + \@baseurl \@pdfauthor \@pdfauthortitle \@pdfcaptionwriter \@pdfcopyright \@pdfkeywords + \@pdflang \@pdflicenseurl \@pdfsubject \@pdftitle @@ -65,18 +107,13 @@ metadata values to hyperxmp}% \fi } \AtBeginDocument{% - \@ifpackageloaded{hyperref}% - {% - \ifx\@pdfmetalang\@empty - \ifx\@pdflang\@empty - \let\@pdfmetalang=\hyxmp@x@default - \else - \edef\@pdfmetalang{\@pdflang}% - \fi - \fi - \ifHy@unicode - \hyxmp@reencode\@pdfmetalang - \fi + \@ifpackageloaded{hyperref}{% + \ifx\@pdflang\@empty + \let\@pdfmetalang=\hyxmp@x@default + \else + \edef\@pdfmetalang{\@pdflang}% + \fi + \hyxmp@xmlify\@pdfmetalang \hyxmp@at@end{% \hyxmp@find@metadata \hyxmp@embed@packet @@ -105,23 +142,21 @@ disabled}% \fi \next } +\let\xmpcomma=\relax \bgroup -\catcode`\&=11 -\gdef\hyxmp@xml@amp{&} -\global\let\hyxmp@other@amp=& -\gdef\hyxmp@amp{&} -\catcode`\<=11 -\gdef\hyxmp@xml@lt{<} -\global\let\hyxmp@other@lt=< -\catcode`\>=11 -\gdef\hyxmp@xml@gt{>} -\global\let\hyxmp@other@gt=> -\def\next#1{#1} -\next{\global\let\hyxmp@other@space= } % -\catcode`\|=0 -\catcode`\\=11 -|global|let|hyxmp@other@bs=\ -|egroup +\catcode`\^^C=11 +\gdef\hyxmp@comma{^^C} +\egroup +\let\xmpquote=\relax +\newcommand{\XMPTruncateList}[1]{% + \edef\hyxmp@temp@str{\csname hyxmp@#1\endcsname}% + \hyxmp@commas@to@list{\hyxmp@temp@list}{\hyxmp@temp@str}% + \def\@elt##1{% + \expandafter\gdef\csname @#1\endcsname{##1}% + \let\@elt=\@gobble + } + \hyxmp@temp@list +} \catcode`\Q=3 \newcommand{\hyxmp@trimspaces}[1]{% \begingroup @@ -132,103 +167,204 @@ disabled}% \def\hyxmp@trimb#1 Q{\hyxmp@trimc#1Q} \def\hyxmp@trimc#1Q#2{\afterassignment\endgroup \vfuzz\the\vfuzz#1} \catcode`\Q=11 -\newcommand*{\hyxmp@reencode}[1]{% - \EdefUnescapeString\hyxmp@reencoded{#1}% - \StringEncodingConvert\hyxmp@reencoded\hyxmp@reencoded{utf16be}{pdfdoc}% - \StringEncodingSuccessFailure{% - \global\let\hyxmp@reencoded=\hyxmp@reencoded - }{% - \gdef\hyxmp@reencoded{#1}% - }% - \edef#1{\hyxmp@reencoded}% -} +\newif\ifhyxmp@unicodetex +\ifnum64=`\^^^^0040\relax + \hyxmp@unicodetextrue +\else + \hyxmp@unicodetexfalse +\fi +\newcommand*{\hyxmp@reencode}[1]{} +\expandafter\def\csname SE->pdfdoc@03\endcsname{0003} \newcommand*{\hyxmp@xmlify}[1]{% \gdef\hyxmp@xmlified{}% - \edef\hyxmp@text{#1}% - \ifHy@unicode - \hyxmp@reencode\hyxmp@text + \EdefUnescapeString\hyxmp@text{#1}% + \ifhyxmp@unicodetex + \hyxmp@is@unicode\hyxmp@text{% + \StringEncodingConvert + \hyxmp@text\hyxmp@text{utf16be}{utf32be}% + }{% + \ifxetex + \hyxmp@xetex@crap + \else + \StringEncodingConvert + \hyxmp@text\hyxmp@text{pdfdoc}{utf32be}% + \fi + }% + \EdefEscapeHex\hyxmp@text{\hyxmp@text}% + \edef\hyxmp@text{% + \expandafter + }\expandafter\hyxmp@toxml@unicodetex\hyxmp@text + \relax\relax\relax\relax\relax\relax\relax\relax + \else + \hyxmp@is@unicode\hyxmp@text{% + \StringEncodingConvert + \hyxmp@text\hyxmp@text{utf16be}{utf8}% + }{% + \StringEncodingConvert + \hyxmp@text\hyxmp@text{pdfdoc}{utf8}% + }% + \EdefEscapeHex\hyxmp@text{\hyxmp@text}% + \edef\hyxmp@text{% + \expandafter\hyxmp@toxml\hyxmp@text\@empty\@empty + }% + \EdefUnescapeHex\hyxmp@text{\hyxmp@text}% \fi - \expandafter\hyxmp@xmlify@i\hyxmp@text\@empty - \@ifundefined{pdfmark}{}{% - \expandafter\hyxmp@obscure@spaces\expandafter{\hyxmp@xmlified}% + \global\let\hyxmp@xmlified\hyxmp@text +} +\begingroup + \lccode`\<=254 % + \lccode`\>=255 % + \catcode254=12 % + \catcode255=12 % +\lowercase{\endgroup + \def\hyxmp@is@unicode#1{% + \expandafter\hyxmp@@is@unicode#1<>\@nil + }% + \def\hyxmp@@is@unicode#1<>#2\@nil{% + \ifx\\#1\\% + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi }% } -\def\hyxmp@xmlify@i{\futurelet\hyxmp@one@token\hyxmp@xmlify@ii} -\def\hyxmp@xmlify@ii{% - \if\hyxmp@one@token\hyxmp@other@lt - \def\next##1{% - \xdef\hyxmp@xmlified{\hyxmp@xmlified\hyxmp@xml@lt}% - \hyxmp@xmlify@i - }% +\def\hyxmp@toxml#1#2{% + \ifx#1\@empty \else - \if\hyxmp@one@token\hyxmp@other@gt - \def\next##1{% - \xdef\hyxmp@xmlified{\hyxmp@xmlified\hyxmp@xml@gt}% - \hyxmp@xmlify@i - }% + \ifnum"#1#2=`\& % + 26616D703B% & + \else\ifnum"#1#2=`\< % + 266C743B% < + \else\ifnum"#1#2=`\> % + 2667743B% > \else - \if\hyxmp@one@token\hyxmp@other@amp - \def\next##1{% - \xdef\hyxmp@xmlified{\hyxmp@xmlified\hyxmp@xml@amp}% - \hyxmp@xmlify@i - }% + \@ifundefined{pdfmark}{% + #1#2% + }{% + \ifnum"#1#2=`\( % + 5C28% \( + \else\ifnum"#1#2=`\) % + 5C29% \) \else - \ifx\hyxmp@one@token\hyxmp@other@space - \def\next##1{% - \g@addto@macro\hyxmp@xmlified{ }% - \hyxmp@xmlify@i##1% - }% - \else - \if\hyxmp@one@token\hyxmp@other@bs - \def\next##1{\futurelet\hyxmp@one@token\hyxmp@xmlify@iii} - \else - \ifx\hyxmp@one@token\@empty - \def\next##1{}% - \else - \def\next##1{% - \g@addto@macro\hyxmp@xmlified{##1}% - \hyxmp@xmlify@i - }% - \fi - \fi - \fi - \fi - \fi + #1#2% + \fi\fi + }% + \fi\fi\fi + \expandafter\hyxmp@toxml \fi - \next } -\def\hyxmp@xmlify@iii{% - \def\next##1##2##3{% - \@tempcnta='##1##2##3 - \xdef\hyxmp@xmlified{\hyxmp@xmlified - \hyxmp@amp\hyxmp@hash\the\@tempcnta;% +\def\hyxmp@toxml@unicodetex#1#2#3#4#5#6#7#8{% + \ifx#1\relax + \else + \ifnum"#1#2#3#4#5#6#7#8>127 % + \uccode`\*="#1#2#3#4#5#6#7#8\relax + \uppercase{% + \edef\hyxmp@text{\hyxmp@text *}% + }% + \else\ifnum"#7#8=`\< % + \edef\hyxmp@text{\hyxmp@text <}% + \else\ifnum"#7#8=`\& % + \edef\hyxmp@text{\hyxmp@text &}% + \else\ifnum"#7#8=`\> % + \edef\hyxmp@text{\hyxmp@text >}% + \else\ifnum"#7#8=`\ % + \edef\hyxmp@text{\hyxmp@text\space}% + \else + \uccode`\*="#7#8\relax + \uppercase{% + \edef\hyxmp@text{\hyxmp@text *}% + }% + \fi\fi\fi\fi\fi + \expandafter\hyxmp@toxml@unicodetex + \fi +} +\def\hyxmp@skipzeros#1{% + \ifx#10% + \expandafter\hyxmp@skipzeros + \fi +} +\begingroup +\def\x#1{\endgroup + \def\hyxmp@xetex@crap{% + \edef\hyxmp@try{% + \expandafter\hyxmp@SpaceOther\hyxmp@text#1\@nil }% - \hyxmp@xmlify@i + \let\hyxmp@crap@result=N% + \expandafter\hyxmp@crap@test\hyxmp@try\relax + \ifx\hyxmp@crap@result Y% + \let\hyxmp@text\@empty + \expandafter\hyxmp@crap@convert\hyxmp@try\relax + \else + \StringEncodingConvert\hyxmp@text\hyxmp@text{pdfdoc}{utf32be}% + \fi }% - \if\hyxmp@one@token( - \let\next=\hyxmp@xmlify@i +} +\x{ } +\begingroup + \catcode`\~=12 % + \lccode`\~=`\ % +\lowercase{\endgroup + \def\hyxmp@SpaceOther#1 #2\@nil{% + #1% + \ifx\relax#2\relax + \expandafter\@gobble + \else + ~% + \expandafter\@firstofone + \fi + {\hyxmp@SpaceOther#2\@nil}% + }% +} +\def\hyxmp@crap@test#1{% + \ifx#1\relax \else - \if\hyxmp@one@token) - \let\next=\hyxmp@xmlify@i + \ifnum`#1>127 % + \let\hyxmp@crap@result=Y% + \expandafter\expandafter\expandafter\hyxmp@skiptorelax + \else + \expandafter\expandafter\expandafter\hyxmp@crap@test \fi \fi - \next -} -\newcommand*{\hyxmp@obscure@spaces}[1]{% - \gdef\hyxmp@xmlified{}% - \expandafter\hyxmp@obscure@spaces@i#1 {} % } -\def\hyxmp@obscure@spaces@i #1 #2 {% - \def\hyxmp@one@token{#2}% - \ifx\hyxmp@one@token\@empty - \xdef\hyxmp@xmlified{\hyxmp@xmlified#1}% - \let\next=\relax +\def\hyxmp@skiptorelax#1\relax{} +\def\hyxmp@crap@convert#1{% + \ifx#1\relax \else - \xdef\hyxmp@xmlified{\hyxmp@xmlified#1\hyxmp@amp\hyxmp@hash32;}% - \def\next{\expandafter\hyxmp@obscure@spaces@i\expandafter#2 }% + \edef\hyxmp@num{\number`#1}% + \ifnum\hyxmp@num>"FFFFFF % + \lccode`\!=\intcalcDiv{\hyxmp@num}{\number"1000000}\relax + \lowercase{\edef\hyxmp@text{\hyxmp@text!}}% + \edef\hyxmp@num{\intcalcMod{\hyxmp@num}{\number"1000000}}% + \else + \edef\hyxmp@text{\hyxmp@text\hyxmp@zero}% + \fi + \ifnum\hyxmp@num>"FFFF % + \lccode`\!=\intcalcDiv{\hyxmp@num}{\number"10000}\relax + \lowercase{\edef\hyxmp@text{\hyxmp@text!}}% + \edef\hyxmp@num{\intcalcMod{\hyxmp@num}{\number"10000}}% + \else + \edef\hyxmp@text{\hyxmp@text\hyxmp@zero}% + \fi + \ifnum\hyxmp@num>"FF % + \lccode`\!=\intcalcDiv{\hyxmp@num}{\number"100}\relax + \lowercase{\edef\hyxmp@text{\hyxmp@text!}}% + \edef\hyxmp@num{\intcalcMod{\hyxmp@num}{\number"100}}% + \else + \edef\hyxmp@text{\hyxmp@text\hyxmp@zero}% + \fi + \ifnum\hyxmp@num>0 % + \lccode`\!=\hyxmp@num\relax + \lowercase{\edef\hyxmp@text{\hyxmp@text!}}% + \else + \edef\hyxmp@text{\hyxmp@text\hyxmp@zero}% + \fi + \expandafter\hyxmp@crap@convert \fi - \next } +\begingroup + \catcode0=12 % + \gdef\hyxmp@zero{^^00}% +\endgroup \def\hyxmp@modulo@a#1{% \@tempcntb=\@tempcnta \divide\@tempcntb by #1 @@ -323,6 +459,7 @@ disabled}% \ifnum\@tempcnta<256 \repeat \lccode`\_=`\ \relax + \lccode`\^^C=`\,\relax \lowercase{\xdef\hyxmp@xml{\hyxmp@xml#1}}% \egroup } @@ -367,25 +504,26 @@ __________________________________________________^^J% ______<rdf:Description rdf:about=""^^J% ___________xmlns:pdf="http://ns.adobe.com/pdf/1.3/">^^J% }% - \ifx\@pdfkeywords\@empty - \else - \hyxmp@xmlify{\@pdfkeywords}% - \hyxmp@add@to@xml{% -___________<pdf:Keywords>\hyxmp@xmlified</pdf:Keywords>^^J% - }% - \fi - \ifx\@pdfproducer\@empty - \else - \hyxmp@xmlify{\@pdfproducer}% - \hyxmp@add@to@xml{% -___________<pdf:Producer>\hyxmp@xmlified</pdf:Producer>^^J% - }% - \fi + \hyxmp@add@simple{pdf:Keywords}{\@pdfkeywords}% + \hyxmp@add@simple{pdf:Producer}{\@pdfproducer}% + \@ifundefined{pdfminorversion}{}{% + \hyxmp@add@simple{pdf:PDFVersion}{1.\the\pdfminorversion}% + }% \hyxmp@add@to@xml{% ______</rdf:Description>^^J% }% \fi } +\newcommand*{\hyxmp@add@simple}[2]{% + \edef\hyxmp@string{#2}% + \ifx\hyxmp@string\@empty + \else + \hyxmp@xmlify{\hyxmp@string}% + \hyxmp@add@to@xml{% +_________<#1>\hyxmp@xmlified</#1>^^J% + }% + \fi +} \newcommand*{\hyxmp@rdf@dc}[2]{% \ifx#2\@empty \else @@ -415,15 +553,11 @@ _________<dc:#1>^^J% ____________<rdf:#2>^^J% }% \bgroup - \edef\hyxmp@text{#3}% - \ifHy@unicode - \hyxmp@reencode\hyxmp@text - \fi - \hyxmp@commas@to@list\hyxmp@list{\hyxmp@text}% + \hyxmp@xmlify{#3}% + \hyxmp@commas@to@list\hyxmp@list{\hyxmp@xmlified}% \def\@elt##1{% - \hyxmp@xmlify{##1}% \hyxmp@add@to@xml{% -_______________<rdf:li>\hyxmp@xmlified</rdf:li>^^J% +_______________<rdf:li>##1</rdf:li>^^J% }% }% \hyxmp@list @@ -443,22 +577,39 @@ _________<dc:format>application/pdf</dc:format>^^J% \hyxmp@rdf@dc{title}{\@pdftitle}% \hyxmp@rdf@dc{description}{\@pdfsubject}% \hyxmp@rdf@dc{rights}{\@pdfcopyright}% - \hyxmp@list@to@xml{creator}{Seq}{\@pdfauthor}% - \hyxmp@list@to@xml{subject}{Bag}{\@pdfkeywords}% + \hyxmp@list@to@xml{creator}{Seq}{\hyxmp@pdfauthor}% + \hyxmp@list@to@xml{subject}{Bag}{\hyxmp@pdfkeywords}% \hyxmp@list@to@xml{date}{Seq}{\hyxmp@today}% + \hyxmp@add@simple{dc:language}{\@pdflang}% + \hyxmp@add@simple{dc:source}{\jobname.tex}% \hyxmp@add@to@xml{% ______</rdf:Description>^^J% }% } \newcommand*{\hyxmp@xmpRights@schema}{% + \let\hyxmp@rights=\@empty \ifx\@pdflicenseurl\@empty \else - \hyxmp@xmlify{\@pdflicenseurl}% + \def\hyxmp@rights{YES}% + \fi + \ifx\@pdfcopyright\@empty + \else + \def\hyxmp@rights{YES}% + \fi + \ifx\hyxmp@rights\@empty + \else \hyxmp@add@to@xml{% ______<rdf:Description rdf:about=""^^J% ___________xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/">^^J% + }% + \ifx\@pdfcopyright\@empty + \else + \hyxmp@add@to@xml{% _________<xmpRights:Marked>True</xmpRights:Marked>^^J% -_________<xmpRights:WebStatement>\hyxmp@xmlified</xmpRights:WebStatement>^^J% + }% + \fi + \hyxmp@add@simple{xmpRights:WebStatement}{\@pdflicenseurl}% + \hyxmp@add@to@xml{% ______</rdf:Description>^^J% }% \fi @@ -474,6 +625,20 @@ _________<xmpMM:InstanceID>\hyxmp@InstanceID</xmpMM:InstanceID>^^J% ______</rdf:Description>^^J% }% } +\newcommand*{\hyxmp@xmp@basic@schema}{% + \hyxmp@add@to@xml{% +______<rdf:Description rdf:about=""^^J% +____________xmlns:xmp="http://ns.adobe.com/xap/1.0/">^^J% + }% + \hyxmp@add@simple{xmp:CreateDate}{\hyxmp@today}% + \hyxmp@add@simple{xmp:ModifyDate}{\hyxmp@today}% + \hyxmp@add@simple{xmp:MetadataDate}{\hyxmp@today}% + \hyxmp@add@simple{xmp:CreatorTool}{\@pdfcreator}% + \hyxmp@add@simple{xmp:BaseURL}{\@baseurl}% + \hyxmp@add@to@xml{% +______</rdf:Description>^^J% + }% +} \gdef\hyxmp@photoshop@schema{% \edef\hyxmp@photoshop@data{\@pdfauthortitle\@pdfcaptionwriter}% \ifx\hyxmp@photoshop@data\@empty @@ -483,20 +648,8 @@ ______<rdf:Description rdf:about=""^^J% ____________xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/">^^J% }% \fi - \ifx\@pdfauthortitle\@empty - \else - \hyxmp@xmlify{\@pdfauthortitle}% - \hyxmp@add@to@xml{% -_________<photoshop:AuthorsPosition>\hyxmp@xmlified</photoshop:AuthorsPosition>^^J% - }% - \fi - \ifx\@pdfcaptionwriter\@empty - \else - \hyxmp@xmlify{\@pdfcaptionwriter}% - \hyxmp@add@to@xml{% -_________<photoshop:CaptionWriter>\hyxmp@xmlified</photoshop:CaptionWriter>^^J% - }% - \fi + \hyxmp@add@simple{photoshop:AuthorsPosition}{\@pdfauthortitle}% + \hyxmp@add@simple{photoshop:CaptionWriter}{\@pdfcaptionwriter}% \ifx\hyxmp@photoshop@data\@empty \else \hyxmp@add@to@xml{% @@ -504,21 +657,32 @@ ______</rdf:Description>^^J% }% \fi } -\bgroup -\catcode`\^^ef=12 -\catcode`\^^bb=12 -\catcode`\^^bf=12 -\gdef\hyxmp@construct@packet{% +\begingroup + \ifhyxmp@unicodetex + \lccode`\!="FEFF % + \lowercase{% + \gdef\hyxmp@bom{!} + }% + \else + \catcode`\^^ef=12 + \catcode`\^^bb=12 + \catcode`\^^bf=12 + \gdef\hyxmp@bom{^^ef^^bb^^bf}% + \fi +\endgroup +\def\hyxmp@construct@packet{% \gdef\hyxmp@xml{}% - \hyxmp@add@to@xml{% -<?xpacket begin="^^ef^^bb^^bf" id="W5M0MpCehiHzreSzNTczkc9d"?>^^J% + \hyxmp@add@to@xml{<?xpacket begin="\hyxmp@bom" % +id="W5M0MpCehiHzreSzNTczkc9d"?>^^J% <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="3.1-702">^^J% -___<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns\hyxmp@hash">^^J% +___<rdf:RDF +xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns\hyxmp@hash">^^J% }% \hyxmp@pdf@schema \hyxmp@xmpRights@schema \hyxmp@dc@schema \hyxmp@photoshop@schema + \hyxmp@xmp@basic@schema \hyxmp@mm@schema \hyxmp@add@to@xml{% ___</rdf:RDF>^^J% @@ -527,7 +691,6 @@ ___</rdf:RDF>^^J% <?xpacket end="w"?>^^J% }% } -\egroup \newcommand*{\hyxmp@embed@packet}{% \hyxmp@construct@packet \def\hyxmp@driver{hpdftex}% @@ -566,16 +729,20 @@ ___</rdf:RDF>^^J% } \newcommand*{\hyxmp@embed@packet@pdfmark}{% \pdfmark{% + pdfmark=/NamespacePush + }% + \pdfmark{% pdfmark=/OBJ, Raw={/_objdef \string{hyxmp@Metadata\string} /type /stream}% }% \pdfmark{% pdfmark=/PUT, - Raw={\string{hyxmp@Metadata\string}% - << - /Type /Metadata - /Subtype /XML - >> + Raw={\string{hyxmp@Metadata\string} + 2 dict begin + /Type /Metadata def + /Subtype /XML def + currentdict + end }% }% \pdfmark{% @@ -583,16 +750,11 @@ ___</rdf:RDF>^^J% Raw={\string{hyxmp@Metadata\string} (\hyxmp@xml)}% }% \pdfmark{% - pdfmark=/CLOSE, - Raw={\string{hyxmp@Metadata\string}}% + pdfmark=/Metadata, + Raw={\string{Catalog\string} \string{hyxmp@Metadata\string}}% }% \pdfmark{% - pdfmark=/Metadata, - Raw={\string{Catalog\string}% - << - /Metadata \string{hyxmp@Metadata\string}% - >> - }% + pdfmark=/NamespacePop }% } \newcommand*{\hyxmp@embed@packet@dvipdfm}{% |