texlive[50338] Master/texmf-dist: pdfx (11mar19)

commits+karl at tug.org commits+karl at tug.org
Mon Mar 11 23:01:25 CET 2019


Revision: 50338
          http://tug.org/svn/texlive?view=revision&revision=50338
Author:   karl
Date:     2019-03-11 23:01:25 +0100 (Mon, 11 Mar 2019)
Log Message:
-----------
pdfx (11mar19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf
    trunk/Master/texmf-dist/doc/latex/pdfx/pdfx.xmpdata
    trunk/Master/texmf-dist/source/latex/pdfx/Makefile.src
    trunk/Master/texmf-dist/source/latex/pdfx/pdfx.dtx
    trunk/Master/texmf-dist/source/latex/pdfx/pdfx.ins
    trunk/Master/texmf-dist/tex/latex/pdfx/glyphtounicode-ntx.tex
    trunk/Master/texmf-dist/tex/latex/pdfx/pdfx.sty

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/pdfx/pdfx-16.sty

Deleted: trunk/Master/texmf-dist/doc/latex/pdfx/pdfx-16.sty
===================================================================
--- trunk/Master/texmf-dist/doc/latex/pdfx/pdfx-16.sty	2019-03-11 16:27:36 UTC (rev 50337)
+++ trunk/Master/texmf-dist/doc/latex/pdfx/pdfx-16.sty	2019-03-11 22:01:25 UTC (rev 50338)
@@ -1,2978 +0,0 @@
-%%
-%% This is file `pdfx.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% pdfx.dtx  (with options: `package')
-%% 
-%%  Copyright (c) 2018, CV Radhakrishnan <cvr at river-valley.org>,
-%%    Han The Thanh <thanh at river-valley.org>,
-%%    Ross Moore <ross.moore at mq.edu.au>,
-%%    Peter Selinger <selinger at mathstat.dal.ca>
-%% 
-%%  This file may be distributed and/or modified under the conditions
-%%  of the LaTeX Project Public License, either version 1.2 of this
-%%  license or (at your option) any later version.  The latest version
-%%  of this license is in:
-%% 
-%%    http://www.latex-project.org/lppl.txt
-%% 
-%%  and version 1.2 or later is part of all distributions of LaTeX
-%%  version 1999/12/01 or later.
-%% 
-\@ifpackageloaded{pdfxmult}{%
- \PackageError{pdfx}%
-  {^^JThis package may not be used in conjunction with the \space
-   pdfxmult \space package}%
-  {Type \space x <return> \space to exit; or just \space <return> \space
-   to continue without this package.}%
- \expandafter\let\csname opt at pdfx.sty\endcsname\@empty\endinput
-}{}%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{pdfx}
-  [2018/11/29 v1.6 PDF/X and PDF/A support (CVR/HTH/RRM/PS)]
-
-\newif\ifpdfx at noBOM \pdfx at noBOMfalse   % use a BOM in the XMP packet
-\newif\ifpdfx at x \pdfx at xfalse   % PDF/X mode
-\newif\ifpdfx at e \pdfx at efalse   % PDF/E mode; not fully implemented yet
-\newif\ifpdfx at ua\pdfx at uafalse   % PDF/UA mode; not fully implemented yet
-\newif\ifpdfx at vt \pdfx at vtfalse   % PDF/VT mode, extension of  PDF/X
-\newif\ifno at iccprofile   % used with PDF/X-4p and PDF/X-5pg
-\newif\ifpdfx at noerr   % error messages become just warnings
-
-\DeclareOption{noerr}{\pdfx at noerrtrue}
-
-%% Not all combinations of the following parameters are meaningful.
-\def\xmp at Part{1}               % PDF/A part: 1, 2, or 3
-\def\xmp at Conformance{B}        % Conformance level: A, B, or U
-\def\xmp at ReleaseDate{2005}     % 2001 for PDF/X-1, 2005 for PDF/A-1,
-                               % 2010 for PDF/A-2, 2012 for PDF/A-3.
-
-\newcount\pdfx at minorversion
-\expandafter\ifx\csname pdfminorversion\endcsname\relax
-\else
- \global\pdfx at minorversion=\the\pdfminorversion
-\fi
-
-\def\pdfx at ErrorWarning#1#2#3#4{%
- \ifpdfx at noerr \PackageWarning{pdfx}{#1.^^J  #2#3.^^J}%
- \else \PackageError{pdfx}{#1}{#2#4.^^J
-    Use option 'noerr' to avoid this message.^^J}%
- \fi}
-
-\def\pdfx at Xvn@message{%
- \pdfx at ErrorWarning{PDF/X-5n has no default profile}%
-   {Provide your own}{; continuing to build a non-valid document}%
-   {, else continue to build a non-valid document}%
-}
-
-%% PDF/A options
-%%  default is to create  PDF/A-1b
-%%  options can change this for PDF/X or higher levels of PDF/A
-\DeclareOption{a-1a}{\global\pdfx at xfalse\def\xmp at Part{1}%
- \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2005}}
-\DeclareOption{a-1b}{\global\pdfx at xfalse\def\xmp at Part{1}%
- \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2005}}
-\DeclareOption{a-2a}{\global\pdfx at xfalse\def\xmp at Part{2}%
- \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2010}}
-\DeclareOption{a-2b}{\global\pdfx at xfalse\def\xmp at Part{2}%
- \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2010}}
-\DeclareOption{a-2u}{\global\pdfx at xfalse\def\xmp at Part{2}%
- \def\xmp at Conformance{U}\def\xmp at ReleaseDate{2010}}
-\DeclareOption{a-3a}{\global\pdfx at xfalse\def\xmp at Part{3}%
- \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2012}}
-\DeclareOption{a-3b}{\global\pdfx at xfalse\def\xmp at Part{3}%
- \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2012}}
-\DeclareOption{a-3u}{\global\pdfx at xfalse\def\xmp at Part{3}%
- \def\xmp at Conformance{U}\def\xmp at ReleaseDate{2012}}
-%%
-%% PDF/X options
-%% comments added, using
-%% https://www.eci.org/_media/downloads/pdfx/pdfx_faq_english_nov05.pdf
-%% https://en.wikipedia.org/wiki/PDF/X#List_of_the_PDF.2FX_standards
-%%
-\DeclareOption{x-1}{\global\pdfx at xtrue\def\xmp at Part{1}%  obsolete
- \def\xmp at Conformance{a}\def\xmp at ReleaseDate{1999}% CMYK only
- \global\pdfx at minorversion=2\relax
- \pdfx at ErrorWarning{PDF/X-1:1999 is no longer an accepted standard}%
-    {Use option  x-1a1 or  x-1a3 }{; continuing to build a non-valid document}%
-    {, else continue to build a non-valid document.}%
- }%  effectively same as  x-1a1
-\DeclareOption{x-1a}{\global\pdfx at xtrue\def\xmp at Part{1}% CMYK only
- \def\xmp at Conformance{a}\def\xmp at ReleaseDate{2003}%
- \global\pdfx at minorversion=3 }%  same as  x-1a3
-\DeclareOption{x-1a1}{\global\pdfx at xtrue\def\xmp at Part{1}%
- \def\xmp at Conformance{a}\def\xmp at ReleaseDate{2001}%  ISO 15930-1:2001
- \global\pdfx at minorversion=3 }
-\DeclareOption{x-1a3}{\global\pdfx at xtrue\def\xmp at Part{1}%
- \def\xmp at Conformance{a}\def\xmp at ReleaseDate{2003}%  ISO 15930-4:2003
- \global\pdfx at minorversion=3 }
-\DeclareOption{x-2}{\global\pdfx at xtrue\def\xmp at Part{2}%  XMP Metadata
-%% \def\xmp at Conformance{}\def\xmp at ReleaseDate{2002}%  ISO 15930-2:2003
- \def\xmp at Conformance{}\def\xmp at ReleaseDate{2003}%   ISO 15930-5, withdrawn 2011
- \global\pdfx at minorversion=4\relax
- \pdfx at ErrorWarning{PDF/X-2:2003 was never published as a standard}%
-   {Use option  x-1a or  x-3 }{; continuing to build a non-valid document}%
-   {, else continue to build a non-valid document}%
- }%  external OPI workflow, i.e. multiple files involved
-\DeclareOption{x-3}{\global\pdfx at xtrue\def\xmp at Part{3}% RGB allowed, but rare!
- \def\xmp at Conformance{}\def\xmp at ReleaseDate{2003}%
- \global\pdfminorversion=4 }%  same as x-303
-\DeclareOption{x-302}{\global\pdfx at xtrue\def\xmp at Part{3}%
- \def\xmp at Conformance{}\def\xmp at ReleaseDate{2002}%   ISO 15930-3:2002
- \global\pdfx at minorversion=3 }
-\DeclareOption{x-303}{\global\pdfx at xtrue\def\xmp at Part{3}%
- \def\xmp at Conformance{}\def\xmp at ReleaseDate{2003}%  ISO 15930-6:2003
- \global\pdfx at minorversion=4 }
-%%%  Later versions, yet to be fully implemented
-\DeclareOption{x-4}{\global\pdfx at xtrue\def\xmp at Part{4}%
- \def\xmp at Conformance{}\def\xmp at ReleaseDate{2010}%  ISO 15930-7:2010
- \global\pdfx at minorversion=6 }%  same as  x-410
-\DeclareOption{x-4p}{\global\pdfx at xtrue\global\no at iccprofiletrue
-  \def\xmp at Part{4}\def\xmp at Conformance{p}\def\xmp at ReleaseDate{2010}%
-  \global\pdfx at minorversion=6 }%  same as  x-4p10
-\DeclareOption{x-408}{\global\pdfx at xtrue\def\xmp at Part{4}%
- \def\xmp at Conformance{}\def\xmp at ReleaseDate{2008}%  ISO 15930-7:2008
- \global\pdfx at minorversion=6 }
-\DeclareOption{x-410}{\global\pdfx at xtrue\def\xmp at Part{4}%
- \def\xmp at Conformance{}\def\xmp at ReleaseDate{2010}%  ISO 15930-7:2010
- \global\pdfx at minorversion=6 }
-\DeclareOption{x-4p08}{\global\pdfx at xtrue\global\no at iccprofiletrue
-  \def\xmp at Part{4}\def\xmp at Conformance{p}\def\xmp at ReleaseDate{2008}%
-  \global\pdfx at minorversion=6 }%   ISO 15930-7:2010
-\DeclareOption{x-4p10}{\global\pdfx at xtrue\global\no at iccprofiletrue
-  \def\xmp at Part{4}\def\xmp at Conformance{p}\def\xmp at ReleaseDate{2010}%
-  \global\pdfx at minorversion=6 }%   ISO 15930-7:2010
-\DeclareOption{x-5}{\global\pdfx at xtrue\def\xmp at Part{5}%
- \def\xmp at Conformance{g}\def\xmp at ReleaseDate{2008}%
- \global\pdfx at minorversion=6 }%   ISO 15930-8:2010
-\DeclareOption{x-5g}{\global\pdfx at xtrue\def\xmp at Part{5}%
- \def\xmp at Conformance{g}\def\xmp at ReleaseDate{2008}%
- \global\pdfx at minorversion=6 }%   ISO 15930-8:2010
-\DeclareOption{x-5n}{\global\pdfx at xtrue %\global\no at iccprofiletrue
- \def\xmp at Part{5}\def\xmp at Conformance{n}\def\xmp at ReleaseDate{2010}%
- \global\pdfx at minorversion=6 \pdfx at Xvn@message}%   ISO 15930-8:2010
-\DeclareOption{x-5pg}{\global\pdfx at xtrue\global\no at iccprofiletrue
-  \def\xmp at Part{5}\def\xmp at Conformance{pg}\def\xmp at ReleaseDate{2010}%
-  \global\pdfx at minorversion=6 }%  ISO 15930-8:2010
-\DeclareOption{x-508}{\global\pdfx at xtrue\def\xmp at Part{5}%
- \def\xmp at Conformance{g}\def\xmp at ReleaseDate{2008}%
- \global\pdfx at minorversion=6 }%   ISO 15930-8:2008
-\DeclareOption{x-5g08}{\global\pdfx at xtrue\def\xmp at Part{5}%
- \def\xmp at Conformance{g}\def\xmp at ReleaseDate{2008}%
- \global\pdfx at minorversion=6 }%   ISO 15930-8:2008
-\DeclareOption{x-5n08}{\global\pdfx at xtrue %\global\no at iccprofiletrue
- \def\xmp at Part{5}\def\xmp at Conformance{n}\def\xmp at ReleaseDate{2008}%
- \global\pdfx at minorversion=6 \pdfx at Xvn@message}%   ISO 15930-8:2008
-\DeclareOption{x-5pg08}{\global\pdfx at xtrue\global\no at iccprofiletrue
-  \def\xmp at Part{5}\def\xmp at Conformance{pg}\def\xmp at ReleaseDate{2008}%
-  \global\pdfx at minorversion=6 }%  ISO 15930-8:2008
-\DeclareOption{x-510}{\global\pdfx at xtrue\def\xmp at Part{5}%
- \def\xmp at Conformance{g}\def\xmp at ReleaseDate{2010}%
- \global\pdfx at minorversion=6 }%  ISO 15930-8:2010
-\DeclareOption{x-5g10}{\global\pdfx at xtrue\def\xmp at Part{5}%
- \def\xmp at Conformance{g}\def\xmp at ReleaseDate{2010}%
- \global\pdfx at minorversion=6 }%  ISO 15930-8:2010
-\DeclareOption{x-5n10}{\global\pdfx at xtrue %\global\no at iccprofiletrue
- \def\xmp at Part{5}\def\xmp at Conformance{n}\def\xmp at ReleaseDate{2010}%
- \global\pdfx at minorversion=6 \pdfx at Xvn@message}%  ISO 15930-8:2010
-\DeclareOption{x-5pg10}{\global\pdfx at xtrue\global\no at iccprofiletrue
-  \def\xmp at Part{5}\def\xmp at Conformance{pg}\def\xmp at ReleaseDate{2010}%
-  \global\pdfx at minorversion=6 }%  ISO 15930-8:2010
-%%
-%% PDF/E options
-%%
-\DeclareOption{e}{\global\pdfx at xfalse\global\pdfx at etrue
-  \def\xmp at Part{1}\def\xmp at Conformance{}\def\xmp at ReleaseDate{2008}%
-  \gdef\thepdfminorversion{6}%   same as  e-1
-  }
-\DeclareOption{e-1}{\global\pdfx at xfalse\global\pdfx at etrue
-  \def\xmp at Part{1}\def\xmp at Conformance{}\def\xmp at ReleaseDate{2008}%
-  \gdef\thepdfminorversion{6}%  ISO 24517-1:2008
-  }
-%% PDF/UA options
-%%
-\let\xmp at PDFUA\@empty
-\DeclareOption{ua}{\global\pdfx at uatrue % ISO 14289-1:2012, 2014
-  \def\xmp at UAlevel{1}\let\xmp at PDFUA\relax}%   same as  ua-1
-\DeclareOption{ua-1}{\global\pdfx at uatrue % ISO 14289-1:2012, 2014
-  \def\xmp at UAlevel{1}\let\xmp at PDFUA\relax}
-%%
-%% PDF/VT options
-%%
-\DeclareOption{vt-1}{\global\pdfx at xtrue\global\pdfx at vttrue
-  \def\xmp at Part{4}\def\xmp at vtPart{1}\def\xmp at Conformance{}%
-  \def\xmp at vtConformance{}\def\xmp at ReleaseDate{2010}%
-  \gdef\xmpMM at VersionID{1}%
-  \global\pdfx at minorversion=6 }
-\DeclareOption{vt-2}{\global\pdfx at xtrue\global\pdfx at vttrue
-  \global\no at iccprofiletrue   \gdef\xmpMM at VersionID{1}%
-  \def\xmp at Part{5}\def\xmp at vtPart{2}\def\xmp at Conformance{pg}%
-  \def\xmp at vtConformance{}\def\xmp at ReleaseDate{2010}%
-  \global\pdfx at minorversion=6 }
-\DeclareOption{vt-2s}{\global\pdfx at xtrue\global\pdfx at vttrue
-  \global\no at iccprofiletrue   \gdef\xmpMM at VersionID{1}%
-  \def\xmp at Part{5}\def\xmp at vtPart{2}\def\xmp at Conformance{pg}%
-  \def\xmp at vtConformance{s}\def\xmp at ReleaseDate{2010}%
-  \global\pdfx at minorversion=6 }
-
-%% options to alter PDF minor version, in case needed in special circumstances
-\DeclareOption{pdf12}{\global\pdfx at minorversion=2 }%  1999
-\DeclareOption{pdf13}{\global\pdfx at minorversion=3 }%  2001  Acrobat 4 (ISBN 0-201-61588-6)
-\DeclareOption{pdf14}{\global\pdfx at minorversion=4 }%  2003  Acrobat 5 (ISBN 0-201-75839-3)
-\DeclareOption{pdf15}{\global\pdfx at minorversion=5 }%  2005  Acrobat 6
-\DeclareOption{pdf16}{\global\pdfx at minorversion=6 }%  2006  Acrobat 7 (ISBN 0-321-30474-8)
-\DeclareOption{pdf17}{\global\pdfx at minorversion=7 }%  2008  ISO 32000-1:2008
-
-%% inhibits writing the XMP byte-order marker
-\DeclareOption{noBOM}{\pdfx at noBOMtrue}
-\DeclareOption{useBOM}{\pdfx at noBOMfalse}
-
-%% options for language character macros in XMP metadata
-\newif\ifcyrxmp
-\newif\ifcyrKOIxmp
-\newif\ifgrkxmp
-\newif\ifgrkLGRxmp
-\newif\ifhebxmp
-\newif\ifhebHEBxmp
-\newif\ifarbxmp
-\newif\ifarmxmp
-\newif\ifarmSCIxmp
-\newif\ifdevxmp
-\newif\ifvnmxmp
-\newif\iflatEXTxmp
-\newif\iflatLATxmp
-\newif\ifipaxmp
-\newif\ifmathxmp
-
-\DeclareOption{latxmp}{\global\latEXTxmptrue}
-\DeclareOption{LATxmp}{\global\latLATxmptrue\global\latEXTxmptrue}
-\DeclareOption{cyrxmp}{\global\cyrxmptrue}
-\DeclareOption{KOIxmp}{\global\cyrKOIxmptrue\global\cyrxmptrue}
-\DeclareOption{grkxmp}{\global\grkxmptrue}
-\DeclareOption{LGRxmp}{\global\grkLGRxmptrue\global\grkxmptrue}
-\DeclareOption{hebxmp}{\global\hebxmptrue}
-\DeclareOption{HEBxmp}{\global\hebHEBxmptrue\global\hebxmptrue}
-\DeclareOption{arbxmp}{\global\arbxmptrue}
-\DeclareOption{armxmp}{\global\armxmptrue}
-\DeclareOption{AR8xmp}{\global\armSCIxmptrue\global\armxmptrue}
-\DeclareOption{devxmp}{\global\devxmptrue}
-\DeclareOption{vnmxmp}{\global\vnmxmptrue}
-\DeclareOption{ipaxmp}{\global\ipaxmptrue\global\latEXTxmptrue}
-\DeclareOption{mathxmp}{\global\mathxmptrue\global\grkxmptrue}
-
-%% all the above
-\DeclareOption{allxmp}{%
- \global\cyrxmptrue
- \global\cyrKOIxmptrue
- \global\grkxmptrue
- \global\grkLGRxmptrue
- \global\hebxmptrue
- \global\hebHEBxmptrue
- \global\arbxmptrue
- \global\armxmptrue
- \global\armSCIxmptrue
- \global\devxmptrue
- \global\vnmxmptrue
- \global\latEXTxmptrue
- \global\latLATxmptrue
- \global\vnmxmptrue
- \global\ipaxmptrue
- \global\mathxmptrue
- \global\let\pdfx at useactivespacestrue\pdfx at useactivespacesfalse
-}
-
-\newif\ifpdfx at useactivespaces
-
-\ExecuteOptions{noBOM,a-1b}
-\ProcessOptions
-
-\ifpdfx at ua\ifpdfx at x\else
- \expandafter\if\xmp at Conformance A\else
- \pdfx at ErrorWarning{PDF/UA requires 'Tagged PDF' for any structure.^^J
-  Then PDF/A Conformance must be 'a'}%
-  {Use option 'a-\xmp at Part a'}%
-  {; continuing with a likely invalid document}%
-  {, or continue for a likely invalid document}%
-%%%  \gdef\xmp at Conformance{A}%   do we want this?
-\fi\fi\fi
-
-\expandafter\ifx\csname pdflastobj\endcsname\relax
-\else
- \ifnum\pdflastobj >\z@ % pdftex  has already written objects
-  \ifnum\pdfx at minorversion=\pdfminorversion\else
-   \PackageError{pdfx}%
-    {^^J(pdfx)    Cannot change the \string\pdfminorversion^^J%
-     (pdfx)   PDF version remains at 1.\the\pdfminorversion.^^J%
-     (pdfx)   Use \string\pdfminorversion=\the\pdfx at minorversion\space
-      before \string\documentclass}%
-    {(pdfx)   Another package or document-class has written objects into the PDF.^^J%
-     (pdfx)   Hit return to continue with PDF version 1.\the\pdfminorversion.%
-    }%
-   \global\pdfx at minorversion=\the\pdfminorversion
-  \fi
- \else
-  \global\pdfminorversion\pdfx at minorversion
- \fi
-\fi
-
-\expandafter\ifx\csname thepdfminorversion\endcsname\relax
- \expandafter\ifx\csname pdfminorversion\endcsname\relax
- \else
-  \xdef\thepdfminorversion{\the\pdfminorversion}
-\fi\fi
-
-\expandafter\ifx\csname pdfminorversion\endcsname\relax
- \gdef\thepdfminorversion{4}% assumed with XeTeX
- \def\pdf at minorversion@xetex=#1{\gdef\thepdfminorversion{#1}}%
- \let\pdfminorversion\pdf at minorversion@xetex
-\else
- \ifnum\pdfminorversion < 4\relax
-  \ifpdfx at x
-    % more testing needed with PDF/X
-  \else
-   \pdfminorversion=4\relax %  assumed for PDF/A ;  options may change this for  PDF/X
-   \gdef\thepdfminorversion{4}%
-  \fi
- \else
-  \ifnum\pdfminorversion<\thepdfminorversion\relax
-   \global\pdfminorversion=\thepdfminorversion\relax
-  \fi
- \fi
-\fi
-\expandafter\ifx\csname pdfresetpageorigin\endcsname\relax\else
- \pdfresetpageorigin=0
-\fi
-
-\newif\ifpdfx at nopdfinfo
-\ifmathxmp\pdfx at nopdfinfotrue
-\else
- \iflatLATxmp\pdfx at nopdfinfotrue
-\else
- \ifgrkLGRxmp\pdfx at nopdfinfotrue
-\else
- \ifhebHEBxmp\pdfx at nopdfinfotrue
-\else
- \ifcyrKOIxmp\pdfx at nopdfinfotrue
-\else
- \ifarmSCIxmp\pdfx at nopdfinfotrue
-\fi\fi\fi\fi\fi\fi
-
-\iflatLATxmp\pdfx at useactivespacestrue\fi
-\ifgrkLGRxmp\pdfx at useactivespacestrue\fi
-\ifhebHEBxmp\pdfx at useactivespacestrue\fi
-\ifcyrKOIxmp\pdfx at useactivespacestrue\fi
-\ifarmSCIxmp\pdfx at useactivespacestrue\fi
-
-\newif\ifpdfx at transliterated
-\ifgrkLGRxmp\pdfx at transliteratedtrue\fi
-\ifhebHEBxmp\pdfx at transliteratedtrue\fi
-\ifarmSCIxmp\pdfx at transliteratedtrue\fi
-
-\RequirePackage{iftex}
-\RequirePackage{ifpdf}
-%% Support for pdfTeX primitives when using XeTeX:
-\RequirePackage{ifxetex}
-\ifxetex
- \def\pdfx at pages@xetex#1{\special{pdf:put @pages <<#1>>}}
- \def\pdfx at docinfo@xetex#1{\special{pdf:put @docinfo <<#1>>}}
- \def\pdfx at catalog@xetex#1{\special{pdf:put @catalog <<#1>>}}
- \def\pdfx at mapline@xetex#1{}
- \def\pdf at compress@xetex=#1{}
-%%
- \let\pdfpageattr\pdfx at pages@xetex
- \let\pdfinfo\pdfx at docinfo@xetex
- \let\pdfcatalog\pdfx at catalog@xetex
- \let\pdfmapline\pdfx at mapline@xetex
- \let\pdfcompresslevel\pdf at compress@xetex
- \let\pdfobjcompresslevel\pdf at compress@xetex
-\fi
-
-%%\newif\ifpdfx at pdfmark  %  control future support for  dvips
-
-\RequirePackage{ifluatex}
-\ifluatex
- \IfFileExists{luatex85.sty}{% 2016+
-  \RequirePackage{luatex85}%
-  \edef\pdfcreationdate{\pdfcreationdate}%
- }{%  earlier versions
- }%
- \RequirePackage{pdftexcmds}%
- \let\pdfx at mdfivesum\pdf at mdfivesum
- \let\pdfescapestring\pdf at escapestring
-\else
- \ifxetex
-  \usepackage{everyshi}%
-  \expandafter\ifx\csname mdfivesum\endcsname\relax
-   %  too early a version of  XeTeX
-   \let\pdfx at mdfivesum\relax
-  \else
-   %  since mid-2015
-   \let\pdfx at mdfivesum\mdfivesum
-  \fi
- \else
-  \let\pdfx at mdfivesum\pdfmdfivesum
- \fi
-\fi
-\def\pdfx at encodingfile{l8u-penc.def}
-
-\expandafter\ifx\csname pdftexbanner\endcsname\relax
- \expandafter\ifx\csname luatexbanner\endcsname\relax
- \else %  luatex85
-  \let\pdftexbanner\luatexbanner
- \fi
-\else %  pdfTeX, but which version ???
- {\endlinechar=-1
-  \everyeof{\noexpand}%
-  \xdef\pdfx at bannerstring{\expandafter\scantokens\expandafter{\pdftexbanner}}
- }%
- \def\pdfx at testbannerstr{%
-  This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014/dev)
-  kpathsea version 6.2.0dev}%
- \ifx\pdfx at bannerstring\pdfx at testbannerstr
-  \typeout{This version of pdfTeX cannot write out upper-range character bytes,
-   128-255.}%
-  \typeout{Any UTF-8 Unicode characters in the Metadata will not be written
-   correctly.}%
-  \typeout{Please update to a more stable version of pdfTeX.^^J}%
- \fi
-\fi
-
-%% How to support XeTeX here ?
-\ifpdfx at x
- \pdfobjcompresslevel=0 \relax
- \expandafter\ifx\csname pdfinterwordspaceoff\endcsname\relax\else
-  \pdfinterwordspaceoff
-  \let\pdfinterwordspaceon\pdfinterwordspaceoff
-  \let\pdfinterwordspace\relax
- \fi
- \expandafter\ifx\csname pdfgeninterwordspace\endcsname\relax\else
-  \pdfgeninterwordspace=0 \relax
- \fi
- \begingroup
-  \dimen0=0.996264009963\paperwidth\relax
-  \edef\pdfx at mwidth{\strip at pt\dimen0}%
-  \advance\dimen0 -25\p@
-  \edef\pdfx at twidth{\strip at pt\dimen0}%
-  \dimen0=0.996264009963\paperheight\relax
-  \edef\pdfx at mheight{\strip at pt\dimen0}%
-  \advance\dimen0 -20\p@
-  \edef\pdfx at theight{\strip at pt\dimen0}%
-  \ifxetex
-   \xdef\pdfx at everypage@xetex{%
-    /MediaBox[0 0 \pdfx at mwidth\space \pdfx at mheight]^^J
-    /TrimBox[25 20 \pdfx at twidth\space \pdfx at theight]%
-   }%
-  \fi
-  \edef\next{\endgroup\global\pdfpagesattr{%
-    /MediaBox[0 0 \pdfx at mwidth\space \pdfx at mheight]^^J
-%%    /ArtBox[0 0 \pdfx at mwidth\space \pdfx at mheight]^^J
-    /BleedBox[0 0 \pdfx at mwidth\space \pdfx at mheight]^^J
-    /CropBox[0 0 \pdfx at mwidth\space \pdfx at mheight]^^J
-    /TrimBox[25 20 \pdfx at twidth\space \pdfx at theight]}
-  }\next \relax
- \ifxetex
-  \AtBeginDvi{%
-   \immediate\special{pdf:put @thispage <<\pdfx at everypage@xetex>>}}%
-  \EveryShipout{%
-   \immediate\special{pdf:put @thispage <<\pdfx at everypage@xetex>>}}%
- \else
-  \expandafter\pdfpageattr\expandafter{\the\pdfpagesattr}%
- \fi
-\else
-%%  PDF/A-1b  doesn't allow object compression
- \ifnum\xmp at ReleaseDate=2005\relax
-  \expandafter\ifx\csname pdfobjcompresslevel\endcsname\relax
-  \else
-   \pdfobjcompresslevel=0\relax
- \fi \fi
-\fi
-\ifxetex
-%% How to support XeTeX here ?
-\else
- \ifnum\thepdfminorversion >3 \relax
-  \expandafter\ifx\csname pdfsuppresswarningdupmap\endcsname\relax
-   \expandafter\ifx\csname pdfmapline\endcsname\relax\else
-    \pdfmapline{+dummy-space <dummy-space.pfb}
-   \fi
-  \else
-   \advance\pdfsuppresswarningdupmap 1
-   \pdfmapline{+dummy-space <dummy-space.pfb}
-   \advance\pdfsuppresswarningdupmap -1
-  \fi
-  \expandafter\ifx\csname pdfgeninterwordspace\endcsname\relax\else
-   \pdfgeninterwordspace=1 \relax
-  \fi
- \fi
-\fi
-
-\ifluatex\else\ifxetex\else
- \@ifpackageloaded{inputenc}{%
- }{%
-  \RequirePackage{inputenc}
- % allow this to be loaded again cleanly
- \expandafter\let\csname ver at inputenc.sty\endcsname\relax
- }
-\fi\fi
-
-%% pseudo-declare the L8U encoding
-\expandafter\let\csname L8U-cmd\expandafter\endcsname\csname OT1-cmd\endcsname
-\@namedef{T at L8U}{}%
-\@namedef{D at L8U}{}%
-\@namedef{M at L8U}{}%
-
-%% adjust to LaTeX's 2018 change to the default encoding
-\expandafter\ifx\csname inputencodingname\endcsname\relax
-\else
- \def\pdfx at restoreencoding#1{%
-  \@tempcnta=128
-  \loop
-   \catcode\@tempcnta=13
-   \advance\@tempcnta\@ne
-  \ifnum\@tempcnta<256
-  \repeat
-  \inputencoding{#1}%
-  }%
-  \AtEndOfPackage{\pdfx at restoreencoding\pdfx at inputencodingname}%
-  \let\pdfx at inputencodingname\inputencodingname
-  \let\pdfx at DeclareUnicodeCharacter\DeclareUnicodeCharacter
-  \UseRawInputEncoding
-\fi
-\InputIfFileExists{\pdfx at encodingfile}{}{}
-\expandafter\ifx\csname pdfx at inputencodingname\endcsname\relax
-\else
-  \let\inputencodingname\pdfx at inputencodingname
-  \let\DeclareUnicodeCharacter\pdfx at DeclareUnicodeCharacter
-  \let\DeclareFontEncoding@\DeclareFontEncoding at saved
-  \inputencoding{\inputencodingname}%
-\fi
-
-%%----------------------------------------------------------------------
-%% Macros for reading XMP data with special catcodes. Usage:
-%%
-%% \xmp at parse{continuation}{data}
-%%
-%% The effect is to read the data with special catcodes: '<', '>', and
-%% '&' are "active", and '^', '_', '#', '$', '~' are "other". The data
-%% is then bound to the locally scoped name \@this, and the
-%% continuation is called.
-\def\xmp at parse#1{%
- \begingroup
- \catcode`\<=13\catcode`\>=13\catcode`\&=13\catcode`\^=12
- \catcode`\_=12\catcode`\#=12\catcode`\$=12\catcode`\~=12
- \ifpdfx at useactivespaces\obeyspaces\fi % capture spaces as active characters
- \xmp at doparse{#1}%
-}
-\def\afterxmp at parse{}% methods may change this
-\def\xmp at doparse#1#2{%
- \def\@this{#2}#1
- \endgroup
- % do any post-processing
- \afterxmp at parse
- \def\afterxmp at parse{}%
-}
-
-%%----------------------------------------------------------------------
-%% Local commands. They are only brought into scope during the reading
-%% of xmpdata. Some fields can have a 'xml:lang' attribute; others must have.
-%%  LANG values as in:  (BCP 47)  https://tools.ietf.org/html/rfc5646#appendix-A
-%%
-\def\xmp at lang@Default{x-default}
-\let\xmp at lang@Title\xmp at lang@Default
-\let\xmp at lang@Author\xmp at lang@Default
-\let\xmp at lang@Keywords\xmp at lang@Default
-\let\xmp at lang@Subject\xmp at lang@Default
-%%\def\xmp at lang@CreatorTool{\xmp at lang@Default}
-\let\xmp at lang@Producer\xmp at lang@Default
-%%\def\xmp at lang@Volume{\xmp at lang@Default}
-%%\def\xmp at lang@Issue{\xmp at lang@Default}
-\let\xmp at lang@Copyright\xmp at lang@Default
-\let\xmp at lang@PublicationType\xmp at lang@Default
-\let\xmp at lang@Publisher\xmp at lang@Default
-\let\xmp at lang@Coverage\xmp at lang@Default
-\let\xmp at lang@Contributor\xmp at lang@Default
-\let\xmp at lang@Relation\xmp at lang@Default
-%%%  PRISM fields
-\let\xmp at lang@CoverDisplayDate\xmp at lang@Default
-\let\xmp at lang@JournalTitle\xmp at lang@Default
-%%\def\xmp at lang@JournalNumber{\xmp at lang@Default}
-%%%  xmp:  &  xmpRights:  fields
-\let\xmp at lang@Advisory\xmp at lang@Default
-\let\xmp at lang@Identifier\xmp at lang@Default
-\let\xmp at lang@Nickname\xmp at lang@Default
-\let\xmp at lang@Owner\xmp at lang@Default
-
-%% some validators require a language attribute for
-%%   dc:title                 set via  \Title
-%%   dc:description   set via  \Subject
-%%   dc:rights              set via  \Copyright
-%%   xmpRights:UsageTerms   set via \Copyright
-%%
-{\catcode `\" 12 \catcode`\: 12 \catcode`\= 12
- \gdef\pdfx at xmp@checklang#1{%
-  \ifx #1\xmp at lang@Default\else\space xml:lang="#1"\fi}
- \gdef\pdfx at xmp@strictlang#1{\space xml:lang="#1"}
-}%  end of  \catcodes
-\let\xmp at checklang\pdfx at xmp@checklang
-\let\xmp at strictlang\pdfx at xmp@strictlang
-
-\newcommand{\pdfx at Title}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@Title{#1}\fi
- \xmp at parse{\global\let\xmp at Title\@this}}
-
-%% allow for multiple authors, keywords and languages
-%%  also:  contributor, date, relation, type, thumbnails
-%%  and  AuthoritativeDomain, Advisory, Identifier, Owner
-\newcommand{\pdfx at Author}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@Author{#1}\fi
- \def\afterxmp at parse{\let\Author\pdfx at extraAuthor}%
- \xmp at parse{\global\let\xmp at Author\@this}}
-\newcommand{\pdfx at Keywords}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@Keywords{#1}\fi
- \def\afterxmp at parse{\let\Keywords\pdfx at extraKeywords}%
- \xmp at parse{\global\let\xmp at Keywords\@this}}
-\newcommand{\pdfx at Language}{%
- \def\afterxmp at parse{\let\Language\pdfx at extraLanguages}%
- \xmp at parse{\global\let\xmp at Language\@this}}
-
-\newcommand{\pdfx at AuthoritativeDomain}{%
- \def\afterxmp at parse{\let\AuthoritativeDomain\pdfx at extraAuthoritativeDomain}%
- \xmp at parse{\global\let\xmp at AuthoritativeDomain\@this}}
-\newcommand{\pdfx at Date}{%
- \def\afterxmp at parse{\let\Date\pdfx at extraDate}%
- \xmp at parse{\global\let\xmp at Date\@this}}
-\newcommand{\pdfx at Contributor}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@Contributor{#1}\fi
- \def\afterxmp at parse{\let\Contributor\pdfx at extraContributor}%
- \xmp at parse{\global\let\xmp at Contributor\@this}}
-\newcommand{\pdfx at Relation}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@Relation{#1}\fi
- \def\afterxmp at parse{\let\Relation\pdfx at extraRelation}%
- \xmp at parse{\global\let\xmp at Relation\@this}}
-%%\newcommand{\pdfx at Type}[1][]{%
-%% \ifx\relax#1\relax\else\gdef\xmp at lang@Type{#1}\fi
-%% \def\afterxmp at parse{\let\Type\pdfx at extraType}%
-%% \xmp at parse{\global\let\xmp at Type\@this}}
-
-\newcommand{\pdfx at Advisory}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@Advisory{#1}\fi
- \def\afterxmp at parse{\let\Advisory\pdfx at extraAdvisory}%
- \xmp at parse{\global\let\xmp at Advisory\@this}}
-\newcommand{\pdfx at Identifier}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@Identifier{#1}\fi
- \def\afterxmp at parse{\let\Identifier\pdfx at extraIdentifier}%
- \xmp at parse{\global\let\xmp at Identifier\@this}}
-\newcommand{\pdfx at Thumbnails}{%
- \def\afterxmp at parse{\let\Thumbnails\pdfx at extraThumbnails}%
- \xmp at parse{\global\let\xmp at Thumbnails\@this}}
-
-\newcommand{\pdfx at Owner}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@Owner{#1}\fi
- \def\afterxmp at parse{\let\Owner\pdfx at extraOwner}%
- \xmp at parse{\global\let\xmp at Owner\@this}}
-
-{\obeyspaces%
- \ifpdfx at useactivespaces\gdef\pdfx at insert@sep{\sep }%
- \else\gdef\pdfx at insert@sep{\sep}\fi%
-}
-\newcommand{\pdfx at extraAuthor}[1][]{%
- \ifx\relax#1\relax
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Author
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Author\pdfx at insert@sep}%
- \else
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Author
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Author\pdfx at insert@sep[#1]}%
- \fi
- \def\afterxmp at parse{%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Author
-   \expandafter\expandafter\expandafter{%
-    \expandafter\xmp at Author\xmp at extraAuthor}%
-   }%
- \xmp at parse{\global\let\xmp at extraAuthor\@this}%
- }%
-\newcommand{\pdfx at extraKeywords}[1][]{%
- \ifx\relax#1\relax
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Keywords
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Keywords\pdfx at insert@sep}%
- \else%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Keywords
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Keywords\pdfx at insert@sep[#1]}%
- \fi%
- \def\afterxmp at parse{%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Keywords
-   \expandafter\expandafter\expandafter{%
-    \expandafter\xmp at Keywords\xmp at extraKeywords}}%
- \xmp at parse{\global\let\xmp at extraKeywords\@this}%
- }%
-\newcommand{\pdfx at extraLanguages}{%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Language
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Language\pdfx at insert@sep}%
- \def\afterxmp at parse{%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Language
-   \expandafter\expandafter\expandafter{%
-    \expandafter\xmp at Language\xmp at extraLanguages}}%
- \xmp at parse{\global\let\xmp at extraLanguages\@this}%
- }%
-
-\newcommand{\pdfx at extraContributor}[1][]{%
- \ifx\relax#1\relax
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Contributor
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Contributor\pdfx at insert@sep}%
- \else
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Contributor
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Contributor\pdfx at insert@sep[#1]}%
- \fi
- \def\afterxmp at parse{%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Contributor
-   \expandafter\expandafter\expandafter{%
-    \expandafter\xmp at Contributor\xmp at extraContributor}%
-   }%
- \xmp at parse{\global\let\xmp at extraContributor\@this}%
- }%
-
-\newcommand{\pdfx at extraAuthoritativeDomain}{%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at AuthoritativeDomain
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at AuthoritativeDomain\pdfx at insert@sep}%
- \def\afterxmp at parse{%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at AuthoritativeDomain
-   \expandafter\expandafter\expandafter{%
-    \expandafter\xmp at AuthoritativeDomain\xmp at extraAuthoritativeDomain}%
-   }%
- \xmp at parse{\global\let\xmp at extraAuthoritativeDomain\@this}%
- }%
-
-\newcommand{\pdfx at extraDate}{%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Date
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Date\pdfx at insert@sep}%
- \def\afterxmp at parse{%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Date
-   \expandafter\expandafter\expandafter{%
-    \expandafter\xmp at Date\xmp at extraDate}%
-   }%
- \xmp at parse{\global\let\xmp at extraDate\@this}%
- }%
-
-\newcommand{\pdfx at extraRelation}[1][]{%
- \ifx\relax#1\relax
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Relation
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Relation\pdfx at insert@sep}%
- \else
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Relation
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Relation\pdfx at insert@sep[#1]}%
- \fi
- \def\afterxmp at parse{%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Relation
-   \expandafter\expandafter\expandafter{%
-    \expandafter\xmp at Relation\xmp at extraRelation}%
-   }%
- \xmp at parse{\global\let\xmp at extraRelation\@this}%
- }%
-
-%%\newcommand{\pdfx at extraType}[1][]{%
-%%% \show\xmp at Type
-%% \ifx\relax#1\relax
-%%  \expandafter\expandafter\expandafter\gdef
-%%   \expandafter\expandafter\expandafter\xmp at Type
-%%    \expandafter\expandafter\expandafter{%
-%%     \expandafter\xmp at Type\pdfx at insert@sep}%
-%% \else
-%%  \expandafter\expandafter\expandafter\gdef
-%%   \expandafter\expandafter\expandafter\xmp at Type
-%%    \expandafter\expandafter\expandafter{%
-%%     \expandafter\xmp at Type\pdfx at insert@sep[#1]}%
-%% \fi
-%% \def\afterxmp at parse{%
-%%  \expandafter\expandafter\expandafter\gdef
-%%   \expandafter\expandafter\expandafter\xmp at Type
-%%   \expandafter\expandafter\expandafter{%
-%%    \expandafter\xmp at Type\xmp at extraType}%
-%%   %\show\xmp at Type
-%%   }%
-%% \xmp at parse{\global\let\xmp at extraType\@this}%
-%% }%
-
-\newcommand{\pdfx at extraAdvisory}[1][]{%
- \ifx\relax#1\relax
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Advisory
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Advisory\pdfx at insert@sep}%
- \else
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Advisory
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Advisory\pdfx at insert@sep[#1]}%
- \fi
- \def\afterxmp at parse{%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Advisory
-   \expandafter\expandafter\expandafter{%
-    \expandafter\xmp at Advisory\xmp at extraAdvisory}%
-   }%
- \xmp at parse{\global\let\xmp at extraAdvisory\@this}%
- }%
-
-\newcommand{\pdfx at extraIdentifier}[1][]{%
- \ifx\relax#1\relax
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Identifier
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Identifier\pdfx at insert@sep}%
- \else
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Identifier
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Identifier\pdfx at insert@sep[#1]}%
- \fi
- \def\afterxmp at parse{%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Identifier
-   \expandafter\expandafter\expandafter{%
-    \expandafter\xmp at Identifier\xmp at extraIdentifier}%
-   }%
- \xmp at parse{\global\let\xmp at extraIdentifier\@this}%
- }%
-
-\newcommand{\pdfx at extraThumbnails}[1][]{%
- \ifx\relax#1\relax
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Thumbnails
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Thumbnails\pdfx at insert@sep}%
- \else
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Thumbnails
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Thumbnails\pdfx at insert@sep[#1]}%
- \fi
- \def\afterxmp at parse{%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Thumbnails
-   \expandafter\expandafter\expandafter{%
-    \expandafter\xmp at Thumbnails\xmp at extraThumbnails}%
-   }%
- \xmp at parse{\global\let\xmp at extraThumbnails\@this}%
- }%
-
-\newcommand{\pdfx at extraOwner}[1][]{%
- \ifx\relax#1\relax
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Owner
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Owner\pdfx at insert@sep}%
- \else
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Owner
-    \expandafter\expandafter\expandafter{%
-     \expandafter\xmp at Owner\pdfx at insert@sep[#1]}%
- \fi
- \def\afterxmp at parse{%
-  \expandafter\expandafter\expandafter\gdef
-   \expandafter\expandafter\expandafter\xmp at Owner
-   \expandafter\expandafter\expandafter{%
-    \expandafter\xmp at Owner\xmp at extraOwner}%
-   }%
- \xmp at parse{\global\let\xmp at extraOwner\@this}%
- }%
-
-\newcommand{\pdfx at Subject}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@Subject{#1}\fi
- \xmp at parse{\global\let\xmp at Subject\@this}}
-\newcommand{\pdfx at Producer}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@Producer{#1}\fi
- \xmp at parse{\global\let\xmp at Producer\@this}}
-\newcommand{\pdfx at Publisher}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@Publisher{#1}\fi
- \xmp at parse{\global\let\xmp at Publisher\@this}}
-\newcommand{\pdfx at Copyright}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@Copyright{#1}\fi
- \xmp at parse{\global\let\xmp at Copyright\@this%
-  \ifx\xmp at Copyrighted\@empty\gdef\xmp at Copyrighted{True}\fi}}
-
-\newcommand{\pdfx at Coverage}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@Coverage{#1}\fi
- \xmp at parse{\global\let\xmp at Coverage\@this}}
-
-%%  PRISM Text fields
-\newcommand{\pdfx at CoverDisplayDate}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@CoverDisplayDate{#1}\fi
- \xmp at parse{\global\let\xmp at CoverDisplayDate\@this}}
-\newcommand{\pdfx at JournalTitle}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@JournalTitle{#1}\fi
- \ifx\xmp at PublicationType\@empty\gdef\xmp at PublicationType{journal}\fi
- \xmp at parse{\global\let\xmp at JournalTitle\@this}}
-
-%%  Uses PRISM Controlled Vocabulary:
-%%    http://prismstandard.org/vocabularies/3.0/aggregationtype.xml
-%%  blog, book, bookazine, catalog, feed, journal, magazine, manual
-%%  newsletter, newspaper, other, report, pamphlet, vook, whitepaper
-%%
-\newcommand{\pdfx at PublicationType}[1][]{%
- \ifx\relax#1\relax\else\gdef\xmp at lang@PublicationType{#1}\fi
- \xmp at parse{\global\let\xmp at PublicationType\@this}}
-
-\def\pdfx at localcommands{
- \let\Title\pdfx at Title
- \let\Author\pdfx at Author
- \let\Keywords\pdfx at Keywords
- \let\Subject\pdfx at Subject
- \let\Language\pdfx at Language
- \def\CreatorTool{\xmp at parse{\global\let\xmp at CreatorTool\@this}}
- \let\Producer\pdfx at Producer
- \def\Volume{\xmp at parse{\global\let\xmp at Volume\@this}}
- \def\Issue{\xmp at parse{\global\let\xmp at Issue\@this}}
- \let\CoverDisplayDate\pdfx at CoverDisplayDate
- \def\CoverDate{\xmp at parse{\global\let\xmp at CoverDate\@this}}
- \let\Copyright\pdfx at Copyright
- \def\CopyrightURL{\xmp at parse{\global\let\xmp at CopyrightURL\@this%
-   \ifx\xmp at Copyrighted\@empty\gdef\xmp at Copyrighted{True}\fi}}
- \def\Copyrighted{\xmp at parse{\global\let\xmp at Copyrighted\@this}}
- \def\Doi{\xmp at parse{\global\let\xmp at Doi\@this}}
- \def\ISBN{\xmp at parse{\global\let\xmp at ISBN\@this}}
- \def\URLlink{\xmp at parse{\global\let\xmp at URL\@this}}
- \def\Lastpage{\xmp at parse{\global\let\xmp at Lastpage\@this}}
- \def\Firstpage{\xmp at parse{\global\let\xmp at Firstpage\@this}}
- \let\PublicationType\pdfx at PublicationType
- \let\Journaltitle\pdfx at JournalTitle
- \def\Journalnumber{\xmp at parse{\global\let\xmp at Journalnumber\@this}}
- \let\Publisher\pdfx at Publisher
- \let\Coverage\pdfx at Coverage
- \def\Source{\xmp at parse{\global\let\xmp at Source\@this}}
- \let\Contributor\pdfx at Contributor
- \let\Date\pdfx at Date
- \let\Relation\pdfx at Relation
- \let\Advisory\pdfx at Advisory
- \def\BaseURL{\xmp at parse{\global\let\xmp at BaseURL\@this}}
- \let\Identifier\pdfx at Identifier
- \let\Nickname\pdfx at Nickname
- \let\Thumbnails\pdfx at Thumbnails
- \let\Owner\pdfx at Owner
- \def\CertificateURL{\xmp at parse{\global\let\xmp at CertificateURL\@this}}
- \def\MMversionID{\xmp at parse{\global\let\xmpMM at versionID\@this}}
-%% \let\Type\pdfx at Type
-%%
-%% currently unused; for backward compatibility only
- \let\AuthoritativeDomain\pdfx at AuthoritativeDomain
- \let\Creator\CreatorTool  % for backward compatibility
- \let\Org\Publisher        % for backward compatibility
- \let\WebStatement\CopyrightURL  % for backward compatibility
-}
-
-%%----------------------------------------------------------------------
-%% The following characters and markup can be used within the XMP data
-%% defined by \Author, \Title, and so on.
-%%
-%% * All printable non-whitespace ASCII characters except
-%%   '%', '{', '}', '\' can be used as themselves.
-%%
-%% * All printable non-whitespace UTF-8 encoded Unicode characters
-%%   from the basic multilingual plane can be used as themselves.
-%%
-%% * As usual, consecutive whitespace characters are contracted to a
-%%   single space. Whitespace after a macro such as \copyright is
-%%   ignored. Blank lines are not permitted.
-%%
-%% * The following markup can be used:
-%%   '\ '        - a literal space  (for example after a macro)
-%%   \%          - a literal '%'
-%%   \{          - a literal '{'
-%%   \}          - a literal '}'
-%%   \backslash  - a literal '\'
-%%   \copyright  - the (c) copyright symbol
-%%
-%%   \sep        - only permitted within \Author, \Keywords, \Publisher.
-%%
-%% * For backward compatibility, \& and \TextCopyright are also
-%%   provided. Their use is deprecated.
-
-%%----------------------------------------------------------------------
-%% The macro \pdfx at actives binds the active characters
-%% '&', '<', and '>' to \pdfx at amp, \pdfx at lt, and \pdfx at gt,
-%% respectively, without actually making them active.
-\begingroup
- \catcode`\<=13
- \catcode`\>=13
- \catcode`\&=13
- \gdef\pdfx at actives{
-  \def&{\pdfx at amp}
-  \def<{\pdfx at lt}
-  \def>{\pdfx at gt}
- }
-\endgroup
-
-%%----------------------------------------------------------------------
-%% Markup bindings to be used during XMP generation.
-
-{%
- \catcode`\<=12 \catcode`\>=12 \catcode`\/=12 \catcode`\:=12 \catcode`\"=12
-\obeyspaces\ifpdfx at useactivespaces%
- \gdef\pdfx at sep {\pdfx at check@lang}%
-\else%
- \gdef\pdfx at sep{\pdfx at check@lang}%
-\fi%
- \xdef\pdfx at sep@nolang{</rdf:li>^^J     <rdf:li>}%
- \xdef\pdfx at sep@lang[#1]{</rdf:li>^^J     <rdf:li xml:lang="#1">}%
-}% end of \obeyspaces and \catcode ....
-
-\def\pdfx at check@lang#1{%
- \ifx[#1\expandafter\@firstoftwo
- \else\expandafter\@secondoftwo\fi
- {\pdfx at sep@lang#1}{\pdfx at sep@nolang#1}}
-
-\def\pdfx at xmpmarkup{%
- \pdfx at actives
- \edef\@amp{\expandafter\@gobble\string\&}%
- \edef\@hash{\expandafter\@gobble\string\#}%
- \edef\ {\expandafter\@gobble\string\ }%
- \edef\%{\expandafter\@gobble\string\%}%
- \edef\{{\expandafter\@gobble\string\{}%
- \edef\}{\expandafter\@gobble\string\}}%
- \edef\backslash{\expandafter\@gobble\string\\}%
- \def\@unicode##1{\@amp\@hash x##1;}%
- \def\pdfx at amp{\@unicode{0026}}%
- \def\pdfx at lt{\@unicode{003c}}%
- \def\pdfx at gt{\@unicode{003e}}%
- \def\copyright{\@unicode{00A9}}%
- \let\&\pdfx at amp               % for backward compatibility
- \let\TextCopyright\copyright  % for backward compatibility
- \let\sep\pdfx at sep
- \pdfx at xmpunimarkup   % only need this when writing XMP
- \the\pdfxsafeforxmp at toks
-}
-
-%% cope with active spaces with LGR encoding
-%% and the spaces written out with \IeC in KOI8-r
-%% It's possible to have both together.
-\def\liixu at IeC#1#{\liixu at IeCi}
-\def\liixu at IeCi#1{\liixu at IeCii#1}
-\def\liixu at IeCii#1#2{#1}
-\def\liixu at enableIeC{\ifpdfx at useactivespaces
- \let\IeC\liixu at IeC\else\def\IeC##1{##1}\fi}
-\def\liixu at numberline#1#{\liixu at numberlinei}
-\def\liixu at numberlinei#1{\liixu at numberlineii#1}
-\def\liixu at numberlineii#1{\textLF #1. }
-\def\liixu at enablenumberline{\ifpdfx at useactivespaces
- \let\numberline\liixu at numberline
- \else\def\numberline##1{\textLF ##1. }\fi}
-
-\def\pdfx at xmpunimarkup{%
- \liixu at enableIeC
- \liixu at enablenumberline
- \def\empty{}% used in LICR patterns
- \LIIXUscriptcommands
- \LIIXUtipacommands
- \LIIXUmapTeXnames
-%%  from Hyperref's  psdextra.def
- \csname psdmapshortnames\endcsname
- \csname psdaliasnames\endcsname
-%% from  lu8enc.def
- \csname LIIXUmapmathletterlikes\endcsname
- \csname LIIXUmapmathspaces\endcsname
- \iflatLATxmp
-  \LIIXUmaplatinchars
-  \LIIXUcancelfontswitches
- \fi
- \ifmathxmp
-  \let\(\textinlinemath
-  \let\[\textdisplaymath
-  \LIIXUmapmathaccents
-  \LIIXUmapisomathgreek
-  \LIIXUmapmatharrowsA
-  \LIIXUmapmathoperatorsA
-  \LIIXUmapmathoperatorsB
-  \LIIXUmapmiscmathsymbolsA
-  \LIIXUmapsupparrowsA
-  \LIIXUmapsupparrowsB
-  \LIIXUmapmiscmathsymbolsB
-  \LIIXUmapsuppmathoperators
-  \LIIXUmapunimathgreek
-  \LIIXUmapmathalphabets
- \fi
- \ifarbxmp \LIIXUmaparabicletters\fi
- \ifarmxmp \LIIXUmaparmenianletters\fi
- \ifdevxmp\LIIXUmapdevaccents\fi
- \ifgrkxmp \LIIXUmapgreekletters\fi
- \ifhebxmp \LIIXUmaphebrewletters\fi
-}
-
-%% In case macros are used in XMP Metadata, need a way to map these
-%% to simple text, rather than specific font characters, or whatever:
-\newtoks\pdfxsafeforxmp at toks
-\def\pdfxEnableCommands{%   user command
- \begingroup
-  \ifpdfx at useactivespaces\obeyspaces\fi
-  \pdfx at EnableCommands
-}
-\def\pdfx at EnableCommands#1{%   internal command
- \expandafter\global\expandafter\pdfxsafeforxmp at toks
-  \expandafter{\the\pdfxsafeforxmp at toks#1}%
- \endgroup
-}
-
-%%----------------------------------------------------------------------
-%% Markup bindings to be used during PDF string generation.
-
-\def\pdfx at pdfmarkup{%
- \pdfx at actives
- \edef\%{\expandafter\@gobble\string\%}%
- \edef\{{\expandafter\@gobble\string\{}%
- \edef\}{\expandafter\@gobble\string\}}%
- \edef\pdfx at backslash{\expandafter\@gobble\string\\}%
- \def\backslash{\pdfx at backslash000\pdfx at backslash134}%
- \edef\pdfx at amp{\expandafter\@gobble\string\&}%
- \edef\pdfx at lt{\expandafter\@gobble\string\<}%
- \edef\pdfx at gt{\expandafter\@gobble\string\>}%
- \let\TextCopyright\copyright  % for backward compatibility
- \def\sep{; }%
- %\let\sep\pdfx at sep
-%% Note: '\ ', \&, \copyright are already predefined by hyperref.
-%% allow LICRs to expand into PDF strings
- \def\cf at encoding{PU}%
- \def\9##1{\ifcase##1\string\0\or\string\1\or\string\2\or\string\3\fi}%
- \def\8{\string\00}%
- \def\0{\string\0}\def\1{\string\1}\def\2{\string\2}\def\3{\string\3}%
- \pdfx at xmpunimarkup
- \the\pdfxsafeforxmp at toks
-}
-
-%%----------------------------------------------------------------------
-%% Defaults
-\ifxetex
- \def\xmp at Producer{XeTeX}
-\else\ifluatex
- \def\xmp at Producer{LuaTeX}
-\else
- \def\xmp at Producer{pdfTeX}
-\fi\fi
-\global\let\pdfxProducer\xmp at Producer
-
-\global\let\xmp at CreatorTool\@empty
-\global\let\xmp at Title\@empty
-\global\let\xmp at Author\@empty
-\global\let\xmp at Keywords\@empty
-\global\let\xmp at Subject\@empty
-\global\let\xmp at Language\@empty
-\global\let\xmp at Volume\@empty
-\global\let\xmp at Issue\@empty
-\global\let\xmp at CoverDisplayDate\@empty
-\global\let\xmp at CoverDate\@empty
-\global\let\xmp at Copyright\@empty
-\global\let\xmp at Copyrighted\@empty
-\global\let\xmp at CopyrightURL\@empty
-\gdef\xmp at WebStatement{\xmp at CopyrightURL}
-\global\let\xmp at Doi\@empty
-\global\let\xmp at ISBN\@empty
-\global\let\xmp at URL\@empty
-\global\let\xmp at Lastpage\@empty
-\global\let\xmp at Firstpage\@empty
-\global\let\xmp at PublicationType\@empty
-\global\let\xmp at Journaltitle\@empty
-\global\let\xmp at Journalnumber\@empty
-%%\global\let\xmp at Type\@empty
-\global\let\xmp at Contributor\@empty
-\global\let\xmp at Coverage\@empty
-\global\let\xmp at Date\@empty
-\global\let\xmp at Relation\@empty
-\global\let\xmp at Source\@empty
-\global\let\xmp at Publisher\@empty
-\gdef\xmp at Org{\xmp at Publisher}
-\global\let\xmp at AuthoritativeDomain\@empty
-\global\let\xmp at Advisory\@empty
-\global\let\xmp at BaseURL\@empty
-\global\let\xmp at Identifier\@empty
-\global\let\xmp at Nickname\@empty
-\global\let\xmp at Thumbnails\@empty
-\global\let\xmp at Owner\@empty
-\global\let\xmp at CertificateURL\@empty
-
-%%----------------------------------------------------------------------
-%%  Alternative way to get the CreationDate using Lua  for XeTeX
-\ifdefined\pdfcreationdate\else
- \begingroup  %% ensure correct catcodes, not done by \dospecials
- \catcode`\:=12 \catcode`\.=12
-\begin{filecontents*}{creationdate.lua}
- os.remove("creationdate.timestamp")
- io.output("creationdate.timestamp"):write(os.date("\\edef\\tempa{\\string D:%Y%m%d%H%M%S}\n\\def\\tempb{%z}"))
-\end{filecontents*}
- \endgroup
- \ifnum\shellescape=1
-  \begingroup  %% ensure correct catcodes when file is read in
-   \catcode`\'=12 \catcode`\.=12 \catcode`\:=12 \catcode`\+=12
-   \immediate\write18{texlua creationdate.lua}
-   \input{creationdate.timestamp}
-   \def\tempc#1#2#3#4#5{#1#2#3'#4#5'}
-   \edef\tempb{\expandafter\tempc\tempb}
-   \edef\x{\endgroup\def\noexpand\pdfcreationdate{\tempa\tempb}}\x
- \else
-  \begingroup  %% ensure correct catcodes in the error/warning messages
-  \catcode`\<=12 \catcode`\>=12 \catcode`\"=12 \catcode`\-=12
-  \catcode`\: 12 \catcode`\' 12 \catcode`\= 12
-  \ifpdfx at noerr
-   \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}
-  \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> }
-  \fi
-  %% Using a constant date, to allow processing to finish smoothly.
-  \edef\x{\endgroup
-   \def\noexpand\pdfcreationdate{\string D:20181028075445+10'00'}}%
-   \x
- \fi
-\fi
-
-%%----------------------------------------------------------------------
-\def\pdfx at findUUID#1{\edef\pdfx at tmpstring{\pdfx at mdfivesum{#1}}
-     \expandafter\pdfx at eightofnine\pdfx at tmpstring\end}
-\def\pdfx at eightofnine#1#2#3#4#5#6#7#8#9\end{%
-     \xdef\pdfx at eightchars{#1#2#3#4#5#6#7#8}
-     \pdfx at fouroffive#9\end}
-\def\pdfx at fouroffive#1#2#3#4#5\end{\xdef\pdfx at ffourchars{#1#2#3#4}
-     \pdfx at sfouroffive#5\end}
-\def\pdfx at sfouroffive#1#2#3#4#5\end{\xdef\pdfx at sfourchars{#1#2#3#4}
-     \pdfx at tfouroffive#5\end}
-\def\pdfx at tfouroffive#1#2#3#4#5\end{\xdef\pdfx at tfourchars{#1#2#3#4}
-     \xdef\pdfx at laststring{#5}}
-
-\def\pdfx at uuid{\pdfx at eightchars-%
-          \pdfx at ffourchars-%
-          \pdfx at sfourchars-%
-          \pdfx at tfourchars-%
-          \pdfx at laststring}
-
-\expandafter\ifx\csname pdfx at mdfivesum\endcsname\relax
-  \PackageError{pdfx}{%
-    No implementation for \string\pdfx at mdfivesum.^^J
-    \ifxetex XeTeX needs to be 2015 or later\fi
-   }{%
-    Continue without, but the PDF will not validate.
-   }%
- \def\xmp at docid{}%
- \def\pdfx at findUUID#1{}%
- \def\pdfx at uuid{}%
-\else
- \pdfx at findUUID{\jobname.pdf}
- \edef\xmp at docid{\pdfx at uuid}
-\fi
-
-\expandafter\ifx\csname pdfcreationdate\endcsname\relax\relax
-  \PackageWarning{pdfx}{%
-   No implementation for \string\pdfxcreation .
-  }%
- \def\xmp at instid{}%
-%%
-\else   %% use the MD5 sum methods
-%%
- \pdfx at findUUID{\pdfcreationdate}%
- \edef\xmp at instid{\pdfx at uuid}
-\fi
-
-%%----------------------------------------------------------------------
-%% load  xcolor  before  hyperref  to get the link colors correct
-%%
-\PassOptionsToPackage{nosetpagesize}{color}
-\PassOptionsToPackage{nosetpagesize}{graphics}
-\@ifpackageloaded{xcolor}{%
- % Beamer will have already loaded  xcolor
- % need to understand what options it used
-}{
-\ifpdfx at x
- \RequirePackage[cmyk,hyperref]{xcolor}
-\else
- \RequirePackage[rgb,hyperref]{xcolor}
-\fi
-}%
-
-%%  loading  puenc.def  will kill a lot of what  mathtext.sty  established
-\@ifpackageloaded{mathtext}{%
- \PackageWarningNoLine{pdfx}{pdfx.sty  and hyperref.sty should be loaded^^J
-  before mathtext.sty , otherwise text symbols may not show in math mode.}%
-}{}
-
-\newif\ifpdfx at hluatex
-\IfFileExists{hluatex.def}{\pdfx at hluatextrue}{\pdfx at hluatexfalse}
-
-%% the "pdftex" option seems to work fine with LuaTeX
-\def\pdfx at luatest{\ifpdfx at hluatex luatex\else pdftex \fi}
-
-%% Hyperref options for PDF/X
-\edef\pdfx at pdfX@opts at pdftex{%
-   draft,pdftex,pdfpagemode=UseNone,bookmarks=false,%
-   pdfversion=1.\thepdfminorversion,pdfstartview=}
-\edef\pdfx at pdfX@opts at xetex{%
-   draft,xetex,pdfpagemode=UseNone,bookmarks=false,%
-   pdfversion=1.\thepdfminorversion,pdfstartview=}
- \edef\pdfx at pdfX@opts at luatex{%
-   draft,\pdfx at luatest,pdfpagemode=UseNone,bookmarks=false,%
-   pdfversion=1.\thepdfminorversion,pdfstartview=}%
-
-\newif\ifpdfx at hyperrefloaded
-\expandafter\ifx\csname ifHy at pdfa\endcsname\relax\else\pdfx at hyperrefloadedtrue\fi
-
-%% Hyperref options for PDF/A and PDF/E
-\newtoks\pdfx at tmptoks
-\pdfx at tmptoks{%
-\ifHy at pdfa
-   \edef\pdfx at pdfAE@opts at pdftex{pdftex}%
-   \edef\pdfx at pdfAE@opts at xetex{xetex,pdfversion=1.\thepdfminorversion}%
-   \edef\pdfx at pdfAE@opts at luatex{\pdfx at luatest,pdfversion=1.\thepdfminorversion}%
-   \edef\pdfx at pdfAE@opts at pdfmark{pdfmark,pdfversion=1.\thepdfminorversion}%
-  \else
-   \edef\pdfx at pdfAE@opts at pdftex{pdftex,pdfa}%
-   \edef\pdfx at pdfAE@opts at xetex{xetex,pdfa,pdfversion=1.\thepdfminorversion}%
-   \edef\pdfx at pdfAE@opts at luatex{\pdfx at luatest,pdfa,pdfversion=1.\thepdfminorversion}%
-   \edef\pdfx at pdfAE@opts at pdfmark{pdfmark,pdfa,pdfversion=1.\thepdfminorversion}%
-  \fi
-}
-\ifpdfx at hyperrefloaded
- \the\pdfx at tmptoks\relax
-\else
- \edef\pdfx at pdfAE@opts at pdftex{pdftex,pdfa}%
- \edef\pdfx at pdfAE@opts at xetex{xetex,pdfa,pdfversion=1.\thepdfminorversion}%
- \edef\pdfx at pdfAE@opts at luatex{\pdfx at luatest,pdfa,pdfversion=1.\thepdfminorversion}%
- \edef\pdfx at pdfAE@opts at pdfmark{pdfmark,pdfa,pdfversion=1.\thepdfminorversion}%
-\fi
-\pdfx at tmptoks{}%
-
-\ifpdfx at x
- \@ifpackageloaded{hyperref}{%
-  \ifxetex
-   \expandafter\hypersetup\expandafter{\pdfx at pdfX@opts at xetex}
-  \else\ifluatex
-   \expandafter\hypersetup\expandafter{\pdfx at pdfX@opts at luatex}
-  \else
-   \expandafter\hypersetup\expandafter{\pdfx at pdfX@opts at pdftex}
-  \fi\fi
- }{%
-  \ifxetex
-   \expandafter\RequirePackage\expandafter[\pdfx at pdfX@opts at xetex]{hyperref}
-  \else\ifluatex
-   \expandafter\RequirePackage\expandafter[\pdfx at pdfX@opts at luatex]{hyperref}
-  \else
-   \expandafter\RequirePackage\expandafter[\pdfx at pdfX@opts at pdftex]{hyperref}
-  \fi\fi
- }%
-\else
- \ifpdfx at e
-  \@ifpackageloaded{hyperref}{%
-   \ifxetex
-    \expandafter\hypersetup\expandafter{\pdfx at pdfAE@opts at xetex}
-   \else\ifluatex
-    \expandafter\hypersetup\expandafter{\pdfx at pdfAE@opts at luatex}
-   \else
-    \expandafter\hypersetup\expandafter{\pdfx at pdfAE@opts at pdftex}
-   \fi\fi
-  }{%
-   \ifxetex
-    \expandafter\RequirePackage\expandafter[\pdfx at pdfAE@opts at xetex]{hyperref}
-   \else\ifluatex
-    \expandafter\RequirePackage\expandafter[\pdfx at pdfAE@opts at luatex]{hyperref}
-   \else
-    \expandafter\RequirePackage\expandafter[\pdfx at pdfAE@opts at pdftex]{hyperref}
-   \fi\fi
-  }%
- \else % generating PDF/A or ...
-  \@ifpackageloaded{hyperref}{%
-   \ifxetex
-    \expandafter\hypersetup\expandafter{\pdfx at pdfAE@opts at xetex}%
-   \else\ifluatex
-    \expandafter\hypersetup\expandafter{\pdfx at pdfAE@opts at luatex}%
-   \else
-    \expandafter\hypersetup\expandafter{\pdfx at pdfAE@opts at pdftex}%
-   \fi\fi
-  }{%
-   \ifxetex
-    \expandafter\RequirePackage\expandafter[\pdfx at pdfAE@opts at xetex]{hyperref}
-   \else\ifluatex
-    \expandafter\RequirePackage\expandafter[\pdfx at pdfAE@opts at luatex]{hyperref}
-   \else
-    \expandafter\RequirePackage\expandafter[\pdfx at pdfAE@opts at pdftex]{hyperref}
-   \fi\fi
- }%
-\fi\fi
-\hypersetup{pdfencoding=auto}%  unicode
-\expandafter\ifx\csname KV at Hyp@psdextra\endcsname\relax\else
- \hypersetup{psdextra}
-\fi
-
-%% hyperref doesn't set the minor version for XeTeX
-\ifxetex
- \special{pdf:minorversion \thepdfminorversion}
-\fi
-
-\ifx\xmp at CreatorTool\@empty
- \edef\xmp at CreatorTool{\@pdfcreator}
-\fi
-
-\newif\ifpdfx at cmyk
-\newif\ifpdfx at custom
-\ifpdfx at x   %  PDF/X  normally needs a CMYK color profile for printing
- \global\pdfx at cmyktrue
-\fi
-%%----------------------------------------------------------------------
-%% -----   Color Profiles  -------
-%% Define how to specify the profile, so the default
-%% can be over-ridden in the  .xmpdata  file.
-%%
-%%   --- user-command ---   RGB profile needed with  PDF/A-??
-%% \setRGBcolorprofile{<filename>}{<identifier>}
-%%    {<info string>}{<registry URL>}
-\def\setRGBcolorprofile{%
- \begingroup
-  \catcode`\_ 11\relax\catcode`\& 11\relax\catcode`\~ 11\relax
-  \catcode`\% 11\relax
-  \edef\({\string\(}\edef\){\string\)}%
-  \pdfx at setrgbprofile}
-%%
-%%  --- user-command ---   CMYK profile needed with  PDF/X-??
-%% \setCMYKcolorprofile{<filename>}{<output intent>}
-%%    {<identifier>}{<registry URL>}
-\def\setCMYKcolorprofile{%
- \begingroup
-  \catcode`\_ 11\relax\catcode`\& 11\relax\catcode`\~ 11\relax
-  \catcode`\% 11\relax
-  \edef\({\string\(}\edef\){\string\)}%
-  \pdfx at setcmykprofile}
-%%
-%%  --- user-command ---   DeviceGray profile needed with  PDF/E-1
-%% \setGRAYcolorprofile{<filename>}{<output intent>}
-%%    {<identifier>}{<registry URL>}
-\def\setGRAYcolorprofile{%
- \begingroup
-  \catcode`\_ 11\relax\catcode`\& 11\relax\catcode`\~ 11\relax
-  \catcode`\% 11\relax
-  \edef\({\string\(}\edef\){\string\)}%
-  \pdfx at setgrayprofile}
-%%
-%%  --- user-command ---  External profile with  PDF/X-4p and PDF/X-5pg
-%% \setEXTERNALprofile{<profilename>}{<output intent>}
-%%    {<identifier>}{<registry URL>}{<color-space>}%
-%%    {<ICC Version>}{<provider URL>}{<extra info>}{<Check Sum>}
-\def\setEXTERNALprofile{%
- \begingroup
-  \catcode`\_ 11\relax\catcode`\& 11\relax\catcode`\~ 11\relax
-  \catcode`\% 11\relax
-  \edef\({\string\(}\edef\){\string\)}%
-  \ifno at iccprofile
-   \expandafter\pdfx at externalprofile
-   \else
-    \expandafter\pdfx at externalprofile@gobble
-   \fi
-  }
-%%
-%%
-\def\pdfx at setRGBcolorprofiledir#1{%
- \xdef\pdfx at RGBcolorprofiledir{#1}%
-}
-\def\pdfx at setCMYKcolorprofiledir#1{%
- \xdef\pdfx at CMYKcolorprofiledir{#1}%
-}
-\pdfx at setRGBcolorprofiledir{}
-\pdfx at setCMYKcolorprofiledir{}
-
-%% This does indeed work!  Use it in  .xmpdata  files
-\providecommand{\MacOSColordir}{/System/Library/ColorSync/Profiles/}
-\providecommand{\MacOSLibraryColordir}{/Library/ColorSync/Profiles/}
-\providecommand{\AdobeMacOSdir}%
-  {/Library/Application Support/Adobe/Color/Profiles/Recommended/}
-\edef\pdfx at tmp{C:\string\Windows\string\System32\string\Spool%
-  \string\Drivers\string\Color\string/}
-\expandafter\providecommand\expandafter
-  {\expandafter\WindowsColordir\expandafter}\expandafter{\pdfx at tmp}
-%%\pdfx at setcolorprofiledir{\AdobeMacOSdir}
-
-%% overide that value using the following commands:
-\let\pdfxSetCMYKcolorProfileDir\pdfx at setCMYKcolorprofiledir
-\let\pdfxSetRGBcolorProfileDir\pdfx at setRGBcolorprofiledir
-%%  for back-compatibility
-\let\pdfxSetColorProfileDir\pdfxSetCMYKcolorProfileDir
-%%
-\def\pdfx at setrgbprofile#1#2#3#4{%
- \xdef\pdfx at rgb@profile{\pdfx at RGBcolorprofiledir#1}%  valid file path/name
- \xdef\pdfx at rgb@profilename{#1}%  valid file name
- \gdef\pdfx at rgb@identifier{#2}%
- \gdef\pdfx at rgb@info{#3}%
- \pdfstringdef\pdfx at rgb@registry{#4}%  valid URL
- \endgroup
- \global\pdfx at cmykfalse
- }%  closes-off  \setRGBcolorprofile
-%%
-\def\pdfx at setcmykprofile#1#2#3#4{%
- \xdef\pdfx at cmyk@profile{\pdfx at CMYKcolorprofiledir#1}%  valid file path/name
- \xdef\pdfx at cmyk@profilename{#1}%  valid file name
-%% \expandafter\gdef\expandafter\pdfx at cmyk@profile\expandafter
-%%    {\pdfx at colorprofiledir#1}%  valid file name
- \gdef\pdfx at cmyk@intent{#2}%
-%% \pdfstringdef\pdfx at cmyk@intent{#2}%  color intent
- \gdef\pdfx at cmyk@identifier{#3}%
-%% \pdfstringdef\pdfx at cmyk@identifier{#3}%  text string identifier
- \gdef\pdfx at cmyk@registry{#4}%
-%% \pdfstringdef\pdfx at cmyk@registry{#4}%  valid URL
- \endgroup
- \global\pdfx at cmyktrue
- }%  closes-off  \setcmykcolorprofile
-%%
-\def\setCUSTOMcolorprofile{%
- \begingroup
-  \catcode`\_ 11\relax\catcode`\& 11\relax\catcode`\~ 11\relax
-  \catcode`\% 11\relax
-  \edef\({\string\(}\edef\){\string\)}%
-  \pdfx at setcustomprofile
-}
-\def\pdfx at setcustomprofile#1#2#3#4#5#6#7#8{%
- \xdef\pdfx at customcolorprofiledir{#2}% valid directory location
- \xdef\pdfx at custom@profile{#1}%  valid file name
- \gdef\pdfx at custom@identifier{#3}%
- \gdef\pdfx at custom@registry{#4}%
- \gdef\pdfx at custom@numcolors{#5}% num-colors specifier
- \gdef\pdfx at iccversion{#6}%  Hex string for /ICCVersion < ... >
- \gdef\pdfx at custom@colornames{#7}%
- \gdef\pdfx at profile@checksum{#8}%  Hex string for /CheckSum < ... >
-\endgroup
- \global\pdfx at cmykfalse
- \global\pdfx at customtrue
- }%  closes-off  \pdfx at setcustomprofile
-%%
-\def\pdfx at setgrayprofile#1#2#3#4{%
- \gdef\pdfx at gray@profile{#1}%  valid file name
- \gdef\pdfx at gray@intent{#2}%
- \gdef\pdfx at gray@identifier{#3}%
- \pdfstringdef\pdfx at gray@registry{#4}%  valid URL
- \endgroup}%  closes-off  \setGRAYcolorprofile
-%%
-\def\pdfx at externalprofile#1#2#3#4#5#6#7#8#9{%
- \gdef\pdfx at extprofile{#1}% PDF string for /ProfileName
- \gdef\pdfx at cmyk@intent{#2}% PDF string for /OutputCondition
- \gdef\pdfx at cmyk@identifier{#3}% PDF string for /OutputConditionIdentifier
- \gdef\pdfx at cmyk@registry{#4}% {http://www.color.org}%
- \gdef\pdfx at profileCS{#5}%  4 bytes for /ProfileCS
- \gdef\pdfx at iccversion{#6}%  Hex string for /ICCVersion < ... >
- \gdef\pdfx at colorURL{#7}%  URL
- \gdef\pdfx at cmyk@info{#8}%  for /Info
- \gdef\pdfx at profile@checksum{#9}%  Hex string for /CheckSum < ... >
- \endgroup}%  closes-off  \setEXTERNALprofile
-\def\pdfx at externalprofile@gobble#1#2#3#4#5#6#7#8#9{%
-  \PackageError{pdfx}{Wrong option for using an External Color profile}%
-   {Use one of the options: x-4p , x-4p08 , x-4p10 or  x-5pg .}%
- \endgroup}
-%%
-%% default color profiles
-
-{\catcode`\_ 12 \catcode`\& 12 \catcode`\~ 12
- \gdef\pdfx at xprofile@cmykdefault{coated_FOGRA39L_argl.icc}
- \gdef\pdfx at aprofile@rgbdefault{sRGB_IEC61966-2-1_black_scaled.icc}
- \gdef\pdfx at eprofile@graydefault{Gray_linear.icc}
- \gdef\pdfx at pprofile@externaldefault{FOGRA39}
-}% end of \catcode
-\xdef\pdfx at rgb@profile{\pdfx at aprofile@rgbdefault}
-\xdef\pdfx at cmyk@profile{\pdfx at xprofile@cmykdefault}
-\xdef\pdfx at gray@profile{\pdfx at eprofile@graydefault}
-\xdef\pdfx at external@profile{\pdfx at pprofile@externaldefault}
-
-%%----------------------------------------------------------------------
-%% License for the file  sRGB_IEC61966-2-1_black_scaled.icc :
-%%
-%% Copyright International Color Consortium, 2009  -- http://www.color.org/
-%%
-%% It is hereby acknowledged that the file "sRGB_IEC61966-2-1_black_scaled.icc"
-%% is provided "AS IS" WITH NO EXPRESS OR IMPLIED WARRANTY.
-%%
-%% Licensing
-%%
-%% This profile is made available by the International Color Consortium,
-%% and may be copied, distributed, embedded, made, used, and sold without
-%% restriction. Altered versions of this profile shall have the original
-%% identification and copyright information removed and shall not be
-%% misrepresented as the original profile.
-%%
-%% Terms of use
-%%
-%% To anyone who acknowledges that the file "sRGB_IEC61966-2-1_black_scaled.icc"
-%% is provided "AS IS" WITH NO EXPRESS OR IMPLIED WARRANTY, permission to use,
-%% copy and distribute these file for any purpose is hereby granted without fee,
-%% provided that the file is not changed including the ICC copyright notice tag,
-%% and that the name of ICC shall not be used in advertising or publicity
-%% pertaining to distribution of the software without specific, written prior
-%% permission. ICC makes no representations about the suitability of this
-%% software for any purpose.
-%%
-%%----------------------------------------------------------------------
-
-\newif\ifpdfx at tryoldprofiles
-
-%%  The  colorprofiles package was added to  TeXLive  in October 2018.
-%%  It allows the default Color Profiles to be maintained independent
-%%  of the  pdfx  package.
-%%  In particular  sRGB_IEC61966-2-1_black_scaled.icc  is no longer
-%%  distributed with TeXLive 2018 and later.
-%%  Older versions still have this file.
-%%
-\IfFileExists{colorprofiles.tex}{%
-  \RequirePackage{colorprofiles}[2018/11/01]%
-  \ifx\colorpro at rgb@profile\relax
-    \expandafter\pdfx at tryoldprofilestrue
-   \else
-    \begingroup %%  \endgroup occurs within the macro expansion
-     \pdfx at setrgbprofile{\colorpro at rgb@profile
-     }{\colorpro at rgb@identifier
-     }{\colorpro at rgb@info
-     }{\colorpro at rgb@registry
-     }%
-    \begingroup %%  \endgroup occurs within the macro expansion
-    \pdfx at setcmykprofile{\colorpro at cmyk@profile
-     }{\colorpro at cmyk@intent
-     }{\colorpro at cmyk@identifier
-     }{\colorpro at cmyk@registry
-     }%
-    \expandafter\pdfx at tryoldprofilesfalse
-   \fi
-}{\pdfx at tryoldprofilestrue}
-
-{\catcode`\| 14 \catcode`\% 12 \catcode`\_ 12 \catcode`\: 12
- \catcode`\. 12 \catcode`\- 12 \catcode`\/ 12
- \edef\@bchar{\expandafter\@gobble\string\\}|
- \edef\({\string\(}\edef\){\string\)}|
-\ifpdfx at tryoldprofiles
- || this will be used by TeXLive installations up to 2017.
- \begingroup | \endgroup occurs within the macro expansion
-\expandafter\pdfx at setrgbprofile\expandafter
- {sRGB_IEC61966-2-1_black_scaled.icc}|
- {sRGB_IEC61966-2-1_black_scaled}|
- {sRGB IEC61966 v2.1 with black scaling}|
- {http://www.color.org}|
- \begingroup | \endgroup occurs within the macro expansion
-\pdfx at setcmykprofile{coated_FOGRA39L_argl.icc}| coated_FOGRA39L_argl.icc
- {Coated FOGRA39}|
- {FOGRA39 \string\(ISO Coated v2 300%\space \string\(ECI\string\)\string\)}|
- {http://www.argyllcms.com/}|{http://www.color.org}|
-\fi  ||  end of   \ifpdfx at tryoldprofiles
- \begingroup | \endgroup occurs within the macro expansion
-\pdfx at setgrayprofile{Gray_linear.icc}|
- {}|
- {Custom}|
- {http://www.freedesktop.org/wiki/OpenIcc}|
-\ifno at iccprofile
- \begingroup | \endgroup occurs within the macro expansion
-  \pdfx at externalprofile{Coated FOGRA39 \(ISO 12647-2:2004\)}|
-   {Offset commercial and specialty printing according to ISO 12647-2:2004 |
-    / Amd 1, paper type 1 or 2 \(gloss or matte coated offset, 115 g/m2\), |
-    screen frequency 60/cm.}|
-   {FOGRA39}{http://www.color.org}{CMYK}{02100000}{http://www.adobe.com}|
-   {Coated FOGRA39 \(ISO 12647-2:2004\)}{74FF62F330BF0DBE4495B5720542D511}|
-\fi
-}% end of \catcode
-
-%%
-%%----------------------------------------------------------------------
-%% License for the file  coated_FOGRA39L_argl.icc :
-%%
-%% The zlib/libpng License
-%%
-%% Copyright (c) 2008 Kai-Uwe Behrmann
-%%
-%% This software is provided 'as-is', without any express or implied
-%% warranty. In no event will the authors be held liable for any damages
-%% arising from the use of this software.
-%%
-%% Permission is granted to anyone to use this software for any purpose,
-%% including commercial applications, and to alter it and redistribute
-%% it freely, subject to the following restrictions:
-%%
-%%    1. The origin of this software must not be misrepresented; you
-%%    must not claim that you wrote the original software. If you use
-%%    this software in a product, an acknowledgment in the product
-%%    documentation would be appreciated but is not required.
-%%
-%%    2. Altered source versions must be plainly marked as such, and
-%%    must not be misrepresented as being the original software.
-%%
-%%    3. This notice may not be removed or altered from any source
-%%    distribution.
-%%----------------------------------------------------------------------
-
-\newif\ifexternalICCprofiles
-\newif\ifpdfx at noXMPdata
-
-\begingroup
-%% override unneeded color-profile specifier
- \ifpdfx at x
-  \ifno at iccprofile %  PDF/X-4p and PDF/X-5pg  PDF/VT-2
-   \begingroup
-    \def\pdfx at extprofiles@store{AdobeExternalProfiles.tex}%
-    \InputIfFileExists{\pdfx at extprofiles@store}%
-     {\global\externalICCprofilestrue \catcode `\# 12\relax}%
-     {\typeout{** pdfx: No file \pdfx at extprofiles@store\space
-       found for PDF/X-4p or PDF/X-5pg}}%
-   \endgroup
-  \else
-   \begingroup
-    \def\pdfx at profiles@store{AdobeColorProfiles.tex}%
-    \InputIfFileExists{\pdfx at profiles@store}%
-     {\global\externalICCprofilesfalse \catcode `\# 12\relax}%
-     {\typeout{** pdfx: No file \pdfx at profiles@store\space
-       found for PDF/X variants}}%
-   \endgroup
-%%   \def\setRGBcolorprofile#1#2#3#4{%
-%%    \PackageError{pdfx}{PDF/X requires a CMYK color profile}%
-%%     {Just continue using the default CMYK profile.^^J}}%
-  \fi
- \else
-%% load it, in case the macros are used in .xmpdata
-  \InputIfFileExists{AdobeColorProfiles.tex}{}{}%
-  \ifpdfx at e
-  \else
-   \def\setCMYKcolorprofile#1#2#3#4{}%
-   \def\setGRAYcolorprofile#1#2#3#4{}%
- \fi\fi
-%%
- \ifluatex\else\ifxetex\else
-  \inputencoding{8bit}%
- \fi\fi
- \makeatletter
- \pdfx at localcommands
-%% Do this in a box, so any stray characters don't get into TeX's lists.
-\setbox0\hbox{%
- \InputIfFileExists{\jobname.xmpdata}%
-  {\typeout{** pdfx: Metadata file \jobname.xmpdata  read successfully.}}%
-  {\typeout{** pdfx: No file  \jobname.xmpdata .
-    Metadata will be incomplete!}\aftergroup\pdfx at noXMPdatatrue}}
-\endgroup
-%% ----------------------------------------------------------------------
-
-\def\pdfx at LanguageSpec{}
-\def\pdfx at mainLanguage{en-US}%  absolute default
-\def\pdfx at checkfor@sep#1#2\sep#3\pdfx at endparse{\def#1{#2}}
-\ifx\@empty\xmp at Language\else
- \expandafter\pdfx at checkfor@sep\expandafter\pdfx at mainLanguage\xmp at Language
-  \sep\pdfx at endparse
-\fi
-\edef\pdfx at LanguageSpec{/Lang (\pdfx at mainLanguage)}
-
-%% ----------------------------------------------------------------------
-\begingroup
- \catcode`\_ 12 \catcode`\" 12 \catcode`\' 12
- \catcode`\< 12 \catcode`\> 12 \catcode`\/ 12 \catcode`\[ 12 \catcode`\] 12
- \edef\@pctchar{\expandafter\@gobble\string\%}
- \edef\@bchar{\expandafter\@gobble\string\\}
- \edef\0{\string\0}
- \edef\({\string\(}
- \edef\){\string\)}
-%%
- \def\pdfx at outcatalog@dict{%
-  \pdfx at LanguageSpec
-  /ViewerPreferences <</DisplayDocTitle true >>
-  /OutputIntents \pdfx at outintents % needs appropriate expansion
- }%
-\ifpdfx at x   %  PDF/X  needs a CMYK or RGB color profile for printing
- \ifno at iccprofile %  PDF/X-4p and PDF/X-5pg
-%%
-%% URL and metadata for the desired external Color Profile
-%%
-  \edef\pdfx at colorURL@dict{<</FS/URL/F(\pdfx at colorURL)>>}
-  \def\pdfx at colorprofile@dict{<< %
-     /CheckSum <\pdfx at profile@checksum>^^J%
-     /ICCVersion <\pdfx at iccversion>%
-     /ProfileCS (\pdfx at profileCS)^^J%
-     /ProfileName (\pdfx at extprofile)^^J%
-     /URLs [\OBJ at URLs] >>
-  }
-%% How to specify the PDF objects with different drivers
-  \ifxetex
-   \def\OBJ at URLs{ @colorURL }%
-   \def\OBJ at ICC{ @colorprofile }%
-   \immediate\special{pdf:obj \OBJ at URLs \pdfx at colorURL@dict }%
-   \immediate\special{pdf:obj \OBJ at ICC \pdfx at colorprofile@dict }%
-  \else %  pdfTeX & LuaTeX
-   \immediate\pdfobj{\pdfx at colorURL@dict}%
-   \edef\OBJ at URLs{\the\pdflastobj\space 0 R}%
-   \immediate\pdfobj{\pdfx at colorprofile@dict}%
-   \edef\OBJ at ICC{\the\pdflastobj\space 0 R}%
-  \fi
-%%  Output Intent dictionary, with object reference
-  \edef\pdfx at outintent@dict{%
-    /Type/OutputIntent
-    /S/GTS_PDFX^^J
-    /OutputCondition (\pdfx at cmyk@intent)^^J
-    /OutputConditionIdentifier (\pdfx at cmyk@identifier)^^J
-    /Info(\pdfx at cmyk@intent)^^J
-    /RegistryName(\pdfx at cmyk@registry)^^J
-%% extra dictionary required for  PDF/X-4p and PDF/X-5pg
-    /DestOutputProfileRef \OBJ at ICC
-  }%
-%%
- \else  %  PDF/X-1 , PDF/X-1a , PDF/X-3 , PDF/X-4 , PDF/X-5g
-%%
-  \ifpdfx at cmyk
-   \IfFileExists{"\pdfx at cmyk@profile"}{%
-  %  embedded CMYK color profile
-  %%
-  %%  Output Intent dictionary, with object reference
-  \def\pdfx at outintent@dict{%
-    /Type/OutputIntent
-    /S/GTS_PDFX^^J
-    /OutputCondition (\pdfx at cmyk@intent)^^J
-    /OutputConditionIdentifier (\pdfx at cmyk@identifier)^^J
-    /Info(\pdfx at cmyk@intent)^^J
-    /RegistryName(\pdfx at cmyk@registry)
-    /DestOutputProfile \OBJ at CMYK
-   }%
-  \def\pdfx at numcoords{/N 4}%
-%%
-  \ifxetex
-   \def\OBJ at CMYK{@colorprofile}%
-   \immediate\special{%
-     pdf:fstream \OBJ at CMYK (\pdfx at cmyk@profile) <<\pdfx at numcoords >>}%
-  \else % pdfTeX
-   \immediate\pdfobj stream attr{\pdfx at numcoords} file {\pdfx at cmyk@profile}%
-   \edef\OBJ at CMYK{\the\pdflastobj\space 0 R}%
-  \fi
-  \pdfcatalog{%
-   \pdfx at LanguageSpec
-   /OutputIntents [ <<
-   /Type/OutputIntent
-   /S/GTS_PDFX
-   /OutputCondition (\pdfx at cmyk@intent)%
-   /OutputConditionIdentifier (\pdfx at cmyk@identifier)%
-   /Info(\pdfx at cmyk@intent)%
-   /RegistryName(\pdfx at cmyk@registry)
-   /DestOutputProfile \OBJ at CMYK
-   >> ]}%
-  }{%
-   \PackageError{pdfx}{No color profile \pdfx at cmyk@profilename\space found
-     to use for CMYK printing colors.}%
-     {Is this the correct directory: \pdfx at CMYKcolorprofiledir\space  ?}%
-  }% end of \IfFileExists for CMYK
-  \else\ifpdfx at custom
-%%  allow Custom profile with PDF/X-5n
-   \IfFileExists{"\pdfx at customcolorprofiledir\pdfx at custom@profile"}{%
-%%  embedded Custom color profile
-%%
-  %%  Output Intent dictionary, with object reference
-  \def\pdfx at outintent@dict{%
-    /Type/OutputIntent
-    /S/GTS_PDFX^^J
-    /OutputConditionIdentifier (Custom)^^J
-    /OutputCondition (\pdfx at custom@identifier)^^J
-    /Info(\pdfx at custom@profile)^^J
-    /RegistryName(\pdfx at custom@registry)
-    /Registry(\pdfx at custom@registry)
-    /DestOutputProfileRef \OBJ at CustomDir
-   }%
- \def\OBJ at CustomDir{<<
-   \pdfx at numcoords^^J
-    /URLs [ << /Type /Filespec ^^J/EF \OBJ at CustomFile^^J
-     /F (\pdfx at custom@profile) /UF (\pdfx at custom@profile)  >>]^^J
-    >>}
-%% need more attributes:
-  \def\pdfx at numcoords{%
-    /CheckSum <\pdfx at profile@checksum>^^J%
-    /ICCVersion <\pdfx at iccversion>%
-    /ProfileName (\pdfx at custom@profile)^^J%
-    /ProfileCS (\pdfx at custom@numcolors)^^J%
-    /ColorantTable [\pdfx at custom@colornames]
-   }%
-  \def\pdfx at custom@filespec{%
-      /Type /EmbeddedFile >>^^J
-      /Subtype (application/vnd.iccprofile )
-  }%
-%%
-  \ifxetex
-   \def\OBJ at CustomFile{@colorprofile}%
-   \immediate\special{pdf:fstream \OBJ at CustomFile
-     (\pdfx at customcolorprofiledir\pdfx at custom@profile) <<\pdfx at custom@filespec >>}%
-  \else % pdfTeX
-   \immediate\pdfobj stream attr{\pdfx at custom@filespec} file %
-     {\pdfx at customcolorprofiledir\pdfx at custom@profile}%
-   \edef\OBJ at CustomFile{\the\pdflastobj\space 0 R}%
-  \fi
-  \pdfcatalog{%
-   \pdfx at LanguageSpec
-   /OutputIntents [ << \pdfx at outintent@dict >>]}%
-  }{%
-    \PackageError{pdfx}%
-     {No color profile \pdfx at custom@profile\space found to use for Custom printing colors.}%
-     {Is this the correct directory: \pdfx at customcolorprofiledir\space  ?}%
-  }% end of \IfFileExists for Custom
-  \global\pdfx at cmyktrue  % for TeX coloring
-%%
-  \else  % allow RGB profile with PDF/X   ???
-   \ifpdfx at noerr
-    \PackageWarning{pdfx}{PDF/X normally requires a CMYK color profile.^^J
-      Assuming RGB profile is of type 'prtr' not 'mntr'.^^J^^J}%
-   \else
-    \PackageError{pdfx}{PDF/X normally requires a CMYK color profile.}%
-      {To use RGB ensure profile is of type 'prtr' not 'mntr'.^^J^^J}%
-   \fi
-   %  embedded RGB color profile
-   %%
-   %%  Output Intent dictionary, with object reference
-   \def\pdfx at outintent@dict{%
-     /Type /OutputIntent
-     /S/GTS_PDFX^^J
-     /OutputConditionIdentifier (\pdfx at rgb@identifier)^^J
-     /DestOutputProfile \OBJ at RGB^^J
-     /Info(\pdfx at rgb@info)^^J
-     /RegistryName(\pdfx at rgb@registry)
-   }%
-   \IfFileExists{"\pdfx at rgb@profile"}{%
-    \def\pdfx at numcoords{/N 3 /Alternate/DeviceRGB}
-    \ifxetex
-     \immediate\special{%
-      pdf:fstream @colorprofile (\pdfx at rgb@profile) << \pdfx at numcoords >>}
-     \def\OBJ at RGB{@colorprofile}%
-    \else
-     \immediate\pdfobj stream attr{\pdfx at numcoords} file{\pdfx at rgb@profile}%
-     \edef\OBJ at RGB{\the\pdflastobj\space 0 R}%
-    \fi
-    \edef\pdfx at outintent@dict{%
-      /Type /OutputIntent
-      /S/GTS_PDFX
-      /OutputConditionIdentifier (\pdfx at rgb@identifier)%
-      /DestOutputProfile \OBJ at RGB
-      /Info(\pdfx at rgb@info)
-      /RegistryName(\pdfx at rgb@registry)
-    }%
-    \ifxetex
-     \def\OBJ at RGB{ @colorprofile }%
-     \immediate\special{%
-       pdf:fstream @colorprofile (\pdfx at rgb@profile) <<\pdfx at numcoords >>}
-    \else  %%     pdfTeX or LuaTeX
-      \immediate\pdfobj stream attr{\pdfx at numcoords} file{\pdfx at rgb@profile}%
-      \edef\OBJ at RGB{\the\pdflastobj\space 0 R}%
-     \fi
-   }{%
-    \PackageError{pdfx}%
-     {No color profile \pdfx at rgb@profilename\space found to use for RGB screen colors.}%
-     {Is this the correct directory: \pdfx at RGBcolorprofiledir\space  ?}%
-   }% end of \IfFileExists for RGB
-   \fi % end of \ifpdfx at custom
-  \fi % end of \ifpdfx at cmyk
- \fi % end of  \ifno at iccprofile
-%%  end of PDF/X
-\else
-%%  PDF/A and PDF/E  can specify a CMYK profile
- \expandafter\ifx\expandafter\relax\pdfx at rgb@profile\relax
-  \global\pdfx at cmyktrue
-  \IfFileExists{"\pdfx at cmyk@profile"}{%
-   \def\pdfx at numcoords{/N 4}
-  %  embedded CMYK color profile
-   \ifxetex
-    \def\OBJ at CMYK{@colorprofile}%
-    \special{pdf:fstream @colorprofile (\pdfx at cmyk@profile) <<\pdfx at numcoords >>}
-   \else  %% pdfTeX or LuaTeX
-    \immediate\pdfobj stream attr{\pdfx at numcoords} file{\pdfx at cmyk@profile}%
-    \edef\OBJ at CMYK{\the\pdflastobj\space 0 R}%
-   \fi
-   \edef\pdfx at outintent@dict{%
-     /Type /OutputIntent
-    \ifpdfx at e
-     /S/ISO_PDFE1
-    \else
-     /S/GTS_PDFA1
-    \fi
-    /OutputCondition (\pdfx at cmyk@intent)%  use this or  /Info ?
-    /OutputConditionIdentifier (\pdfx at cmyk@identifier)%
-    /DestOutputProfile \OBJ at CMYK
-    /Info(\pdfx at cmyk@intent)%
-    /RegistryName(\pdfx at cmyk@registry)
-  }%
- }{%
-   \PackageError{pdfx}{No color profile \pdfx at cmyk@profilename\space found
-     to use for CMYK printing colors.}%
-     {Is this the correct directory: \pdfx at CMYKcolorprofiledir\space  ?}%
- }% end of \IfFileExists for CMYK
- \else
-%%  PDF/A and PDF/E  usually need an RGB color profile for on-screen rendering
- \global\pdfx at cmykfalse
-  \expandafter\IfFileExists\expandafter{\pdfx at rgb@profile}{%
-   \def\pdfx at numcoords{/N 3 /Alternate/DeviceRGB}
-  \ifxetex
-    \def\OBJ at RGB{ @colorprofile }%
-    \immediate\special{pdf:fstream @colorprofile (\pdfx at rgb@profile) <<\pdfx at numcoords >>}
-  \else
-    \immediate\pdfobj stream attr{\pdfx at numcoords} file{\pdfx at rgb@profile}%
-    \edef\OBJ at RGB{\the\pdflastobj\space 0 R}%
-  \fi
-  \edef\pdfx at outintent@dict{%
-    /Type /OutputIntent
-   \ifpdfx at e
-    /S/ISO_PDFE1
-   \else
-    /S/GTS_PDFA1
-   \fi
-    /OutputConditionIdentifier (\pdfx at rgb@identifier)%
-    /DestOutputProfile \OBJ at RGB
-    /Info(\pdfx at rgb@info)
-    /RegistryName(\pdfx at rgb@registry)
-  }%
- }{%
-   \PackageError{pdfx}%
-    {No color profile \pdfx at rgb@profilename\space found to use for RGB screen colors.}%
-    {Is this the correct directory: \pdfx at RGBcolorprofiledir\space  ?}%
- }% end of \IfFileExists for RGB
- \fi % end of ifx  for PDF/A or PDF/E
-\fi % end of  ifpdfx at x
-%%
- \expandafter\ifx\csname pdfx at outintent@dict\endcsname\relax
- \else
-%%
-%% build the OutputIntent array
-%%
-  \ifxetex
-   \def\pdfx at outintents{ @outintentsarray }%
-   \def\pdfx at outintentref{ @outintent at dict }%
-   \immediate\special{pdf:obj \pdfx at outintentref << \pdfx at outintent@dict >>}
-   \immediate\special{pdf:obj \pdfx at outintents [ ]}%
-   \immediate\special{pdf:put \pdfx at outintents \pdfx at outintentref }%
-  \else
-   \immediate\pdfobj{<<\pdfx at outintent@dict>>}%
-   \edef\pdfx at outintents{[\the\pdflastobj\space 0 R]}%
-  \fi
-%%
-%% make the Catalog entry, if not already done
-%%
-  \ifx\pdfx at outcatalog@dict\relax
-  \else
-   \pdfcatalog{\pdfx at outcatalog@dict}%
-  \fi
-\fi  % end of  OutputIntent array and Catalog entry
-\endgroup
-
-%% ----------------------------------------------------------------------
-%% Make a version of \xmp at Keywords and \xmp at Author where \sep has been
-%% replaced by a comma. The first is for the pdf:Keywords property,
-%% which accepts a comma-separated string of keywords, and seems to be
-%% mandatory for PDF/A-1 compliance. The second is for the dc:creator
-%% property. Although it is defined to be a sequence of authors, Adobe
-%% Acrobat will in fact ignore and delete all except the first author.
-%% Therefore, it's safer to always separate authors by commas.
-
-\begingroup
- \let\pdfx at xmpunimarkup\relax
- \pdfx at xmpmarkup
- \ifluatex\else\ifxetex\else
-  \inputencoding{8bit}%
- \fi\fi
- \makeatletter
- \IfFileExists{\pdfx at encodingfile}{%
-  \def\cf at encoding{L8U}\fontencoding{L8U}%
- }{}%
- \let\protect\@typeset at protect
- \pdfx at xmpmarkup %%  !!!!! no longer needed
-%% \xdef\xmp@@Author{\xmp at Author}% no need to expand
- \global\let\xmp@@Author\xmp at Author
- \def\sep{; }%  expand to replace \sep   !!!  no longer needed
-%% \xdef\xmp@@Copyright{\xmp at Copyright}%
- \global\let\xmp@@Copyright\xmp at Copyright
-%% \xdef\xmp@@Keywords{\xmp at Keywords}%
-%% \global\let\xmp@@Keywords\xmp at Keywords
-%% \global\let\xmp at Keywords\@empty %
- \global\let\xmp@@Keywords\@empty % don't use  pdf:Keywords
-\endgroup
-
-%% ----------------------------------------------------------------------
-\def\xmp at convertDate{\pdfx at getYear}
-{\catcode`\D=12 \catcode`\:=12
- \gdef\pdfx at getYear D:#1#2#3#4{\edef\pdfx at xYear{#1#2#3#4}\pdfx at getMonth}
-}
-\def\pdfx at getMonth#1#2{\edef\pdfx at xMonth{#1#2}\pdfx at getDay}
-\def\pdfx at getDay#1#2{\edef\pdfx at xDay{#1#2}\pdfx at getHour}
-\def\pdfx at getHour#1#2{\edef\pdfx at xHour{#1#2}\pdfx at getMin}
-\def\pdfx at getMin#1#2{\edef\pdfx at xMin{#1#2}\pdfx at getSec}
-\def\pdfx at getSec#1#2{\edef\pdfx at xSec{#1#2}\pdfx at getTZh}
-\def\pdfx at getTZh{\futurelet\pdfx at next\pdfx at getTzh@branches}
-
-{\catcode`\@=11 \catcode`\Z=12 \catcode`\+=12 \catcode`\-=12
-\gdef\pdfx at getTzh@branches{%
- \ifx\pdfx at next Z\let\pdfx at getTzbranch\pdfx at getTznozone
- \else\ifx\pdfx at next +\let\pdfx at getTzbranch\pdfx at getTzplus
- \else\ifx\pdfx at next -\let\pdfx at getTzbranch\pdfx at getTzminus
- \else\let\pdfx at getTzbranch\pdfx at getTzerror
- \fi\fi\fi \pdfx at getTzbranch }
-
-\catcode`\0=12
-\gdef\pdfx at getTznozone Z#1\pdfx at getTzend{%
- \edef\pdfx at xTzh{+00}\edef\pdfx at xTzm{00}}
-\gdef\pdfx at getTzplus +#1'#2'#3\pdfx at getTzend{%
- \edef\pdfx at xTzh{+#1}\edef\pdfx at xTzm{#2}%
- \ifx\relax#2\relax\def\pdfx at xTzm{00}\fi}
-\gdef\pdfx at getTzminus -#1'#2'#3\pdfx at getTzend{%
- \edef\pdfx at xTzh{-#1}\edef\pdfx at xTzm{#2}%
- \ifx\relax#2\relax\def\pdfx at xTzm{00}\fi}
-%%
-%% How to support XeTeX here ?
-\expandafter\ifx\csname pdfcreationdate\endcsname\relax
-%% \xdef\pdfx at convDate{2016-04-01}%  April fool!
-%% \xdef\xmp at convDate{2016-04-01}%  April fool!
-\else
- \expandafter\expandafter\expandafter\xmp at convertDate\pdfcreationdate''\pdfx at getTzend
- \xdef\pdfx at convDate{\pdfx at xYear\pdfx at xMonth\pdfx at xDay\pdfx at xHour
-  \pdfx at xMin\pdfx at xSec\pdfx at xTzh'\pdfx at xTzm'}%
- \xdef\xmp at convDate{\pdfx at xYear-\pdfx at xMonth-\pdfx at xDay
-  T\pdfx at xHour:\pdfx at xMin:\pdfx at xSec\pdfx at xTzh:\pdfx at xTzm}%
-\fi
-}% end of \catcode
-
-%% ----------------------------------------------------------------------
-%% \pdfx at topdfstring\toka\tokb: Convert the string in \tokb to a format
-%% appropriate for PDF /Info strings, i.e., PDFDoc encoding or UTF-16
-%% encoding, and store the result in \toka As a special case, if \tokb
-%% is \@empty, set \toka to \@empty.
-
-\def\pdfx at topdfstring#1#2{%
- \ifx#2\@empty
-  \global\let#1\empty
- \else
-  \begingroup
-   \ifluatex\else\ifxetex\else
-    \inputencoding{utf8}%
-   \fi\fi
-   \hypersetup{pdfencoding=auto}%
-   \pdfstringdef#1{#2}%
-  \endgroup
- \fi
-}
-
-%% ----------------------------------------------------------------------
-%% if high-bit characters are already encoded as active
-%% then  \pdfstringdef  probably changes their meaning
-%% so save these for later reversion.
-%%
-\newif\ifpdf at activechars
-{\ifnum\catcode`^^c0 = 13\relax \aftergroup\pdf at activecharstrue\fi}%
-%%
-%% normally not used with XeTeX or LuaTeX
-%%
-
-\ifpdf at activechars
- \global\let\pdfx at save@co ^^c0\relax
- \global\let\pdfx at save@ci ^^c1\relax
- \global\let\pdfx at save@cii ^^c2\relax
- \global\let\pdfx at save@ciii ^^c3\relax
- \global\let\pdfx at save@civ ^^c4\relax
- \global\let\pdfx at save@cv ^^c5\relax
- \global\let\pdfx at save@cvi ^^c6\relax
- \global\let\pdfx at save@cvii ^^c7\relax
- \global\let\pdfx at save@cviii ^^c8\relax
- \global\let\pdfx at save@cix ^^c9\relax
- \global\let\pdfx at save@ca ^^ca\relax
- \global\let\pdfx at save@cb ^^cb\relax
- \global\let\pdfx at save@cc ^^cc\relax
- \global\let\pdfx at save@cd ^^cd\relax
- \global\let\pdfx at save@ce ^^ce\relax
- \global\let\pdfx at save@cf ^^cf\relax
- \global\let\pdfx at save@do ^^d0\relax
- \global\let\pdfx at save@di ^^d1\relax
- \global\let\pdfx at save@dii ^^d2\relax
- \global\let\pdfx at save@diii ^^d3\relax
- \global\let\pdfx at save@div ^^d4\relax
- \global\let\pdfx at save@dv ^^d5\relax
- \global\let\pdfx at save@dvi ^^d6\relax
- \global\let\pdfx at save@dvii ^^d7\relax
- \global\let\pdfx at save@dviii ^^d8\relax
- \global\let\pdfx at save@dix ^^d9\relax
- \global\let\pdfx at save@da ^^da\relax
- \global\let\pdfx at save@db ^^db\relax
- \global\let\pdfx at save@dc ^^dc\relax
- \global\let\pdfx at save@dd ^^dd\relax
- \global\let\pdfx at save@de ^^de\relax
- \global\let\pdfx at save@df ^^df\relax
- \global\let\pdfx at save@eo ^^e0\relax
- \global\let\pdfx at save@ei ^^e1\relax
- \global\let\pdfx at save@eii ^^e2\relax
- \global\let\pdfx at save@eiii ^^e3\relax
- \global\let\pdfx at save@eiv ^^e4\relax
- \global\let\pdfx at save@ev ^^e5\relax
- \global\let\pdfx at save@evi ^^e6\relax
- \global\let\pdfx at save@evii ^^e7\relax
- \global\let\pdfx at save@eviii ^^e8\relax
- \global\let\pdfx at save@eix ^^e9\relax
- \global\let\pdfx at save@ea ^^ea\relax
- \global\let\pdfx at save@eb ^^eb\relax
- \global\let\pdfx at save@ec ^^ec\relax
- \global\let\pdfx at save@ed ^^ed\relax
- \global\let\pdfx at save@ee ^^ee\relax
- \global\let\pdfx at save@ef ^^ef\relax
- \global\let\pdfx at save@fo ^^f0\relax
- \global\let\pdfx at save@fi ^^f1\relax
- \global\let\pdfx at save@fii ^^f2\relax
- \global\let\pdfx at save@fiii ^^f3\relax
-\fi
-
-%% ----------------------------------------------------------------------
-%% detect when \sep is used for multiple authors
-%% then suppress the /Author field in PDF /Info
-\newif\ifpdfx at sep@infield@
-\let\pdfx at endparse\relax
-\def\pdfx at parseforsep#1\sep#2\pdfx at endparse{%
- \pdfx at sep@infield at false
- \ifx\relax#2\relax\else\pdfx at sep@infield at true\fi
-}
-
-\begingroup
- \let\CATCODE\catcode
- \let\ENDGROUP\endgroup
- \let\GDEF\gdef
- \CATCODE`\m 12 \CATCODE`\a 12 \CATCODE`\c 12 \CATCODE`\r 12 \CATCODE`\o 12
- \CATCODE`\: 12 \CATCODE`\- 12 \CATCODE`\> 12
- \GDEF\pdfx at DOSTRIP@MACRO macro:->#1\@{#1}%
-\ENDGROUP
-\def\pdfx at strip@macro#1{%
-  \expandafter\edef\expandafter#1\expandafter{%
-    \expandafter\pdfx at DOSTRIP@MACRO\meaning#1\@}%
-}
-
-%% Convert the relevant XMP properties to PDF strings, expanding markup
-%% (such as \sep, \&, \copyright, etc) in an appropriate way.
-%% These PDF strings are actually not always necessary, but if supplied they
-%% must match exactly what is in the XMP version. This may be impossible
-%% if math symbols are used; e.g. Plane-1 alphanumerics.
-%% Generally, it is better to *not* provide PDF-info strings;
-%% instead just providing metadata through XMP.
-%% This is not always enough — a driver may add it by default!
-%%
-%% But some PDF readers don't support XMP, so it is nice to have
-%%  /Info fields, when this can be done reliably.
-%%
-\begingroup
- \RequirePackage{stringenc}%
- \expandafter\ifx\csname pdf at escapehex\endcsname\relax
-  \PackageWarning{pdfx}{%
-   Missing an implementation of \string\pdf at escapehex ^^J
-   Translated Metadata cannot be generated as PDF strings.^^J}%
-  \def\pdfx at GeneratePdfString#1#2{}%
-  \def\pdfx at ConvertUTFtoBE#1#2{}%
- \else
-  \def\pdfx at GeneratePdfString#1#2{%
-   % converts a UTF-8 string to UTF-16be
-   \StringEncodingConvert{#1}{#2}{utf8}{utf16be}%
-   \xdef#1{\string\376\string\377\pdfescapestring{#1}}%
-  }%
-  \def\pdfx at ConvertUTFtoBE#1#2{%
-   \setbox0=\hbox{% catch any rubbish escaping to the MVL
-    \def\cf at encoding{L8U}\fontencoding{L8U}%
-    \ifluatex
-     \let\pdfescapestring\luaescapestring
-    \else\ifxetex\else
-     \inputencoding{8bit}%
-    \fi\fi
-%%    \pdfx at xmpmarkup %% don't want some things
-    \pdfx at xmpunimarkup
-    \let\backslash\textbackslash
-    \edef\pdfx at temp{#2}% ensure XMP expands to UTF8
-    \pdfx at GeneratePdfString{#1}{\pdfx at temp}%
-   }%
-  }%
- \fi
- \pdfx at pdfmarkup
- \global\let\pdfx at pdfAuthor\@empty
- \global\let\pdfx at pdfTitle\@empty
- \global\let\pdfx at pdfSubject\@empty
- \global\let\pdfx at pdfKeywords\@empty
- \ifpdfx at nopdfinfo  %  transliterated strings present
-%% RRM: this may still work with parser macros   ???
- \ifluatex
-  %%  \pdf at escapehex   gets it wrong!!
-  %%   Is there a better way ?
- \else
-  \pdfx at ConvertUTFtoBE\pdfx at pdfTitle\xmp at Title
-  \pdfx at ConvertUTFtoBE\pdfx at pdfSubject\xmp at Subject
- \fi
-\else
-  \pdfx at topdfstring\pdfx at pdfTitle\xmp at Title
-  \ifpdfx at e\else\ifpdfx at x\else
-   \pdfx at topdfstring\pdfx at pdfSubject\xmp at Subject
-  \fi\fi
- \fi
- \pdfx at topdfstring\pdfx at CreatorTool\xmp at CreatorTool
- \pdfx at topdfstring\pdfx at Producer\xmp at Producer
-%%  \pdfescapestring  needed
- \expandafter\ifx\csname pdfescapestring\endcsname\relax
-  \else
-    \expandafter\ifx\expandafter\relax\xmp at Author\relax
-    \else
-%%  check for multiple authors with parser macro
-     \expandafter\pdfx at parseforsep\xmp at Author\sep\pdfx at endparse
-     \ifpdfx at sep@infield@
-     \else
-      \pdfx at ConvertUTFtoBE{\pdfx at pdfAuthor}{\xmp at Author}%
-     \fi %% end of  \ifpdfx at sep@infield@
-    \fi  %%  end of  \xmp at Author  test
-    \expandafter\ifx\expandafter\relax\xmp at Keywords\relax
-    \else
-%%  check for multiple keywords with parser macro
-     \expandafter\pdfx at parseforsep\xmp at Keywords\sep\pdfx at endparse
-     \ifpdfx at sep@infield@\else
-      \ifluatex\else
-      \pdfx at ConvertUTFtoBE{\pdfx at pdfKeywords}{\xmp at Keywords}%
-     \fi
-     \fi %% end of  \ifpdfx at sep@infield@
-    \fi  %%  end of  \xmp at Keywords  test
-%%
-  \fi  %%  end of \pdfescapestring  test
-\endgroup
-
-%% Affects CMap creation for certain fonts, according to glyph names
-%%  How to support XeTeX here ?
-%%  Maybe it's best to be using an updated  mmap.sty  ?
-\ifxetex
-\else
- \input glyphtounicode.tex
- \input glyphtounicode-cmr.tex
- \input glyphtounicode-ntx.tex
- \pdfgentounicode=1
-\fi
-\ifgrkLGRxmp
- \ifxetex\else
-  \pdfglyphtounicode{internalchar2}{200D}%
-\fi \fi
-
-%% patch to place accents *after* the base character, rather than before
-%%  based on coding from  mmap.sty  by RRM
-\newif\ifPDFX at inaccent
-\let\LTX at add@accent\add at accent
-\def\PDFX at add@accent#1#2{%
- \hmode at bgroup
-  \let \hmode at start@before at group \@firstofone
-  \setbox\@tempboxa\hbox{\PDFX at inaccenttrue
-   #2\global\mathchardef\accent at spacefactor\spacefactor}%
-  #2\kern-\wd\@tempboxa
-%%  \ifdim\ht\@tempboxa>1ex\relax
-   \dimen@=\ht\@tempboxa\advance\dimen at -1ex\relax
-%%% reduce how much a nested accent is raised
-   \ifPDFX at inaccent\advance\dimen at -.2ex\relax\fi
-   \raise\dimen@\hbox to\wd\@tempboxa{\hss
-    \accent#1{\vphantom{#2}}\hss}%
-%%  \else
-%%  \accent#1{%\vphantom{#2}
-%%   \vrule width\z@ height\ht\@tempboxa depth\dp\@tempboxa}%
-%% \fi
- \egroup
- \spacefactor\accent at spacefactor
-}
-
-%% How to support XeTeX here ?
-%%%%%  adjust accent characters to the Unicode Combining variant  %%%%
-\def\PDFX at combiningchars@unicode{%
- \pdfglyphtounicode{grave}{0300}%
- \pdfglyphtounicode{acute}{0301}%
- \pdfglyphtounicode{circumflex}{0302}%
- \pdfglyphtounicode{tilde}{0303}%
- \pdfglyphtounicode{macron}{0304}%
- \pdfglyphtounicode{Macronsmall}{0304}%
- \pdfglyphtounicode{breve}{0306}%
- \pdfglyphtounicode{dotaccent}{0307}%
- \pdfglyphtounicode{Dotaccent}{0307}%
- \pdfglyphtounicode{Dotaccentsmall}{0307}%
- \pdfglyphtounicode{dieresis}{0308}%
- \pdfglyphtounicode{ogonek}{0309}%
- \pdfglyphtounicode{ring}{030A}%
- \pdfglyphtounicode{hungarumlaut}{030B}%
- \pdfglyphtounicode{caron}{030C}%
- \pdfglyphtounicode{cedilla}{0327}%
- \pdfglyphtounicode{commaaccent}{0326}%   droid
- %  tie accents in  berenisadf  lm  stix  and others
- \pdfglyphtounicode{tieaccentlowercase}{0311}%
- \pdfglyphtounicode{tieaccentcapital}{0361}%
- \pdfglyphtounicode{newtieaccentlowercase}{0311}%
- \pdfglyphtounicode{newtieaccentcapital}{0361}%
- % cm-unicode
- \pdfglyphtounicode{space_uni030D}{030D}%
- \pdfglyphtounicode{space_uni030E}{030E}%
- \pdfglyphtounicode{space_uni030F}{030F}%
- \pdfglyphtounicode{space_uni0311}{0311}%
- \pdfglyphtounicode{space_uni0321}{0321}%
- \pdfglyphtounicode{space_uni0322}{0322}%
- \pdfglyphtounicode{space_uni032A}{032A}%
- \pdfglyphtounicode{space_uni032B}{032B}%
- \pdfglyphtounicode{space_uni0335}{0335}%
- \pdfglyphtounicode{space_uni0337}{0337}%
- \pdfglyphtounicode{space_uni033A}{033A}%
- \pdfglyphtounicode{space_uni033B}{033B}%
- \pdfglyphtounicode{space_uni033C}{033C}%
- \pdfglyphtounicode{space_uni034D}{034D}%
-}
-
-\AtBeginDocument{%
- \ifx\add at accent\LTX at add@accent
-  \let\add at accent\PDFX at add@accent
- \else
-  \expandafter\ifx\csname MT at orig@add at accent\endcsname\relax
-  \TPDF at error{another package has already patched \string\add at accent }%
-  \else
-   \expandafter\let\csname MT at orig@add at accent\endcsname\PDFX at add@accent
- \fi\fi
- \ifxetex
- \else
-  \PDFX at combiningchars@unicode
-  \@ifpackageloaded{newtxmath}{%
-    \pdfglyphtounicode{vec}{20D7}%
-    \pdfglyphtounicode{rvec}{20D6}%
-    \pdfglyphtounicode{lrvec}{20E1}%
-   }{}%
-  \fi %  end of   \ifxetex
-}
-
-%%  suppress hyperlinks when generating  PDF/X
-\def\pdfx at linkfile@pdfX#1#2#3{%
- \Hy at colorlink\@filecolor#1\Hy at xspace@end}
-\def\pdfx at linkstart@pdfX#1#2#3{%
- \Hy at colorlink\@linkcolor#3\endgroup\Hy at xspace@end}
-\def\pdfx at linkurl@pdfX#1#2{%
- \Hy at colorlink\@urlcolor#1\endgroup\Hy at xspace@end}
-\def\pdfx at StartlinkName@pdfX#1#2{}
-\def\pdfx at close@pdflink{\Hy at VerboseLinkStop\Hy at endcolorlink}%
-\def\pdfx at Acrobatmenu@noaction#1#2{#2}
-
-\ifpdfx at x
- \let\hyper at linkfile\pdfx at linkfile@pdfX
- \let\hyper at linkurl\pdfx at linkurl@pdfX
- \let\hyper at linkstart\pdfx at linkstart@pdfX
- \let\hyper at linkend\relax
- \let\Hy at StartlinkName\pdfx at StartlinkName@pdfX
- \let\close at pdflink\pdfx at close@pdflink
- \let\AcrobatMenu\pdfx at Acrobatmenu@noaction
- \Hy at bookmarksfalse
-%% {\def\sep{;}% should not be needed, but just in case
-  \AtBeginDocument{%
-   % cancel annotations and links
-   %
-   \def\PDF at FinishDoc{%  ??? What uses this ???
-    \begingroup
-     \def\sep{; }% should not be needed, but just in case
-     \pdfinfo{%
-      \ifx\pdfx at pdfTitle\@empty\else /Title(\pdfx at pdfTitle)\fi
-      \ifx\pdfx at pdfAuthor\@empty\else /Author(\pdfx at pdfAuthor)\fi
-      \ifx\pdfx at pdfSubject\@empty\else /Subject(\pdfx at pdfSubject)\fi
-      \ifx\pdfx at pdfKeywords\@empty\else /Keywords(\pdfx at pdfKeywords)\fi
-       /Creator(\pdfx at CreatorTool)%
-      \ifx\@pdfcreationdate\@empty
-       /CreationDate(D:\pdfx at convDate)%
-      \else
-       \ifxetex\else
-        /CreationDate(\@pdfcreationdate)%
-      \fi\fi
-      \ifx\@pdfmoddate\@empty
-       /ModDate(D:\pdfx at convDate)%
-      \else
-       /ModDate(\@pdfmoddate)%
-      \fi
-      /Producer(\pdfx at Producer)%
-      /Trapped/False
-      \ifnum\xmp at Part=1
-       /GTS_PDFXVersion(PDF/X-1\ifnum\xmp at ReleaseDate>2001
-        \xmp at Conformance\fi:\xmp at ReleaseDate)%
-      \else
-       /GTS_PDFXVersion(PDF/X-\xmp at Part\xmp at Conformance
-        \ifnum\xmp at Part< 4 :\xmp at ReleaseDate\fi)%
-      \fi
-      \ifnum\xmp at Part < 3
-        /GTS_PDFXConformance(PDF/X-\xmp at Part\xmp at Conformance
-          :\xmp at ReleaseDate)%
-      \fi
-      \ifpdfx at vt
-%%   support for PDF/VT extensions of  PDF/X-4 and PDF/X-5
-       /GTS_PDFVTVersion(PDF/VT-\xmp at vtPart\xmp at vtConformance)%
-      \fi
-     }%%  end of  PDF/X  info
-    \endgroup   %%  end of scope for  \sep
-   }%% end of  \PDF at FinishDoc
-  }% end of  \AtBeginDocument
-%%  \pdfinfo{%   order of these dictionary keys should not matter
-%%   \ifx\pdfx at Author\@empty\else /Author(\pdfx at Author)\fi
-%%   /CreationDate(D:\pdfx at convDate)%
-%%   /Creator(\pdfx at CreatorTool)%
-%%   \ifnum\xmp at Part=1
-%%     /GTS_PDFXVersion(PDF/X-1\ifnum\xmp at ReleaseDate>2001
-%%      \xmp at Conformance\fi:\xmp at ReleaseDate)%
-%%   \else
-%%    /GTS_PDFXVersion(PDF/X-\xmp at Part\xmp at Conformance
-%%     \ifnum\xmp at Part< 4 :\xmp at ReleaseDate\fi)%
-%%   \fi
-%%   \ifnum\xmp at Part < 3
-%%      /GTS_PDFXConformance(PDF/X-\xmp at Part\xmp at Conformance
-%%        :\xmp at ReleaseDate)%
-%%   \fi
-%%
-%%   \ifpdfx at vt
-%%%   support for PDF/VT extensions of  PDF/X-4 and PDF/X-5
-%%     /GTS_PDFVTVersion(PDF/VT-\xmp at vtPart\xmp at vtConformance)%
-%%   \fi
-%%   \ifx\pdfx at Keywords\@empty\else /Keywords(\pdfx at Keywords)\fi
-%%   /ModDate(D:\pdfx at convDate)%
-%%   /Producer(\pdfx at Producer)%
-%%   \ifx\pdfx at Subject\@empty\else /Subject(\pdfx at Subject)\fi
-%%   \ifx\pdfx at Title\@empty\else /Title(\pdfx at Title)\fi
-%%   /Trapped/False%
-%%  }%  end of  PDF/X  info
-%% }% end of scope for  \sep
-\else
- \ifpdfx at e   %% PDF/E
-  \AtBeginDocument{%
-   \def\PDF at FinishDoc{%  ??? What uses this ???
-    \begingroup
-     \def\sep{; }% should not be needed, but just in case
-     \pdfinfo{%
-      \ifx\pdfx at pdfTitle\@empty\else /Title(\pdfx at pdfTitle)\fi
-      \ifx\pdfx at pdfAuthor\@empty\else /Author(\pdfx at pdfAuthor)\fi
-      \ifx\pdfx at pdfSubject\@empty\else /Subject(\pdfx at pdfSubject)\fi
-      \ifx\pdfx at pdfKeywords\@empty\else /Keywords(\pdfx at pdfKeywords)\fi
-       /Creator(\pdfx at CreatorTool)%
-      \ifx\@pdfcreationdate\@empty
-       /CreationDate(D:\pdfx at convDate)%
-      \else
-       \ifxetex\else
-        /CreationDate(\@pdfcreationdate)%
-      \fi\fi
-      \ifx\@pdfmoddate\@empty
-       /ModDate(D:\pdfx at convDate)%
-      \else
-       /ModDate(\@pdfmoddate)%
-      \fi
-      /Producer(\pdfx at Producer)%
-      /Trapped/False
-      /GTS_PDFEVersion(PDF/E-1\xmp at Conformance:\xmp at ReleaseDate)%
-     }%  end of  PDF/E  info
-    \endgroup  %% end of scope for  \sep
-   }% end of  \PDF at FinishDoc
-  }% end of  \AtBeginDocument
-%% {\def\sep{;}% should not be needed, but just in case
-%%  \pdfinfo{%   order of these dictionary keys should not matter
-%%     \ifx\pdfx at Title\@empty\else /Title(\pdfx at Title)\fi
-%%     \ifx\pdfx at Author\@empty\else /Author(\pdfx at Author)\fi
-%%     \ifx\pdfx at Subject\@empty\else /Subject(\pdfx at Subject)\fi
-%%     \ifx\pdfx at Keywords\@empty\else /Keywords(\pdfx at Keywords)\fi
-%%   \ifx\pdfx at Author\@empty\else /Author(\pdfx at Author)\fi
-%%   /CreationDate(\pdfx at convDate)%
-%%   /Creator(\pdfx at CreatorTool)%
-%%   /GTS_PDFEVersion(PDF/E-1\xmp at Conformance:\xmp at ReleaseDate)%
-%%   \ifx\pdfx at Keywords\@empty\else /Keywords(\pdfx at Keywords)\fi
-%%   /ModDate(D:\pdfx at convDate)%
-%%   /Producer(\pdfx at Producer)%
-%%   \ifx\pdfx at Subject\@empty\else /Subject(\pdfx at Subject)\fi
-%%   \ifx\pdfx at Title\@empty\else /Title(\pdfx at Title)\fi
-%%   /Trapped/False%
-%%  }%  end of  PDF/E  info
-%% }% end of scope for  \sep
- \else  %%  PDF/A
-  \def\pdfx at confA{a}%
-  \def\pdfx at confB{b}%
-  \def\pdfx at confU{u}%
-  \expandafter\def\expandafter\xmp at conf\expandafter
-   {\csname pdfx at conf\xmp at Conformance\endcsname}%
-  \AtBeginDocument{%
-   \def\PDF at FinishDoc{%  ??? What uses this ???
-   \begingroup
-    \def\sep{; }% should not be needed, but just in case
-    \pdfinfo{%
-     \ifx\pdfx at pdfTitle\@empty\else /Title(\pdfx at pdfTitle)\fi
-     \ifx\pdfx at pdfAuthor\@empty\else /Author(\pdfx at pdfAuthor)\fi
-     \ifx\pdfx at pdfSubject\@empty\else /Subject(\pdfx at pdfSubject)\fi
-     \ifx\pdfx at pdfKeywords\@empty\else /Keywords(\pdfx at pdfKeywords)\fi
-      /Creator(\pdfx at CreatorTool)%
-     \ifx\@pdfcreationdate\@empty
-      /CreationDate(D:\pdfx at convDate)%
-     \else
-      \ifxetex\else
-       /CreationDate(\@pdfcreationdate)%
-     \fi\fi
-     \ifx\@pdfmoddate\@empty
-      /ModDate(D:\pdfx at convDate)%
-     \else
-      /ModDate(\@pdfmoddate)%
-     \fi
-     /Producer(\pdfx at Producer)%
-     /Trapped/False
-     /GTS_PDFA1Version (PDF/A-\xmp at Part\xmp at conf:\xmp at ReleaseDate)%
-    }%  end of  PDF/A  info
-   \endgroup  %%  end of scope for  \sep
-  }% end of  \PDF at FinishDoc
- }% end of  \AtBeginDocument
-\fi\fi
-
-%%----------------------------------------------------------------------
-\begingroup
-%% override the \ifpdf  check of  xmpincl  package
-\ifxetex
- \pdftrue
-\else\ifluatex
- \pdftrue
-\fi\fi
-\RequirePackage{xmpincl}
-\ifxetex
- % revert \ifpdf
- \pdffalse
-\else\ifluatex
- \pdffalse
-\fi\fi
-
-%% combine coding from  xmpincl  and  hyperxml to support XeTeX
-\def\pdfx at xmpincl@xetex#1{%
- \IfFileExists{#1.xmp}{%
-  \mcs at xmpincl@patchFile{#1}%
-  \begingroup
-   \special{pdf:fstream @pdfx at Metadata (#1.xmpi)
-    <<
-      /Type /Metadata
-      /Subtype /XML
-    >>
-   }%
-   \special{pdf:put @catalog
-    <<
-      /Metadata @pdfx at Metadata
-    >>
-   }%
-  \endgroup
- }{%
-  \newcommand{\mcs at xmpincl@filename}{#1.xmp}%
-    \PackageError{xmpincl}%
-    {The file \mcs at xmpincl@filename\space was not found}%
-    {The file \mcs at xmpincl@filename\space The metadata file
-     wasn't found.\MessageBreak Oops.}%
- }
-}
-\ifxetex
- \let\includexmp\pdfx at xmpincl@xetex
-\fi
-
-%% macro provided by Leonardo E. Segovia on 2017-05-15
-%% <leonardo.segovia at cs.uns.edu.ar>
-\def\pdfx at xmpincl@luatex#1{%
- \IfFileExists{#1.xmp}{%
-   \mcs at xmpincl@patchFile{#1}%
-   \begingroup
-   \pdfcompresslevel=0
-   \immediate\pdfobj uncompressed stream attr {/Type /Metadata /Subtype /XML}
-   file{#1.xmpi}%
-   \pdfcatalog{%\pdfx at LanguageSpec
-    /Metadata \the\pdflastobj\space 0 R}%
-   \endgroup
- }{%
-  \newcommand{\mcs at xmpincl@filename}{#1.xmp}%
-   \PackageError{xmpincl}%
-   {The file \mcs at xmpincl@filename\space was not found}%
-   {The file \mcs at xmpincl@filename\space The metadata file
-     wasn't found.\MessageBreak Oops.}%
- }
-}
-\ifluatex
- \let\includexmp\pdfx at xmpincl@luatex
-\fi
-
-%%----------------------------------------------------------------------
-\begingroup
- \ifpdfx at x
-  \ifpdfx at vt
-   \def\xmp at template{pdfvt}%
-  \else
-   \def\xmp at template{pdfx}%    formerly  pdfx-1a
-  \fi
- \else
-  \ifpdfx at e
-   \def\xmp at template{pdfe}%
-  \else
-   \def\xmp at template{pdfa}%
- \fi\fi
- \catcode`\'=12 \catcode`\<=12 \catcode`\>=12 \catcode`\?=12
- \catcode`\"=12 \catcode`\= 12 %% used within the template file
-%% patch commands from  xmpincl.sty  ...
- \def\pdfx at xmpinclStart{% supply byte-order marker
-  <?xpacket begin='^^ef^^bb^^be' id='W5M0MpCehiHzreSzNTczkc9d' ?> %
- }%
- \def\pdfx at xmpinclStartAlt{% no byte-order marker
-  <?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d' ?> %
- }%
- \def\pdfx at xmpinclEnd{%  allow XMP packet to be writable
-  <?xpacket end='w'?> %
- }%
- \let\mcs at xmpinclStart\pdfx at xmpinclStart
- \let\mcs at xmpinclStartAlt\pdfx at xmpinclStartAlt
- \ifpdfx at noBOM  % don't use the byte-order marker
-  \let\mcs at xmpinclStart\pdfx at xmpinclStartAlt
- \fi
- \let\mcs at xmpinclEnd\pdfx at xmpinclEnd
-%% ... preventing their redefinition
- \def\newcommand#1#2{}%
-%%
-%% \def\pdfx at endeval{%
-%%  \noexpand \TE at setvaltrue \noexpand \else
-%%  \noexpand \TE at setvalfalse \noexpand \fi
-%%   \noexpand \TE at negatefalse \noexpand \fi}%
-%% \let\TE at endeval\pdfx at endeval
- \ifluatex\else\ifxetex\else
-  \inputencoding{8bit}%
- \fi\fi
- \makeatletter
- \def\cf at encoding{L8U}\fontencoding{L8U}%
- \providecommand{\ifnot at empty}[2]{\ifx#1\@empty\relax\else#2\fi}%
- \pdfx at xmpmarkup
-\expandafter\global\expandafter
-  \let\csname L8U-cmd\expandafter\endcsname\csname U-cmd\endcsname
- \def\cf at encoding{L8U}\fontencoding{L8U}%
- \providecommand{\ifnot at empty}[2]{\ifx#1\@empty\relax\else#2\fi}%
- \obeyspaces%
-%% beware 128 space characters -- for padding end of XMP packet
- \gdef\paddingline{                                                                                                                                }%
- \typeout{Using XMP template file: \xmp at template.xmp}%
- \includexmp{\xmp at template}%
-\endgroup
-
-%%
-%% revert active characters to previous encoding
-%%
-\ifpdf at activechars
- \global\let ^^c0\pdfx at save@co
- \global\let ^^c1\pdfx at save@ci
- \global\let ^^c2\pdfx at save@cii
- \global\let ^^c3\pdfx at save@ciii
- \global\let ^^c4\pdfx at save@civ
- \global\let ^^c5\pdfx at save@cv
- \global\let ^^c6\pdfx at save@cvi
- \global\let ^^c7\pdfx at save@cvii
- \global\let ^^c8\pdfx at save@cviii
- \global\let ^^c9\pdfx at save@cix
- \global\let ^^ca\pdfx at save@ca
- \global\let ^^cb\pdfx at save@cb
- \global\let ^^cc\pdfx at save@cc
- \global\let ^^cd\pdfx at save@cd
- \global\let ^^ce\pdfx at save@ce
- \global\let ^^cf\pdfx at save@cf
- \global\let ^^d0\pdfx at save@do
- \global\let ^^d1\pdfx at save@di
- \global\let ^^d2\pdfx at save@dii
- \global\let ^^d3\pdfx at save@diii
- \global\let ^^d4\pdfx at save@div
- \global\let ^^d5\pdfx at save@dv
- \global\let ^^d6\pdfx at save@dvi
- \global\let ^^d7\pdfx at save@dvii
- \global\let ^^d8\pdfx at save@dviii
- \global\let ^^d9\pdfx at save@dix
- \global\let ^^da\pdfx at save@da
- \global\let ^^db\pdfx at save@db
- \global\let ^^dc\pdfx at save@dc
- \global\let ^^dd\pdfx at save@dd
- \global\let ^^de\pdfx at save@de
- \global\let ^^df\pdfx at save@df
- \global\let ^^e0\pdfx at save@eo
- \global\let ^^e1\pdfx at save@ei
- \global\let ^^e2\pdfx at save@eii
- \global\let ^^e3\pdfx at save@eiii
- \global\let ^^e4\pdfx at save@eiv
- \global\let ^^e5\pdfx at save@ev
- \global\let ^^e6\pdfx at save@evi
- \global\let ^^e7\pdfx at save@evii
- \global\let ^^e8\pdfx at save@eviii
- \global\let ^^e9\pdfx at save@eix
- \global\let ^^ea\pdfx at save@ea
- \global\let ^^eb\pdfx at save@eb
- \global\let ^^ec\pdfx at save@ec
- \global\let ^^ed\pdfx at save@ed
- \global\let ^^ee\pdfx at save@ee
- \global\let ^^ef\pdfx at save@ef
- \global\let ^^f0\pdfx at save@fo
- \global\let ^^f1\pdfx at save@fi
- \global\let ^^f2\pdfx at save@fii
- \global\let ^^f3\pdfx at save@fiii
-\fi
-
-\endgroup
-
-%%
-%% controls the color model and conversions with  xcolor  package
-%%
-\ifpdfx at cmyk
- %
- % this will have been done already for PDF/X
- %
- \PassOptionsToPackage{xcolor}{cmyk,hyperref}
- \def\pdfx at handlexcolor{\def\@@mod{cmyk}\selectcolormodel{cmyk}%
-   \convertcolorsUtrue\convertcolorsDtrue}
- \ifpdfx at x
- \else
-%%  \AtBeginDocument{%
-%%   \def\@linkcolor{0 1 1 0}%
-%%   \def\@anchorcolor{0 0 0 1}%
-%%   \def\@citecolor{1 0 1 0}%
-%%   \def\@filecolor{.5 0 0 .5}%
-%%   \def\@urlcolor{0 1 0 0}%
-%%   \def\@menucolor{0 1 1 0}%
-%%   \def\@runcolor{.5 0 0 .5}%
-%%   \def\@linkbordercolor{0 1 1 0}%
-%%   \def\@citebordercolor{1 0 1 0}%
-%%   \def\@filebordercolor{.5 0 0 .5}%
-%%   \def\@urlbordercolor{1 0 0 0}%
-%%   \def\@menubordercolor{0 1 1 0}%
-%%   \def\@runbordercolor{.7 0 0 .3}%
-%%   \def\Fld at bcolor{0 0 0 0}%
-%%   \def\Fld at bordercolor{0 1 1 0}%
-%%  }
- \fi
-\else
- \PassOptionsToPackage{xcolor}{rgb,hyperref}
- \def\pdfx at handlexcolor{\def\@@mod{rgb}\selectcolormodel{rgb}%
-   \convertcolorsUtrue\convertcolorsDtrue}
-\fi
-\@ifpackageloaded{xcolor}{\pdfx at handlexcolor
- \ifpdfx at cmyk\else\color{black}\fi}{%
- \AtBeginDocument{\@ifpackageloaded{xcolor}{\pdfx at handlexcolor}{}}
-}
-
-%%----------------------------------------------------------------------
-%%  Disable some actions in Beamer navigation
-\@ifclassloaded{beamer}{%
- \let\real at insertslidenavigationsymbol
-   \insertslidenavigationsymbol
- \let\real at insertbackfindforwardnavigationsymbol
-   \insertbackfindforwardnavigationsymbol
- \def\pdfx at insertslidenavigationsymbol{{%
-  \let\Acrobatmenu\pdfx at Acrobatmenu@noaction
-  \real at insertslidenavigationsymbol
- }}%
- \def\pdfx at insertbackfindforwardnavigationsymbol{{%
-  \let\Acrobatmenu\pdfx at Acrobatmenu@noaction
-  \real at insertbackfindforwardnavigationsymbol
- }}%
- \AtBeginDocument{%
-  \ifHy at pdfa
-   \let\insertslidenavigationsymbol
-     \pdfx at insertslidenavigationsymbol
-   \let\insertbackfindforwardnavigationsymbol
-     \pdfx at insertbackfindforwardnavigationsymbol
-  \fi}%
-}{}
-
-%%----------------------------------------------------------------------
-\ifpdfx at transliterated
-%% support for bookmarks with transliterated input
- \RequirePackage{stringenc}
- \ifxetex\let\pdf at escapehex\empty\fi  % don't need it
- \expandafter\ifx\csname pdf at escapehex\endcsname\relax
-  \PackageWarning{pdfx}{%
-   Missing an implementation of \string\pdf at escapehex ^^J
-   Translated Bookmarks cannot be generated.^^J}%
-  \newcommand{\pdfxBookmark}[4][]{#2[#1]{#4}}%
- \else
-  \def\pdfx at GeneratePdfString#1#2{%
-   % converts a UTF-8 string to UTF-16be
-   \StringEncodingConvert{#1}{#2}{utf8}{utf16be}%
-   \edef#1{\string\376\string\377\pdfescapestring{#1}}%
-  }
-  \newtoks\pdfx at DisabledCommands
-  \def\pdfxDisableCommands#1{%
-  \expandafter\pdfx at DisabledCommands
-   \expandafter{\the\pdfx at DisabledCommands#1}}
-  \pdfxDisableCommands{%
-   \def\80{}%    else   \000\( --> \000\80\050   \000\000\050
-   \aftergroup\let\aftergroup\HyPsd at ConvertToUnicode\aftergroup\@gobble}
-  \let\Hy@@writetorep\@@writetorep
-  \def\pdfx@@writetorep#1#2#3#4#5{%
-   \begingroup
-    \pdfx at xmpunimarkup
-    \pdfx at prebookmark
-    \edef\pdfstringdefPreHook{%\pdfstringdefPreHook
-     \the\pdfx at DisabledCommands}%
-    \Hy@@writetorep{#1}{#2}{#3}{#4}{#5}%
-   \endgroup
-  }
-  \newcommand{\pdfxBookmark}[4][]{%
-   \ifx\relax#3\relax
-    \PackageError{pdfx}{Unknown macro \string#3.
-      A proper bookmark cannot be created}%
-     {Proceed to process the \string#1 as usual.}%
-    #2{#4}%
-   \else
-    \ifluatex  % use the utf8 directly
-     \let\pdfx at temp#3\relax
-     \def\pdfx at prebookmark{%
-      \pdfx at DisabledCommands{}%
-      \let#3\pdfx at temp
-     }%
-    \else\ifxetex  % use the utf8 directly
-     \let\pdfx at temp#3\relax
-     \def\pdfx at prebookmark{%
-      \pdfx at DisabledCommands{}%
-      \let#3\pdfx at temp
-     }%
-    \else
-     % convert the utf8 to utf16be
-     \pdfxBookmarkString\pdfx at temp{#3}%
-    \fi\fi
-    \let\@@writetorep\pdfx@@writetorep
-    \ifx\empty#1\empty
-     \def#3{#4}%
-     #2{#3}%
-    \else
-     \def#3{#1}%
-     #2[#3]{#4}%
-    \fi
-    \let\@@writetorep\Hy@@writetorep
-   \fi
-   \ignorespaces
-  }
-%%  use as:  \pdfxBookmark{\section}{\sectAtitle}{...}
-%%  use as:  \pdfxBookmark[<opt-title>]{\section}{\sectAtitle}{...}
-%%  only needed by pdfTeX --- Lua-/XeTeX use the utf8 directly
-  \def\pdfxBookmarkString#1#2{%
-   \pdfx at GeneratePdfString#1{#2}%
-   \def\pdfx at prebookmark{%
-    \pdfxDisableCommands{\let#2#1}%
-   }%
-  }
-%% use as:  \pdfxBookmarkString\PdfSectA\sectAtitle
-%%  where \sectAtitle has been defined by e.g.
-%%  \pdfxEnableCommands{\xdef\sectAtitle{\textLGR{...}}}
-
- \fi % end of \ifx\pdf at escapehex\relax
-\fi % end of \ifpdfx at transliterated
-
-%%----------------------------------------------------------------------
-
-%% disable hyperref options,
-%%   to prevent changes that will cause an incompatibility
- \Hy at DisableOption{pdfauthor}%
- \Hy at DisableOption{pdftitle}%
- \Hy at DisableOption{pdfsubject}%
- \Hy at DisableOption{pdfcreator}%
- \Hy at DisableOption{pdfcreationdate}%
- \Hy at DisableOption{pdfmoddate}%
- \Hy at DisableOption{pdfproducer}%
- \Hy at DisableOption{pdfkeywords}%
-%% once set correctly, don't let this change
- \Hy at DisableOption{pdfa}\let\Hy at pdfafalse\relax\let\Hy at pdfatrue\relax
-\endinput
-%%
-%% End of file `pdfx.sty'.

Modified: trunk/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/pdfx/pdfx.xmpdata
===================================================================
--- trunk/Master/texmf-dist/doc/latex/pdfx/pdfx.xmpdata	2019-03-11 16:27:36 UTC (rev 50337)
+++ trunk/Master/texmf-dist/doc/latex/pdfx/pdfx.xmpdata	2019-03-11 22:01:25 UTC (rev 50338)
@@ -1,24 +1,33 @@
 \Title{Generation of PDF/X- and PDF/A-compliant PDFs with pdfTeX \textemdash\ pdfx.sty}
 \Author{\CVR\sep \Thanh\sep Ross Moore\sep Peter Selinger}
 \Subject{This package supports generation of PDF/X-, PDF/A- and PDF/E-compliant documents, in most of their variants, using pdfLaTeX, LuaLaTeX and XeLaTeX.}
-\Keywords{PDF/X-, PDF/A- and PDF/E-compliance\sep Multilingual Metadata\sep installation\sep \TeX Live \lastyear}
+\Keywords{PDF/X-, PDF/A- and PDF/E-compliance\sep Multilingual Metadata\sep installation\sep \TeX Live \thisyear}
 \PublicationType{manual}
 \Contributor{Norbert Preining: 'colorprofiles' package}
 \Copyright{Public domain.}
 \Copyrighted{False}
 \CopyrightURL{http://tug.org/texlive/}
-\CoverDisplayDate{November \thisyear}
-\CoverDate{\thisyear-11-29}
-\CreatorTool{pdfTeX + pdfx.sty with option \pdfxopt, from TeX Live \lastyear}
-\Date{2017-05-18\sep 2017-06-23\sep 2018-11-29}
+\CoverDisplayDate{March \thisyear}
+\CoverDate{\thisyear-03-10}
+\CreatorTool{LaTeX + pdfx.sty with option \pdfxopt, from TeX Live \thisyear}
+\Date{2017-05-18\sep 2017-06-23\sep 2018-11-29\sep 2018-12-22\sep 2019-02-08\sep 2019-03-10}
 \Advisory{An earlier version of this documentation was published as: TUGboat 36, No.2, pp.136\textendash 142 (2015)}
 \Advisory{v1.6: Added XMP support for PDF/UA-1. Added more Metadata fields and Language support.}
 \Advisory{v1.6: Default RGB and CMYK profiles now require the  colorprofiles.sty  package.}
 \Relation{Requires the  colorprofiles  package for RGB and CMYK default profiles.}
 \Advisory{v1.6: Access more profiles, incl. to  pdfaPilot's color profile folders.}
-\Advisory{v1.6: Revised  glyphtounicode.sty  to use variation selectors, altered maps to PUA codepoints; added more glyphs via glyphtounicode-ntx.tex }
+\Advisory{v1.6: Revised  glyphtounicode.sty  to use variation selectors.}
+\Advisory{v1.6: altered maps to PUA codepoints.}
+\Advisory{v1.6: added more glyphs via glyphtounicode-ntx.tex }
 \Advisory{v1.6: Support for 8-bit Hebrew encodings, some Arabic and Devanagari.}
 \Advisory{v1.6: Updated documentation, incl. for LaTeX changes.}
+\Advisory{v1.6.1: Fixed issue with ifthen package; improved Metadata with LuaTeX and XeTeX.}
+\Advisory{v.1.6.1: Flexibility with page boxes for PDF/X.}
+\Advisory{v.1.6.2: Fixed passing of options to xcolor, and some glyphtounicode values.}
+\Advisory{v.1.6.2: Fixed encoding issue. Extra warning when colorprofiles.tex is missing.}
+\Advisory{v.1.6.3: Properly fixed encoding issue; supports \string\pdfomitcharset\  primitive.}
+\Advisory{v.1.6.3: Reference to veraPDF validation software; additions to glyphtounicode-ntx.tex.}
+\Advisory{v.1.6.3: Patched \string\mathaccentV\ to output accents after the base character.}
 \pdfxEnableCommands{%
  \def\CVR{C.V. Radhakrishnan}\def\Thanh{H\`an Th\eee Thanh}%
  \def\eee{^^c3^^aa^^cc^^81 }}

Modified: trunk/Master/texmf-dist/source/latex/pdfx/Makefile.src
===================================================================
--- trunk/Master/texmf-dist/source/latex/pdfx/Makefile.src	2019-03-11 16:27:36 UTC (rev 50337)
+++ trunk/Master/texmf-dist/source/latex/pdfx/Makefile.src	2019-03-11 22:01:25 UTC (rev 50338)
@@ -17,7 +17,7 @@
 #	sed 's/BOOKMARK/fxmark/g;' tmp.out > x.out; mv x.out tmp.out ;
 
 pdf:
-	pdflatex $(file).dtx 
+	pdflatex -recorder $(file).dtx 
 
 index:
 	makeindex -s gind.ist -o $(file).ind $(file).idx 

Modified: trunk/Master/texmf-dist/source/latex/pdfx/pdfx.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/pdfx/pdfx.dtx	2019-03-11 16:27:36 UTC (rev 50337)
+++ trunk/Master/texmf-dist/source/latex/pdfx/pdfx.dtx	2019-03-11 22:01:25 UTC (rev 50338)
@@ -2,7 +2,7 @@
 %                                                                
 %  File: pdfx.dtx
 %
-%  Copyright (c) 2018, CV Radhakrishnan <cvr at river-valley.org>,
+%  Copyright (c) 2019, CV Radhakrishnan <cvr at river-valley.org>,
 %    Han The Thanh <thanh at river-valley.org>,
 %    Ross Moore <ross.moore at mq.edu.au>,
 %    Peter Selinger <selinger at mathstat.dal.ca>
@@ -19,7 +19,7 @@
 %
 % \fi
 %
-% \CheckSum{6202}
+% \CheckSum{6309}
 % \iffalse
 %
 %<*driver>
@@ -26,31 +26,38 @@
 \pdfcompresslevel 9
 \providecommand{\pdfxopt}{a-2u}
 \providecommand{\lastyear}{2018}
-\providecommand{\thisyear}{2018}
+\providecommand{\thisyear}{2019}
 \begin{filecontents*}{./\jobname.xmpdata}
 \Title{Generation of PDF/X- and PDF/A-compliant PDFs with pdfTeX \textemdash\ pdfx.sty}
 \Author{\CVR\sep \Thanh\sep Ross Moore\sep Peter Selinger}
 \Subject{This package supports generation of PDF/X-, PDF/A- and PDF/E-compliant documents, in most of their variants, using pdfLaTeX, LuaLaTeX and XeLaTeX.}
-\Keywords{PDF/X-, PDF/A- and PDF/E-compliance\sep Multilingual Metadata\sep installation\sep \TeX Live \lastyear}
+\Keywords{PDF/X-, PDF/A- and PDF/E-compliance\sep Multilingual Metadata\sep installation\sep \TeX Live \thisyear}
 \PublicationType{manual}
 \Contributor{Norbert Preining: 'colorprofiles' package}
 \Copyright{Public domain.}
 \Copyrighted{False}
 \CopyrightURL{http://tug.org/texlive/}
-\CoverDisplayDate{November \thisyear}
-\CoverDate{\thisyear-12-22}
-\CreatorTool{LaTeX + pdfx.sty with option \pdfxopt, from TeX Live \lastyear}
-\Date{2017-05-18\sep 2017-06-23\sep 2018-11-29\sep 2018-12-22}
+\CoverDisplayDate{March \thisyear}
+\CoverDate{\thisyear-03-10}
+\CreatorTool{LaTeX + pdfx.sty with option \pdfxopt, from TeX Live \thisyear}
+\Date{2017-05-18\sep 2017-06-23\sep 2018-11-29\sep 2018-12-22\sep 2019-02-08\sep 2019-03-10}
 \Advisory{An earlier version of this documentation was published as: TUGboat 36, No.2, pp.136\textendash 142 (2015)}
 \Advisory{v1.6: Added XMP support for PDF/UA-1. Added more Metadata fields and Language support.}
 \Advisory{v1.6: Default RGB and CMYK profiles now require the  colorprofiles.sty  package.}
 \Relation{Requires the  colorprofiles  package for RGB and CMYK default profiles.}
 \Advisory{v1.6: Access more profiles, incl. to  pdfaPilot's color profile folders.}
-\Advisory{v1.6: Revised  glyphtounicode.sty  to use variation selectors, altered maps to PUA codepoints; added more glyphs via glyphtounicode-ntx.tex }
+\Advisory{v1.6: Revised  glyphtounicode.sty  to use variation selectors.}
+\Advisory{v1.6: altered maps to PUA codepoints.}
+\Advisory{v1.6: added more glyphs via glyphtounicode-ntx.tex }
 \Advisory{v1.6: Support for 8-bit Hebrew encodings, some Arabic and Devanagari.}
 \Advisory{v1.6: Updated documentation, incl. for LaTeX changes.}
 \Advisory{v1.6.1: Fixed issue with ifthen package; improved Metadata with LuaTeX and XeTeX.}
 \Advisory{v.1.6.1: Flexibility with page boxes for PDF/X.}
+\Advisory{v.1.6.2: Fixed passing of options to xcolor, and some glyphtounicode values.}
+\Advisory{v.1.6.2: Fixed encoding issue. Extra warning when colorprofiles.tex is missing.}
+\Advisory{v.1.6.3: Properly fixed encoding issue; supports \string\pdfomitcharset\  primitive.}
+\Advisory{v.1.6.3: Reference to veraPDF validation software; additions to glyphtounicode-ntx.tex.}
+\Advisory{v.1.6.3: Patched \string\mathaccentV\ to output accents after the base character.}
 \pdfxEnableCommands{%
  \def\CVR{C.V. Radhakrishnan}\def\Thanh{H\`an Th\eee Thanh}%
  \def\eee{^^c3^^aa^^cc^^81 }}
@@ -64,6 +71,7 @@
 \input text89.def
 \usepackage[T1]{fontenc}
 \hypersetup{citecolor=blue}
+\pdfstringdefDisableCommands{\def\thinspace{}}
 \newcommand{\fixmd}{${}^{\mathrm f}$}
 \newcommand{\starmd}{${}^{\ast}$}
 \EnableCrossrefs
@@ -126,8 +134,7 @@
 % \DoNotIndex{\scantokens,\typeout,\vrule,\wd}
 %
 % \changes{v1.00}{2008/12/01}{Initial commit to the CVS.}
-% \changes{v1.01}{2008/12/10}{glyphtounicode-cmr.tex included with the
-%   package.}
+% \changes{v1.01}{2008/12/10}{glyphtounicode-cmr.tex included with the package.}
 % \changes{v1.3}{2008/12/01}{Fix copyright in xmp files.}
 % \changes{v1.5.4}{2015/02/28}{Fixed timezone bug; Unicode support; more
 %   PDF variants; added color profiles.}
@@ -166,10 +173,13 @@
 % Updated documentation, incl. for LaTeX changes.
 %  }%
 % \changes{v1.6.1}{2018/12/22}{Fixed issue with ifthen package;
-%  improved Metadata with LuaTeX and XeTeX. Flexibility with page boxes for PDF/X.}
+%  improved Metadata with LuaTeX and XeTeX. Flexibility with page boxes for PDF/X.}%
+% \changes{v1.6.2}{2019/01/04}{Fixed passing of options to xcolor, and some glyphtounicode values.}%
+% \changes{v1.6.3}{2019/02/27}{Fixed encoding issues; support for new  pdfomitcharset  primitive;
+%   reference to veraPDF validation software; additions to glyphtounicode-ntx.tex.}%
 % \title{Generation of PDF/X- and PDF/A-\penalty-200 compliant PDFs with \pdftex --- \texttt{pdfx.sty}}
-% \date{2018/12/22}
-% \version{1.6.1}
+% \date{2019/02/27}
+% \version{1.6.3}
 % \keywords{PDF, PDF/A, PDF/X, pdf\TeX, \LaTeX, Multilingual Metadata}
 % \author{C.\,V.\,Radhakrishnan, \Thanh, Ross Moore {\upshape\small
 % and} Peter Selinger}
@@ -431,7 +441,13 @@
 % applicable standard.\\This may produce a non-standard-conforming PDF file.
 % \item |pdf17|: use PDF 1.7, overriding the version specified by the
 % applicable standard.\\This may produce a non-standard-conforming PDF file.
+% \item |nocharset|: do not generate the Charset entry for fonts (\pdftex\ only).
+% \item |usecharset|: generate the Charset entry for fonts (\pdftex\ only).
 % \end{itemize} 
+% The latter two options affect the value of the |\pdfomitcharset| primitive,
+% added to \pdftex\ in 2019, due to differing requirements for PDF/A-1
+% and other PDF/A versions. Indeed use of the |/Charset| entry for a font
+% is deprecated entirely for PDF 2.0~\cite{PDF20} and later.
 %
 % \subsubsection{XMP language options}\label{ssec-xmplang}
 %
@@ -551,6 +567,8 @@
 % This file is the complete XMP Metadata packet. 
 % It can be checked for validity, using an online validator,  such as at 
 % \href{http://www.pdflib.com/knowledge-base/xmp-metadata/free-xmp-validator/}{www.pdflib.com}.
+% \textsf{veraPDF}~\cite{veraPDF} is Open Source software providing validation for PDF/A, 
+% and other checkers useful in a PDF/A production setting.
 % 
 % \textbf{Warning}: The |\jobname.xmpdata| file may be included in the
 % main document source, within a |{filecontents*}| environment, 
@@ -2174,10 +2192,10 @@
 % to allow macro usage within the metadata. 
 % Suggestions for such additions should be sent to the |pdfx| package authors, along
 % with example documents. Similarly support for more languages can be requested.
-% 
+%
 % \subsection[Nested Parsing\,\textemdash\,Mathematics in Metadata]%
 %  {Nested Parsing\,\textemdash\,Mathematics in Metadata}\label{ssec-math}
-% 
+%
 % Macro commands for many mathematical symbols can be used directly in metadata without extra
 % support; e.g., basic arithmetic operations, letter-like symbols, spacing commands.
 % Super- and subscripted letters and numerals can use |\textsuperscript| and |\textsubscript|
@@ -2367,8 +2385,8 @@
 % \end{itemize}
 %
 %
-% \clearpage
-% \section[Bibliography]{Bibliography}
+% \section[Bibliography]{Bibliography}%
+% {\let\newpage\relax
 % \begin{thebibliography}{999}
 %
 % \bibitem{PDF17}Adobe Systems Inc.;
@@ -2514,6 +2532,7 @@
 % \texttt{colorprofiles} \textemdash\ Collection of free ICC profiles.
 %  \TeX\ and \LaTeX\ package (by R.\,Moore), distributed with \TeX{}Live. (November 2018)\\
 %  \url{https://ctan.org/pkg/colorprofiles}.
+%
 % \bibitem{PRISM}PRISM; Publishing Requirements for Industry Standard Metadata. 
 %  PRISM Metadata Initiative; Idealliance Working Group.
 % \url{http://www.idealliance.org/specifications/prism-metadata-initiative/prism}
@@ -2522,6 +2541,11 @@
 % Generation of PDF/X- and PDF/A-compliant PDFs with \pdftex --- \texttt{pdfx.sty}.
 % TUGboat Vol.\,36, No.\,2; TUG 2015 Conference Proceedings. \TeX\ Users Group, 2015; pp.\,136--142.
 %
+% \bibitem{veraPDF} veraPDF. Industry Supported PDF/A Validation. 
+% Software, dual-licensed under the GNU General Public License v3 or later (GPLv3+) 
+% and Mozilla Public License v2 or later (MPLv2+). \url{https://verapdf.org}.
+% Wiki: \url{https://github.com/veraPDF/veraPDF-validation-profiles/wiki}
+%
 % \bibitem{RDF} World Wide Web Consortium (W3C); 
 % Resource Description Format: RDF 1.1 XML Syntax. W3C Recommendation. (February 2014)
 % \url{https://www.w3.org/TR/rdf-syntax-grammar/}.
@@ -2534,7 +2558,7 @@
 % PDF/X: \url{https://en.wikipedia.org/wiki/PDF/X}
 %
 % \end{thebibliography}
-% \goodbreak
+% }\goodbreak
 % \section[Implementation]{Implementation}
 % 
 % \iffalse
@@ -2551,7 +2575,7 @@
 }{}%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{pdfx}
-  [2018/12/22 v1.6.1 PDF/X and PDF/A support (CVR/HTH/RRM/PS)]
+  [2019/02/27 v1.6.3 PDF/X and PDF/A support (CVR/HTH/RRM/PS)]
 
 \newif\ifpdfx at noBOM \pdfx at noBOMfalse   % use a BOM in the XMP packet
 \newif\ifpdfx at x \pdfx at xfalse   % PDF/X mode
@@ -2560,6 +2584,7 @@
 \newif\ifpdfx at vt \pdfx at vtfalse   % PDF/VT mode, extension of  PDF/X
 \newif\ifno at iccprofile   % used with PDF/X-4p and PDF/X-5pg
 \newif\ifpdfx at noerr   % error messages become just warnings
+\newif\ifpdfx at omitcharset % used with  pdfomitcharset  primitive
 
 \DeclareOption{noerr}{\pdfx at noerrtrue}
 
@@ -2587,25 +2612,37 @@
    {, else continue to build a non-valid document}%
 }
 
+%%  support  pdfomitcharset  primitive, added to pdfTeX in 2019
+\DeclareOption{nocharset}{\pdfx at omitcharsettrue}
+\DeclareOption{usecharset}{\pdfx at omitcharsetfalse}
+
 %% PDF/A options
 %%  default is to create  PDF/A-1b
 %%  options can change this for PDF/X or higher levels of PDF/A
 \DeclareOption{a-1a}{\global\pdfx at xfalse\def\xmp at Part{1}%
- \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2005}}
+ \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2005}%
+ \pdfx at omitcharsetfalse}
 \DeclareOption{a-1b}{\global\pdfx at xfalse\def\xmp at Part{1}%
- \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2005}}
+ \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2005}%
+ \pdfx at omitcharsetfalse}
 \DeclareOption{a-2a}{\global\pdfx at xfalse\def\xmp at Part{2}%
- \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2010}}
+ \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2010}%
+ \pdfx at omitcharsettrue}
 \DeclareOption{a-2b}{\global\pdfx at xfalse\def\xmp at Part{2}%
- \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2010}}
+ \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2010}%
+ \pdfx at omitcharsettrue}
 \DeclareOption{a-2u}{\global\pdfx at xfalse\def\xmp at Part{2}%
- \def\xmp at Conformance{U}\def\xmp at ReleaseDate{2010}}
+ \def\xmp at Conformance{U}\def\xmp at ReleaseDate{2010}%
+ \pdfx at omitcharsettrue}
 \DeclareOption{a-3a}{\global\pdfx at xfalse\def\xmp at Part{3}%
- \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2012}}
+ \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2012}%
+ \pdfx at omitcharsettrue}
 \DeclareOption{a-3b}{\global\pdfx at xfalse\def\xmp at Part{3}%
- \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2012}}
+ \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2012}%
+ \pdfx at omitcharsettrue}
 \DeclareOption{a-3u}{\global\pdfx at xfalse\def\xmp at Part{3}%
- \def\xmp at Conformance{U}\def\xmp at ReleaseDate{2012}}
+ \def\xmp at Conformance{U}\def\xmp at ReleaseDate{2012}%
+ \pdfx at omitcharsettrue}
 %%
 %% PDF/X options
 %% comments added, using
@@ -2865,6 +2902,16 @@
  \pdfresetpageorigin=0
 \fi
 
+\expandafter\ifx\csname pdfomitcharset\endcsname\relax\else
+ \ifpdfx at omitcharset
+  \pdfomitcharset = 1 %
+  %%  do not create /Charset listings of font glyphs;
+  %%  optional for PDF/A-2,3 and PDF 2.x
+ \else
+  \pdfomitcharset = 0 %
+  %%  create the /Charset listings of font glyphs, required with PDF/A-1
+ \fi
+\fi
 
 \newif\ifpdfx at nopdfinfo
 \ifmathxmp\pdfx at nopdfinfotrue
@@ -3054,17 +3101,21 @@
 \expandafter\ifx\csname inputencodingname\endcsname\relax
 \else
  \def\pdfx at restoreencoding#1{%
-  \@tempcnta=128
-  \loop
-   \catcode\@tempcnta=13
-   \advance\@tempcnta\@ne
-  \ifnum\@tempcnta<256
-  \repeat
+   \@tempcnta=128
+   \loop
+    \catcode\@tempcnta=13
+    \advance\@tempcnta\@ne
+   \ifnum\@tempcnta<256
+   \repeat
   \inputencoding{#1}%
+  \let\LastDeclaredEncoding\pdfx at LastDeclaredEncoding
+  \let\DeclareFontEncoding@\pdfx at DeclareFontEncoding@
+  \let\DeclareUnicodeCharacter\pdfx at DeclareUnicodeCharacter
   }%
   \AtEndOfPackage{\pdfx at restoreencoding\pdfx at inputencodingname}%
   \let\pdfx at inputencodingname\inputencodingname
-  \let\pdfx at DeclareUnicodeCharacter\DeclareUnicodeCharacter
+  \global\let\pdfx at DeclareUnicodeCharacter\DeclareUnicodeCharacter
+  \global\let\pdfx at DeclareFontEncoding@\DeclareFontEncoding@
   \UseRawInputEncoding
 \fi
 \InputIfFileExists{\pdfx at encodingfile}{}{}
@@ -3071,9 +3122,10 @@
 \expandafter\ifx\csname pdfx at inputencodingname\endcsname\relax
 \else
   \let\inputencodingname\pdfx at inputencodingname
-  \let\DeclareUnicodeCharacter\pdfx at DeclareUnicodeCharacter
-  \let\DeclareFontEncoding@\DeclareFontEncoding at saved
-  \inputencoding{\inputencodingname}%
+%%  \global\let\DeclareUnicodeCharacter\pdfx at DeclareUnicodeCharacter
+%%  \global\let\DeclareFontEncoding@\DeclareFontEncoding at saved
+  \global\let\pdfx at LastDeclaredEncoding\LastDeclaredEncoding
+  \expandafter\inputencoding\expandafter{\inputencodingname}%
 \fi
 
 %%----------------------------------------------------------------------
@@ -4188,7 +4240,13 @@
      }%
     \expandafter\pdfx at tryoldprofilesfalse
    \fi
-}{\pdfx at tryoldprofilestrue}
+}{%
+ \PackageWarning{pdfx}{%
+   The 'colorprofiles' package is not installed correctly.^^J
+   File  'colorprofiles.tex'  is missing. Proceeding without it.
+ }%
+ \pdfx at tryoldprofilestrue
+}
 
 {\catcode`\| 14 \catcode`\% 12 \catcode`\_ 12 \catcode`\: 12
  \catcode`\. 12 \catcode`\- 12 \catcode`\/ 12
@@ -4872,7 +4930,7 @@
   \expandafter\ifx\expandafter\relax\xmp at Subject\relax\else
    \pdfx at ConvertUTFtoBE{\pdfx at pdfSubject}{\xmp at Subject}%
   \fi
-\else %%  pdfx at nopdfinfotrue
+\else %%  pdfx at nopdfinfofalse
   \expandafter\ifx\expandafter\relax\xmp at Title\relax\else
    \ifluatex
     \pdfx at ConvertUTFtoBE\pdfx at pdfTitle\xmp at Title
@@ -4879,7 +4937,8 @@
    \else\ifxetex
     \pdfx at ConvertUTFtoBE\pdfx at pdfTitle\xmp at Title
    \else
-     \pdfx at GeneratePdfString\pdfx at pdfTitle\xmp at Title
+%%     \pdfx at GeneratePdfString\pdfx at pdfTitle\xmp at Title %  why does this fail ???
+    \pdfx at ConvertUTFtoBE{\pdfx at pdfTitle}{\xmp at Title}%  ???  RRM 2019-02-17
    \fi\fi
   \fi
   \expandafter\ifx\expandafter\relax\xmp at Subject\relax\else
@@ -4888,7 +4947,8 @@
    \else\ifxetex
     \pdfx at ConvertUTFtoBE\pdfx at pdfSubject\xmp at Subject
    \else
-    \pdfx at GeneratePdfString\pdfx at pdfSubject\xmp at Subject
+%%    \pdfx at GeneratePdfString\pdfx at pdfSubject\xmp at Subject %  why does this fail ???
+    \pdfx at ConvertUTFtoBE{\pdfx at pdfSubject}{\xmp at Subject}% 2019-02-17
    \fi\fi
   \fi
  \fi  % end of  \ifpdfx at nopdfinfo
@@ -4957,6 +5017,23 @@
  \egroup
  \spacefactor\accent at spacefactor
 }
+%% same for named accents in math-mode
+\def\pdfx at mathaccentV#1#2#3#4#5{%
+ #5{\mathsurround=\z@\relax
+  \everymath{}%
+  \mathchoice
+   {\setbox\z@\hbox{$\displaystyle #5$}\kern-\wd\z@}%
+   {\setbox\z@\hbox{$\textstyle #5$}\kern-\wd\z@}%
+   {\setbox\z@\hbox{$\scriptstyle #5$}\kern-\wd\z@}%
+   {\setbox\z@\hbox{$\scriptscriptstyle #5$}\kern-\wd\z@}%
+ }%
+ \AMS at mathaccentV{#1}{#2}{#3}{#4}{\phantom{#5}}%
+}
+\AtBeginDocument{%
+ \@ifpackageloaded{amsmath}{%
+  \let\AMS at mathaccentV\mathaccentV
+  \let\mathaccentV\pdfx at mathaccentV}%
+}%
 
 %% How to support XeTeX here ?
 %%%%%  adjust accent characters to the Unicode Combining variant  %%%%
@@ -5000,25 +5077,30 @@
  \pdfglyphtounicode{space_uni034D}{034D}%
 }
 
-\AtBeginDocument{%
+\def\pdfx at check@accents{%
  \ifx\add at accent\LTX at add@accent
   \let\add at accent\PDFX at add@accent
  \else
   \expandafter\ifx\csname MT at orig@add at accent\endcsname\relax
-  \TPDF at error{another package has already patched \string\add at accent }%
-  \else
+  \@ifpackageloaded{mmap}{}{%
+  \pdfx at ErrorWarning{another package has patched \string\add at accent }%
+   {Hit <return> to continue}{}{}}%
+   \else
    \expandafter\let\csname MT at orig@add at accent\endcsname\PDFX at add@accent
  \fi\fi
  \ifxetex
  \else
   \PDFX at combiningchars@unicode
-  \@ifpackageloaded{newtxmath}{%
-    \pdfglyphtounicode{vec}{20D7}%
-    \pdfglyphtounicode{rvec}{20D6}%
-    \pdfglyphtounicode{lrvec}{20E1}%
-   }{}%
+%%  this is now handled by  glyphtounicode-ntx.tex
+%%  \@ifpackageloaded{newtxmath}{%
+%%   \pdfglyphtounicode{vec}{20D7}%
+%%    \pdfglyphtounicode{rvec}{20D6}%
+%%    \pdfglyphtounicode{lrvec}{20E1}%
+%%   }{}%
   \fi %  end of   \ifxetex
+  \let\pdfx at check@accents\unDefiNeD
 }
+\AtBeginDocument{\pdfx at check@accents}
 
 %%  suppress hyperlinks when generating  PDF/X
 \def\pdfx at linkfile@pdfX#1#2#3{%
@@ -5384,7 +5466,7 @@
  %
  % this will have been done already for PDF/X
  %
- \PassOptionsToPackage{xcolor}{cmyk,hyperref}
+ \PassOptionsToPackage{cmyk,hyperref}{xcolor}
  \def\pdfx at handlexcolor{\def\@@mod{cmyk}\selectcolormodel{cmyk}%
    \convertcolorsUtrue\convertcolorsDtrue}
  \ifpdfx at x
@@ -5408,7 +5490,7 @@
 %%  }
  \fi
 \else
- \PassOptionsToPackage{xcolor}{rgb,hyperref}
+ \PassOptionsToPackage{rgb,hyperref}{xcolor}
  \def\pdfx at handlexcolor{\def\@@mod{rgb}\selectcolormodel{rgb}%
    \convertcolorsUtrue\convertcolorsDtrue}
 \fi
@@ -5546,6 +5628,7 @@
 %</package>
 % \fi
 % \Finale
-% \newpage\PrintIndex
+% \let\newpage\relax
+% \PrintIndex
 % \PrintChanges
 % \endinput

Modified: trunk/Master/texmf-dist/source/latex/pdfx/pdfx.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/pdfx/pdfx.ins	2019-03-11 16:27:36 UTC (rev 50337)
+++ trunk/Master/texmf-dist/source/latex/pdfx/pdfx.ins	2019-03-11 22:01:25 UTC (rev 50338)
@@ -4,7 +4,7 @@
 
 \preamble
                                                                
- Copyright (c) 2018, CV Radhakrishnan <cvr at river-valley.org>,
+ Copyright (c) 2019, CV Radhakrishnan <cvr at river-valley.org>,
    Han The Thanh <thanh at river-valley.org>,
    Ross Moore <ross.moore at mq.edu.au>,
    Peter Selinger <selinger at mathstat.dal.ca>
@@ -32,7 +32,7 @@
 \Msg{ *                                                           *}
 \Msg{ * To produce the documentation run the relevant file.dtx    *}
 \Msg{ * through pdfLaTeX or use the Makefile which is far         *} 
-\Msg{ * more easier.                                              *} 
+\Msg{ * more convenient.                                          *} 
 \Msg{ *                                                           *}
 \Msg{ * Happy TeXing!                                             *}
 \Msg{ *                                                           *}

Modified: trunk/Master/texmf-dist/tex/latex/pdfx/glyphtounicode-ntx.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pdfx/glyphtounicode-ntx.tex	2019-03-11 16:27:36 UTC (rev 50337)
+++ trunk/Master/texmf-dist/tex/latex/pdfx/glyphtounicode-ntx.tex	2019-03-11 22:01:25 UTC (rev 50338)
@@ -1,6 +1,9 @@
+%%
+%%   file:  glyphtounicode-ntx.tex
+%%    version 1.02     date:  2019-02-11
 %
 % Unicode mappings for ntx text/math glyph names
-% (c) 2018  Ross Moore   <ross.moore at mq.edu.au>
+% (c) 2018, 2019  Ross Moore   <ross.moore at mq.edu.au>
 %  
 % These should be loaded along with the files:
 %    glyphtounicode.tex
@@ -7,365 +10,410 @@
 %    glyphtounicode-cmr.tex
 %  when generating files to validate for  PDF/A  and/or Accessibiity (PDF/UA)
 %  using  newtxmath.sty   and/or  newtxtext.sty .
-
+%
 %% possible corrections - - depends upon usage ???
-\pdfglyphtounicode{slurabove}{2312}%   was  2322 'frown'
+\begingroup
+\let\p\pdfglyphtounicode
+\p{slurabove}{2312}%   was  2322 'frown'
 
 %% from TeXGyre fonts
-\pdfglyphtounicode{cwm}{200B}%  0-width space
-\pdfglyphtounicode{diameter}{2300}%
-\pdfglyphtounicode{anglearc}{2222}%
-\pdfglyphtounicode{ell}{2113}%
-\pdfglyphtounicode{dotbelow}{0323}%
-\pdfglyphtounicode{hookabove}{0309}%
+\p{cwm}{200B}%  0-width space
+\p{diameter}{2300}%
+\p{anglearc}{2222}%
+\p{ell}{2113}%
+\p{dotbelow}{0323}%
+\p{hookabove}{0309}%
 %% Private Use  characters
-\pdfglyphtounicode{threequartersemdash}{2014}%  was  F6DE
+\p{threequartersemdash}{2014}%  was  F6DE
 %% from txmia  (and also  txmbia )
-\pdfglyphtounicode{g1}{D835 DC54}% 0067
-\pdfglyphtounicode{y1}{D835 DC66}% 0079
-\pdfglyphtounicode{v1}{D835 DC63}% 0076
-\pdfglyphtounicode{w1}{D835 DC64}% 0077
-\pdfglyphtounicode{bbA}{D835 DD38}% 
-\pdfglyphtounicode{bbB}{D835 DD39}% 
-\pdfglyphtounicode{bbC}{2102}% *
-\pdfglyphtounicode{bbD}{D835 DD3B}% 
-\pdfglyphtounicode{bbE}{D835 DD3C}% 
-\pdfglyphtounicode{bbF}{D835 DD3D}% 
-\pdfglyphtounicode{bbG}{D835 DD3E}% 
-\pdfglyphtounicode{bbH}{210D}% *
-\pdfglyphtounicode{bbI}{D835 DD40}% 
-\pdfglyphtounicode{bbJ}{D835 DD41}% 
-\pdfglyphtounicode{bbK}{D835 DD42}% 
-\pdfglyphtounicode{bbL}{D835 DD43}% 
-\pdfglyphtounicode{bbM}{D835 DD44}% 
-\pdfglyphtounicode{bbN}{2115}% * 
-\pdfglyphtounicode{bbO}{D835 DD46}% 
-\pdfglyphtounicode{bbP}{2119}% 
-\pdfglyphtounicode{bbQ}{211A}% *
-\pdfglyphtounicode{bbR}{211D}% *
-\pdfglyphtounicode{bbS}{D835 DD4A}% 
-\pdfglyphtounicode{bbT}{D835 DD4B}% 
-\pdfglyphtounicode{bbU}{D835 DD4C}% 
-\pdfglyphtounicode{bbV}{D835 DD4D}% 
-\pdfglyphtounicode{bbW}{D835 DD4E}% 
-\pdfglyphtounicode{bbX}{D835 DD4F}% 
-\pdfglyphtounicode{bbY}{D835 DD50}% 
-\pdfglyphtounicode{bbZ}{2124}%  * 
-\pdfglyphtounicode{bbk}{D835 DD5C}% 
+\p{g1}{D835 DC54}% 0067
+\p{y1}{D835 DC66}% 0079
+\p{v1}{D835 DC63}% 0076
+\p{w1}{D835 DC64}% 0077
+\p{bbA}{D835 DD38}% 
+\p{bbB}{D835 DD39}% 
+\p{bbC}{2102}% *
+\p{bbD}{D835 DD3B}% 
+\p{bbE}{D835 DD3C}% 
+\p{bbF}{D835 DD3D}% 
+\p{bbG}{D835 DD3E}% 
+\p{bbH}{210D}% *
+\p{bbI}{D835 DD40}% 
+\p{bbJ}{D835 DD41}% 
+\p{bbK}{D835 DD42}% 
+\p{bbL}{D835 DD43}% 
+\p{bbM}{D835 DD44}% 
+\p{bbN}{2115}% * 
+\p{bbO}{D835 DD46}% 
+\p{bbP}{2119}% 
+\p{bbQ}{211A}% *
+\p{bbR}{211D}% *
+\p{bbS}{D835 DD4A}% 
+\p{bbT}{D835 DD4B}% 
+\p{bbU}{D835 DD4C}% 
+\p{bbV}{D835 DD4D}% 
+\p{bbW}{D835 DD4E}% 
+\p{bbX}{D835 DD4F}% 
+\p{bbY}{D835 DD50}% 
+\p{bbZ}{2124}%  * 
+\p{bbk}{D835 DD5C}% 
 %% from txsyc  (and also  txbsyc)
-\pdfglyphtounicode{nequal}{2260}
-\pdfglyphtounicode{npropersubset}{2284}
-\pdfglyphtounicode{npropersuperset}{2285}
-\pdfglyphtounicode{nelement}{2209}
-\pdfglyphtounicode{nowner}{220C}
-\pdfglyphtounicode{colonequal}{2254}
-\pdfglyphtounicode{equalcolon}{2255}
+\p{nequal}{2260}
+\p{npropersubset}{2284}
+\p{npropersuperset}{2285}
+\p{nelement}{2209}
+\p{nowner}{220C}
+\p{colonequal}{2254}
+\p{equalcolon}{2255}
 %% from txbsya
-\pdfglyphtounicode{squaresmallsolid}{25A0}
-\pdfglyphtounicode{axisshort}{2027}% hyphenation point
-\pdfglyphtounicode{arrowaxisright}{27A1}% Dingbat
-\pdfglyphtounicode{arrowaxisleft}{2B05}% black arrow
+\p{squaresmallsolid}{25A0}
+\p{axisshort}{2027}% hyphenation point
+\p{arrowaxisright}{27A1}% Dingbat
+\p{arrowaxisleft}{2B05}% black arrow
 %% from txbsyb
-\pdfglyphtounicode{lessornotsimilar}{22E6}
-\pdfglyphtounicode{greaterornotsimilar}{22E7}
-\pdfglyphtounicode{notsimequal}{2247}
-\pdfglyphtounicode{subsetornoteql}{2ACB}
-\pdfglyphtounicode{supersetornoteql}{2ACC}
-\pdfglyphtounicode{notshortbar}{2016 0337}
-\pdfglyphtounicode{notshortparallel}{2AF2}%  ?
-\pdfglyphtounicode{barshort}{2758}% ?
-\pdfglyphtounicode{parallelshort}{2016}% ?
+\p{lessornotsimilar}{22E6}
+\p{greaterornotsimilar}{22E7}
+\p{notsimequal}{2247}
+\p{subsetornoteql}{2ACB}
+\p{supersetornoteql}{2ACC}
+\p{notshortbar}{2016 0337}
+\p{notshortparallel}{2AF2}%  ?
+\p{barshort}{2758}% ?
+\p{parallelshort}{2016}% ?
 %% from  txsyc  and  txbsyc 
-\pdfglyphtounicode{mapsfrom}{2ADE}% turnstile ?
-\pdfglyphtounicode{Mapsto}{27FE}% double arrow
-\pdfglyphtounicode{Mapsfrom}{2AE4}% turnstile ?
-\pdfglyphtounicode{mmapsto}{2AE6}% turnstile ?
-\pdfglyphtounicode{mmapsfrom}{2AE3}% turnstile  ?
-\pdfglyphtounicode{Mmapsto}{255E}% turnstile ?
-\pdfglyphtounicode{Mmapsfrom}{2AE5}% turnstile ?
-\pdfglyphtounicode{medcircle}{25CB}
-\pdfglyphtounicode{medbullet}{25CF}
-\pdfglyphtounicode{parallel1}{2225}
-\pdfglyphtounicode{nparallel}{2226}
-\pdfglyphtounicode{nparallel1}{2226 FE01}
-\pdfglyphtounicode{colonapprox}{003A 2248}
-\pdfglyphtounicode{colonsim}{003A 223C}
-\pdfglyphtounicode{coloncolonapprox}{003A 2248}
-\pdfglyphtounicode{coloncolonsim}{003A 003A 223C}
-\pdfglyphtounicode{doteq}{2250}
-\pdfglyphtounicode{multimapinv}{27DC}
-\pdfglyphtounicode{multimapboth}{29DF}
-\pdfglyphtounicode{solidmultimap}{22B8 FE01}
-\pdfglyphtounicode{solidmultimapinv}{27DC FE01}
-\pdfglyphtounicode{solidmultimapboth}{29DF FE01}
-\pdfglyphtounicode{rsolidmultimapboth}{22B6}
-\pdfglyphtounicode{lsolidmultimapboth}{22B7}
-\pdfglyphtounicode{forcesextra}{22AB}% turnstile ?
-\pdfglyphtounicode{Forcesbar}{22AA}%  turnstile ???
-\pdfglyphtounicode{simequal}{2245}
-\pdfglyphtounicode{precedesordblequal}{2AB3}
-\pdfglyphtounicode{followsordblequal}{2AB4}
-\pdfglyphtounicode{notprecedesorsimilar}{22E0}
-\pdfglyphtounicode{notfollowsorsimilar}{22E1}
-\pdfglyphtounicode{notlessorsimilar}{2274}
-\pdfglyphtounicode{notgreaterorsimilar}{2275}
-\pdfglyphtounicode{notlessorapproxeql}{2A85 0338}
-\pdfglyphtounicode{notgreaterorapproxeql}{2A86 0338}
-\pdfglyphtounicode{notprecedesorcurly}{22E0}
-\pdfglyphtounicode{notfollowsorcurly}{22E1}
-\pdfglyphtounicode{notgreaterorless}{2279}
-\pdfglyphtounicode{notlessorgreater}{2278}
-\pdfglyphtounicode{notdifference}{224F 0338}
-\pdfglyphtounicode{notgeomequivalent}{224E 0338}
-\pdfglyphtounicode{notrevsimilar}{223D 0338}
-\pdfglyphtounicode{notrevasymptequal}{22CD 0338}
-\pdfglyphtounicode{nequal}{2260}
-\pdfglyphtounicode{nequivasymptotic}{226D}
-\pdfglyphtounicode{nequivalence}{2262}
-\pdfglyphtounicode{nsimilar}{2241}
-\pdfglyphtounicode{napproxequal}{2249}
-\pdfglyphtounicode{npropersubset}{2284}
-\pdfglyphtounicode{npropersuperset}{2285}
-\pdfglyphtounicode{nlessmuch}{226A 0338}
-\pdfglyphtounicode{ngreatermuch}{226B 0338}
-\pdfglyphtounicode{notapproxequal}{2249}
-\pdfglyphtounicode{notapproxorequal}{224A 0338}
-\pdfglyphtounicode{notfollowsorequal}{2AB7 0338}
-\pdfglyphtounicode{notprecedesorequal}{2AB8 0338}
-\pdfglyphtounicode{notprecedesordblequal}{2AB3 0338}
-\pdfglyphtounicode{notfollowsordblequal}{2AB4 0338}
-\pdfglyphtounicode{nsimilarequal}{2244}
-\pdfglyphtounicode{nelement}{2209}
-\pdfglyphtounicode{nowner}{220C}
-\pdfglyphtounicode{notsubsetdbl}{22D0 0338}
-\pdfglyphtounicode{notsupersetdbl}{22D1 0338}
-\pdfglyphtounicode{nsubsetsqequal}{22E2}
-\pdfglyphtounicode{nsupersetsqequal}{22E3}
-\pdfglyphtounicode{colonequal}{2254}
-\pdfglyphtounicode{equalcolon}{2255}
-\pdfglyphtounicode{colonbar}{003A 002D}
-\pdfglyphtounicode{barcolon}{2239}
-\pdfglyphtounicode{Colonequal}{2A74}
-\pdfglyphtounicode{Equalcolon}{2255 }
-\pdfglyphtounicode{Colonbar}{003A 003A 002D}
-\pdfglyphtounicode{Barcolon}{2239 003A}
-\pdfglyphtounicode{strict}{297D}%  fish tail
-\pdfglyphtounicode{strictinverse}{297C}%  fish tail
-\pdfglyphtounicode{strictboth}{297C 297D}%  fish tails
-\pdfglyphtounicode{ampersandinv}{214B}
-\pdfglyphtounicode{lbag}{27C5}
-\pdfglyphtounicode{rbag}{27C6}
-\pdfglyphtounicode{lbagbig}{27C5 FE01}
-\pdfglyphtounicode{rbagbig}{27C6 FE01}
-\pdfglyphtounicode{oless}{29C0}
-\pdfglyphtounicode{ogreater}{29C1}
-\pdfglyphtounicode{owedge}{2227 20DD}
-\pdfglyphtounicode{ovee}{2228 20DD}
-\pdfglyphtounicode{circlebar}{233D}%  APL ?
-\pdfglyphtounicode{circlebackslash}{2298}
-\pdfglyphtounicode{multicloseleft1}{22C9}
-\pdfglyphtounicode{multicloseright1}{22CA}
-\pdfglyphtounicode{multicloseboth1}{22C8 FE01}
-\pdfglyphtounicode{multiopenboth1}{2715 FE01}
-\pdfglyphtounicode{multicloseboth}{22C8}
-\pdfglyphtounicode{multiopenboth}{2715}
-\pdfglyphtounicode{Diamond}{25C7}
-\pdfglyphtounicode{Diamondsolid}{25C6}
-\pdfglyphtounicode{intersectmulti}{2A44 FE01}%  ???
-\pdfglyphtounicode{notsquareimage}{228F 0338}
-\pdfglyphtounicode{notsquareoriginal}{2290 0338}
-\pdfglyphtounicode{dashedarrowleft}{290E}
-\pdfglyphtounicode{dashedarrowright}{290F}
-\pdfglyphtounicode{dashedarrowboth}{290E 290F}
-\pdfglyphtounicode{squiggleleft}{21DC}
-\pdfglyphtounicode{notdblarrowheadright}{2900}
-\pdfglyphtounicode{notdblarrowheadleft}{219E 0337}
-\pdfglyphtounicode{squareasterisk}{29C6}
-\pdfglyphtounicode{squarebackslash}{29C5}
-\pdfglyphtounicode{squarebar}{25EB}
-\pdfglyphtounicode{squareslash}{29C4}
-\pdfglyphtounicode{Wreathproduct}{2240 2240}
-\pdfglyphtounicode{lambdaslash}{019B}
-\pdfglyphtounicode{lambdabar}{D835 DF06 0335}
-\pdfglyphtounicode{club1}{2667}
-\pdfglyphtounicode{diamond1}{2666}
-\pdfglyphtounicode{heart1}{2665}
-\pdfglyphtounicode{spade1}{2664}
-\pdfglyphtounicode{Arrownortheast}{21D7}
-\pdfglyphtounicode{Arrowsoutheast}{21D8}
-\pdfglyphtounicode{Arrownorthwest}{21D6}
-\pdfglyphtounicode{Arrowsouthwest}{21D9}
-\pdfglyphtounicode{Latticetop}{2AEA}
-\pdfglyphtounicode{Perpendicular}{2AEB}
-\pdfglyphtounicode{leadstoext}{219D}
-\pdfglyphtounicode{leadsto}{301C}%  ???
-\pdfglyphtounicode{squareunionmulti}{228E FE01}
-\pdfglyphtounicode{squareintersectmulti}{2A4E FE01}
-\pdfglyphtounicode{dblbracketleft}{27E6}
-\pdfglyphtounicode{dblbracketright}{27E7}
-\pdfglyphtounicode{squareright}{25A1 2192}
-\pdfglyphtounicode{squareleft}{2190 25A1}
-\pdfglyphtounicode{squaredotright}{22A1 2192}
-\pdfglyphtounicode{squaredotleft}{2190 22A1}
-\pdfglyphtounicode{Diamondright}{25C7 2192}%
-\pdfglyphtounicode{Diamondleft}{2190 25C7}
-\pdfglyphtounicode{Diamonddotright}{27D0 2192}
-\pdfglyphtounicode{Diamonddotleft}{2190 27D0}
-\pdfglyphtounicode{squareRight}{25A1 21D2}
-\pdfglyphtounicode{squareLeft}{21D0 25A1}
-\pdfglyphtounicode{squaredotRight}{22A1 21D2}
-\pdfglyphtounicode{squaredotLeft}{21D0 22A1}
-\pdfglyphtounicode{DiamondRight}{25C7 21D2}
-\pdfglyphtounicode{DiamondLeft}{21D0 25C7}
-\pdfglyphtounicode{DiamonddotRight}{27D0 21D2}
-\pdfglyphtounicode{DiamonddotLeft}{21D0 27D0}
-\pdfglyphtounicode{Diamonddot}{27D0}
-\pdfglyphtounicode{circleright}{25CB 2192}
-\pdfglyphtounicode{circleleft}{2190 25CB}
-\pdfglyphtounicode{circledotright}{2299 2192}
-\pdfglyphtounicode{circledotleft}{2190 2299}
-\pdfglyphtounicode{opentrans}{260D FE01}%  ???
-\pdfglyphtounicode{solidtrans}{2051 20D2}%  ???
-\pdfglyphtounicode{topsolidtrans}{2AF1 FE01}%  ???
-\pdfglyphtounicode{topopentrans}{27DF FE01}% ???
+\p{mapsfrom}{2ADE}% turnstile ?
+\p{Mapsto}{27FE}% double arrow
+\p{Mapsfrom}{2AE4}% turnstile ?
+\p{mmapsto}{2AE6}% turnstile ?
+\p{mmapsfrom}{2AE3}% turnstile  ?
+\p{Mmapsto}{255E}% turnstile ?
+\p{Mmapsfrom}{2AE5}% turnstile ?
+\p{medcircle}{25CB}
+\p{medbullet}{25CF}
+\p{parallel1}{2225}
+\p{nparallel}{2226}
+\p{nparallel1}{2226 FE01}
+\p{colonapprox}{003A 2248}
+\p{colonsim}{003A 223C}
+\p{coloncolonapprox}{003A 2248}
+\p{coloncolonsim}{003A 003A 223C}
+\p{doteq}{2250}
+\p{multimapinv}{27DC}
+\p{multimapboth}{29DF}
+\p{solidmultimap}{22B8 FE01}
+\p{solidmultimapinv}{27DC FE01}
+\p{solidmultimapboth}{29DF FE01}
+\p{rsolidmultimapboth}{22B6}
+\p{lsolidmultimapboth}{22B7}
+\p{forcesextra}{22AB}% turnstile ?
+\p{Forcesbar}{22AA}%  turnstile ???
+\p{simequal}{2245}
+\p{precedesordblequal}{2AB3}
+\p{followsordblequal}{2AB4}
+\p{notprecedesorsimilar}{22E0}
+\p{notfollowsorsimilar}{22E1}
+\p{notlessorsimilar}{2274}
+\p{notgreaterorsimilar}{2275}
+\p{notlessorapproxeql}{2A85 0338}
+\p{notgreaterorapproxeql}{2A86 0338}
+\p{notprecedesorcurly}{22E0}
+\p{notfollowsorcurly}{22E1}
+\p{notgreaterorless}{2279}
+\p{notlessorgreater}{2278}
+\p{notdifference}{224F 0338}
+\p{notgeomequivalent}{224E 0338}
+\p{notrevsimilar}{223D 0338}
+\p{notrevasymptequal}{22CD 0338}
+\p{nequal}{2260}
+\p{nequivasymptotic}{226D}
+\p{nequivalence}{2262}
+\p{nsimilar}{2241}
+\p{napproxequal}{2249}
+\p{npropersubset}{2284}
+\p{npropersuperset}{2285}
+\p{nlessmuch}{226A 0338}
+\p{ngreatermuch}{226B 0338}
+\p{notapproxequal}{2249}
+\p{notapproxorequal}{224A 0338}
+\p{notfollowsorequal}{2AB7 0338}
+\p{notprecedesorequal}{2AB8 0338}
+\p{notprecedesordblequal}{2AB3 0338}
+\p{notfollowsordblequal}{2AB4 0338}
+\p{nsimilarequal}{2244}
+\p{nelement}{2209}
+\p{nowner}{220C}
+\p{notsubsetdbl}{22D0 0338}
+\p{notsupersetdbl}{22D1 0338}
+\p{nsubsetsqequal}{22E2}
+\p{nsupersetsqequal}{22E3}
+\p{colonequal}{2254}
+\p{equalcolon}{2255}
+\p{colonbar}{003A 002D}
+\p{barcolon}{2239}
+\p{Colonequal}{2A74}
+\p{Equalcolon}{2255 }
+\p{Colonbar}{003A 003A 002D}
+\p{Barcolon}{2239 003A}
+\p{strict}{297D}%  fish tail
+\p{strictinverse}{297C}%  fish tail
+\p{strictboth}{297C 297D}%  fish tails
+\p{ampersandinv}{214B}
+\p{lbag}{27C5}
+\p{rbag}{27C6}
+\p{lbagbig}{27C5 FE01}
+\p{rbagbig}{27C6 FE01}
+\p{oless}{29C0}
+\p{ogreater}{29C1}
+\p{owedge}{2227 20DD}
+\p{ovee}{2228 20DD}
+\p{circlebar}{233D}%  APL ?
+\p{circlebackslash}{2298}
+\p{multicloseleft1}{22C9}
+\p{multicloseright1}{22CA}
+\p{multicloseboth1}{22C8 FE01}
+\p{multiopenboth1}{2715 FE01}
+\p{multicloseboth}{22C8}
+\p{multiopenboth}{2715}
+\p{Diamond}{25C7}
+\p{Diamondsolid}{25C6}
+\p{intersectmulti}{2A44 FE01}%  ???
+\p{notsquareimage}{228F 0338}
+\p{notsquareoriginal}{2290 0338}
+\p{dashedarrowleft}{290E}
+\p{dashedarrowright}{290F}
+\p{dashedarrowboth}{290E 290F}
+\p{squiggleleft}{21DC}
+\p{notdblarrowheadright}{2900}
+\p{notdblarrowheadleft}{219E 0337}
+\p{squareasterisk}{29C6}
+\p{squarebackslash}{29C5}
+\p{squarebar}{25EB}
+\p{squareslash}{29C4}
+\p{Wreathproduct}{2240 2240}
+\p{lambdaslash}{019B}
+\p{lambdabar}{D835 DF06 0335}
+\p{club1}{2667}
+\p{diamond1}{2666}
+\p{heart1}{2665}
+\p{spade1}{2664}
+\p{Arrownortheast}{21D7}
+\p{Arrowsoutheast}{21D8}
+\p{Arrownorthwest}{21D6}
+\p{Arrowsouthwest}{21D9}
+\p{Latticetop}{2AEA}
+\p{Perpendicular}{2AEB}
+\p{leadstoext}{219D}
+\p{leadsto}{301C}%  ???
+\p{squareunionmulti}{228E FE01}
+\p{squareintersectmulti}{2A4E FE01}
+\p{dblbracketleft}{27E6}
+\p{dblbracketright}{27E7}
+\p{squareright}{25A1 2192}
+\p{squareleft}{2190 25A1}
+\p{squaredotright}{22A1 2192}
+\p{squaredotleft}{2190 22A1}
+\p{Diamondright}{25C7 2192}%
+\p{Diamondleft}{2190 25C7}
+\p{Diamonddotright}{27D0 2192}
+\p{Diamonddotleft}{2190 27D0}
+\p{squareRight}{25A1 21D2}
+\p{squareLeft}{21D0 25A1}
+\p{squaredotRight}{22A1 21D2}
+\p{squaredotLeft}{21D0 22A1}
+\p{DiamondRight}{25C7 21D2}
+\p{DiamondLeft}{21D0 25C7}
+\p{DiamonddotRight}{27D0 21D2}
+\p{DiamonddotLeft}{21D0 27D0}
+\p{Diamonddot}{27D0}
+\p{circleright}{25CB 2192}
+\p{circleleft}{2190 25CB}
+\p{circledotright}{2299 2192}
+\p{circledotleft}{2190 2299}
+\p{opentrans}{260D FE01}%  ???
+\p{solidtrans}{2051 20D2}%  ???
+\p{topsolidtrans}{2AF1 FE01}%  ???
+\p{topopentrans}{27DF FE01}% ???
 
 %% from txsys
-\pdfglyphtounicode{arcwide}{0361}
-\pdfglyphtounicode{arcwider}{0361 FE01}% variants according size
-\pdfglyphtounicode{arcwiderr}{0361 FE02}% .. .. 
-\pdfglyphtounicode{arcwidest}{0361 FE03}% .. .. 
-\pdfglyphtounicode{arcwideult}{0361 FE04}% .. .. 
-\pdfglyphtounicode{barbar}{0304 0304}
-\pdfglyphtounicode{barhat}{0304 0303}
-\pdfglyphtounicode{bartilde}{0304 0302}
-\pdfglyphtounicode{bulletS}{25C5}
-\pdfglyphtounicode{bulletSS}{2022}
-\pdfglyphtounicode{bulletSSS}{2219}
-\pdfglyphtounicode{cdotB}{00B7}
-\pdfglyphtounicode{cdotBB}{22C5}
-\pdfglyphtounicode{ddddot}{20DC}
-\pdfglyphtounicode{ddddotacc}{20DC}
-\pdfglyphtounicode{dddot}{20DB}
-\pdfglyphtounicode{dddotacc}{20DB}
-\pdfglyphtounicode{ddotacc}{0308}
-\pdfglyphtounicode{dotacc}{0307}
-\pdfglyphtounicode{emptysetAlt}{2300}
-\pdfglyphtounicode{emptysetAlt2}{2205}
-\pdfglyphtounicode{harpoonacc}{20D2}
-\pdfglyphtounicode{hatbar}{0303 0304}
-\pdfglyphtounicode{hathat}{0303 0303}
-\pdfglyphtounicode{hattilde}{0303 0302}
-\pdfglyphtounicode{lharpoonacc}{20D0}
-\pdfglyphtounicode{lrharpoonacc}{20E1}
-\pdfglyphtounicode{lrvec}{20E1}
-\pdfglyphtounicode{lvec}{20D6}
-\pdfglyphtounicode{nexists}{2204}
-\pdfglyphtounicode{oarcwide}{0361 0350}% try to add upper arrow-tip
-\pdfglyphtounicode{oarcwider}{0361 FE01 0350}%  .. .. 
-\pdfglyphtounicode{oarcwiderr}{0361 FE02 0350}%  .. .. 
-\pdfglyphtounicode{oarcwidest}{0361 FE03 0350}%  .. .. 
-\pdfglyphtounicode{oarcwideult}{0361 FE04 0350}%  .. .. 
-\pdfglyphtounicode{prime2}{02B9}
-\pdfglyphtounicode{smcompB}{25CB}
-\pdfglyphtounicode{tildebar}{0302 0304}
-\pdfglyphtounicode{tildehat}{0302 0303}
-\pdfglyphtounicode{tildetilde}{0302 0302}
-\pdfglyphtounicode{vec}{20D7}
+\p{arcwide}{0361}
+\p{arcwider}{0361 FE01}% variants according size
+\p{arcwiderr}{0361 FE02}% .. .. 
+\p{arcwidest}{0361 FE03}% .. .. 
+\p{arcwideult}{0361 FE04}% .. .. 
+\p{barbar}{0304 0304}
+\p{barhat}{0304 0303}
+\p{bartilde}{0304 0302}
+\p{bulletS}{25C5}
+\p{bulletSS}{2022}
+\p{bulletSSS}{2219}
+\p{cdotB}{00B7}
+\p{cdotBB}{22C5}
+\p{ddddot}{20DC}
+\p{ddddotacc}{20DC}
+\p{dddot}{20DB}
+\p{dddotacc}{20DB}
+\p{ddotacc}{0308}
+\p{dotacc}{0307}
+\p{emptysetAlt}{2300}
+\p{emptysetAlt2}{2205}
+\p{harpoonacc}{20D2}
+\p{hatbar}{0303 0304}
+\p{hathat}{0303 0303}
+\p{hattilde}{0303 0302}
+\p{lharpoonacc}{20D0}
+\p{lrharpoonacc}{20E1}
+\p{lrvec}{20E1}
+\p{lvec}{20D6}
+\p{nexists}{2204}
+\p{oarcwide}{0361 0350}% try to add upper arrow-tip
+\p{oarcwider}{0361 FE01 0350}%  .. .. 
+\p{oarcwiderr}{0361 FE02 0350}%  .. .. 
+\p{oarcwidest}{0361 FE03 0350}%  .. .. 
+\p{oarcwideult}{0361 FE04 0350}%  .. .. 
+\p{prime2}{02B9}
+\p{smcompB}{25CB}
+\p{tildebar}{0302 0304}
+\p{tildehat}{0302 0303}
+\p{tildetilde}{0302 0302}
+\p{rvec}{20D7}
+\p{vec}{20D7}
 %  from txex-bar, txbex-bar
-\pdfglyphtounicode{angleleftbigx}{27E8 FE01}% variants according size
-\pdfglyphtounicode{anglerightbigx}{27E9 FE01}
-\pdfglyphtounicode{braceleftbigx}{007B FE01}
-\pdfglyphtounicode{bracerightbigx}{007D FE01}
-\pdfglyphtounicode{bracketleftbigx}{005B FE01}
-\pdfglyphtounicode{bracketrightbigx}{005D FE01}
-\pdfglyphtounicode{ceilingleftbigx}{2308 FE01}
-\pdfglyphtounicode{ceilingrightbigx}{2309 FE01}
-\pdfglyphtounicode{floorleftbigx}{230A FE01}
-\pdfglyphtounicode{floorrightbigx}{230B FE01}
-\pdfglyphtounicode{parenleftbigx}{0028 FE01}
-\pdfglyphtounicode{parenrightbigx}{0029 FE01}
-\pdfglyphtounicode{bardblex}{2225 FE01}
-\pdfglyphtounicode{bardblexbigx}{2225 FE01}
-\pdfglyphtounicode{barex}{007C FE01}
-\pdfglyphtounicode{barexbigx}{007C FE01}
-\pdfglyphtounicode{bracehext}{02C9}%  use a macron for horizontal spacing !!
-\pdfglyphtounicode{grouphtipdownleft}{02CA}%  use spacing modifiers to simulate the overbrace 
-\pdfglyphtounicode{grouphtipdownright}{02CB}%  .. ..
-\pdfglyphtounicode{grouphtipupleft}{02CF}%  use spacing modifiers to simulate the underbrace
-\pdfglyphtounicode{grouphtipupright}{02CE}%  .. ..
-\pdfglyphtounicode{groupatipdownleft}{1DFE 02CA}%  include an arrow-tip
-\pdfglyphtounicode{groupatipdownright}{02CB 0350}%  include an arrow-tip
-\pdfglyphtounicode{groupatipupleft}{02F1 02CF}%  include an arrow-tip
-\pdfglyphtounicode{groupatipupright}{02CE 02F2}%  include an arrow-tip
-\pdfglyphtounicode{parenleftbtA}{239D}
-\pdfglyphtounicode{parenleftexA}{239C}
-\pdfglyphtounicode{parenlefttpA}{239B}
-\pdfglyphtounicode{parenrightbtA}{23A0}
-\pdfglyphtounicode{parenrightexA}{239F}
-\pdfglyphtounicode{parenrighttpA}{239E}
-\pdfglyphtounicode{hat4}{0302 FE04}% variants according to width
-\pdfglyphtounicode{hat5}{0302 FE05}%   .. .. ..
-\pdfglyphtounicode{hat6}{0302 FE06}%   .. .. ..
-\pdfglyphtounicode{tilde4}{0303 FE04}% variants according to width
-\pdfglyphtounicode{tilde5}{0303 FE05}%   .. .. ..
-\pdfglyphtounicode{tilde6}{0303 FE06}%   .. .. ..
+\p{angleleftbigx}{27E8 FE01}% variants according size
+\p{anglerightbigx}{27E9 FE01}
+\p{braceleftbigx}{007B FE01}
+\p{bracerightbigx}{007D FE01}
+\p{bracketleftbigx}{005B FE01}
+\p{bracketrightbigx}{005D FE01}
+\p{ceilingleftbigx}{2308 FE01}
+\p{ceilingrightbigx}{2309 FE01}
+\p{floorleftbigx}{230A FE01}
+\p{floorrightbigx}{230B FE01}
+\p{parenleftbigx}{0028 FE01}
+\p{parenrightbigx}{0029 FE01}
+\p{bardblex}{2225 FE01}
+\p{bardblexbigx}{2225 FE02}
+\p{barex}{007C FE01}
+\p{barexbigx}{007C FE01}
+\p{bracehext}{02C9}%  use a macron for horizontal spacing !!
+\p{grouphtipdownleft}{02CA}%  use spacing modifiers to simulate the overbrace 
+\p{grouphtipdownright}{02CB}%  .. ..
+\p{grouphtipupleft}{02CF}%  use spacing modifiers to simulate the underbrace
+\p{grouphtipupright}{02CE}%  .. ..
+\p{groupatipdownleft}{1DFE 02CA}%  include an arrow-tip
+\p{groupatipdownright}{02CB 0350}%  include an arrow-tip
+\p{groupatipupleft}{02F1 02CF}%  include an arrow-tip
+\p{groupatipupright}{02CE 02F2}%  include an arrow-tip
+\p{parenleftbtA}{239D}
+\p{parenleftexA}{239C}
+\p{parenlefttpA}{239B}
+\p{parenrightbtA}{23A0}
+\p{parenrightexA}{239F}
+\p{parenrighttpA}{239E}
+\p{hat4}{0302 FE04}% variants according to width
+\p{hat5}{0302 FE05}%   .. .. ..
+\p{hat6}{0302 FE06}%   .. .. ..
+\p{tilde4}{0303 FE04}% variants according to width
+\p{tilde5}{0303 FE05}%   .. .. ..
+\p{tilde6}{0303 FE06}%   .. .. ..
 % from   txexs  
-\pdfglyphtounicode{cupdottext}{2A03}
-\pdfglyphtounicode{cupdotdisplay}{2A03}
-\pdfglyphtounicode{dblbracketleftbig}{27E6 FE01}% variants according to size
-\pdfglyphtounicode{dblbracketleftbigg}{27E6 FE02}% .. ..
-\pdfglyphtounicode{dblbracketleftBig}{27E6 FE03}% .. ..
-\pdfglyphtounicode{dblbracketleftBigg}{27E6 FE04}% .. ..
-\pdfglyphtounicode{dblbracketleftbt}{23A5 23A3}% gives a solid v-line before bracket pieces
-\pdfglyphtounicode{dblbracketleftex}{23A5 23A2}%    double lines
-\pdfglyphtounicode{dblbracketlefttp}{23A5 23A1}%    lower left-bracket pieces
-\pdfglyphtounicode{dblbracketrightbig}{27E6 FE01}% variants according to size
-\pdfglyphtounicode{dblbracketrightbigg}{27E6 FE02}% .. ..
-\pdfglyphtounicode{dblbracketrightBig}{27E6 FE03}% .. ..
-\pdfglyphtounicode{dblbracketrightBigg}{27E6 FE04}% .. ..
-\pdfglyphtounicode{dblbracketrightbt}{23A6 23A2}% gives a solid v-line after bracket pieces
-\pdfglyphtounicode{dblbracketrightex}{23A5 23A2}%    double lines
-\pdfglyphtounicode{dblbracketrighttp}{23A4 23A2}%    lower right-bracket pieces
-\pdfglyphtounicode{intersectionsqtext}{2A05 FE01}
-\pdfglyphtounicode{intersectionsqdisplay}{2A05 FE01}
-\pdfglyphtounicode{intersectmultitext}{2A44 FE00}%  variant of  'intersect with logical and'
-\pdfglyphtounicode{intersectmultidisplay}{2A44 FE00}%  variant of  'intersect with logical and'
-\pdfglyphtounicode{intersectsqmultitext}{2A05 FE00}%  variant of  'n-ary square intersection'
-\pdfglyphtounicode{intersectsqmultidisplay}{2A05 FE00}%  variant of  'n-ary square intersection'
-\pdfglyphtounicode{lbagbig}{27C5 FE01}% variants according to size
-\pdfglyphtounicode{lbagbigg}{27C5 FE02}% .. .. 
-\pdfglyphtounicode{lbagBig}{27C5 FE03}% .. ..
-\pdfglyphtounicode{lbagBigg}{27C5 FE04}% .. ..
-\pdfglyphtounicode{lbagBiggg}{27C5 FE05}% .. ..
-\pdfglyphtounicode{lbagBigggg}{27C5 FE06}% .. ..
-\pdfglyphtounicode{lbagBiggggg}{27C5 FE07}% .. ..
-\pdfglyphtounicode{rbagbig}{27C6 FE01}% variants according to size
-\pdfglyphtounicode{rbagbigg}{27C6 FE02}% .. ..
-\pdfglyphtounicode{rbagBig}{27C6 FE03}% .. ..
-\pdfglyphtounicode{rbagBigg}{27C6 FE04}% .. ..
-\pdfglyphtounicode{rbagBiggg}{27C6 FE05}% .. ..
-\pdfglyphtounicode{rbagBigggg}{27C6 FE06}% .. ..
-\pdfglyphtounicode{rbagBiggggg}{27C6 FE07}% .. ..
-\pdfglyphtounicode{producttext1}{2715}%  Dingbat multiply symbol
-\pdfglyphtounicode{productdisplay1}{2715}%  Dingbat multiply symbol
-\pdfglyphtounicode{raisedsquare}{2E0B}%  not used, for 'missing' (.notdef) symbol ???
-\pdfglyphtounicode{unionsqmultitext}{2A04 FE00}%  variant of non-square union
-\pdfglyphtounicode{unionsqmultidisplay}{2A04 FE00}%  variant of non-square union
+\p{cupdottext}{2A03}
+\p{cupdotdisplay}{2A03}
+\p{dblbracketleftbig}{27E6 FE01}% variants according to size
+\p{dblbracketleftbigg}{27E6 FE02}% .. ..
+\p{dblbracketleftBig}{27E6 FE03}% .. ..
+\p{dblbracketleftBigg}{27E6 FE04}% .. ..
+\p{dblbracketleftbt}{23A5 23A3}% gives a solid v-line before bracket pieces
+\p{dblbracketleftex}{23A5 23A2}%    double lines
+\p{dblbracketlefttp}{23A5 23A1}%    upper left-bracket pieces
+\p{dblbracketrightbig}{27E6 FE01}% variants according to size
+\p{dblbracketrightbigg}{27E6 FE02}% .. ..
+\p{dblbracketrightBig}{27E6 FE03}% .. ..
+\p{dblbracketrightBigg}{27E6 FE04}% .. ..
+\p{dblbracketrightbt}{23A6 23A2}% gives a solid v-line after bracket pieces
+\p{dblbracketrightex}{23A5 23A2}%    double lines
+\p{dblbracketrighttp}{23A4 23A2}%    upper right-bracket pieces
+\p{intersectionsqtext}{2A05 FE01}
+\p{intersectionsqdisplay}{2A05 FE01}
+\p{intersectmultitext}{2A44 FE00}%  variant of  'intersect with logical and'
+\p{intersectmultidisplay}{2A44 FE00}%  variant of  'intersect with logical and'
+\p{intersectsqmultitext}{2A05 FE00}%  variant of  'n-ary square intersection'
+\p{intersectsqmultidisplay}{2A05 FE00}%  variant of  'n-ary square intersection'
+\p{lbagbig}{27C5 FE01}% variants according to size
+\p{lbagbigg}{27C5 FE02}% .. .. 
+\p{lbagBig}{27C5 FE03}% .. ..
+\p{lbagBigg}{27C5 FE04}% .. ..
+\p{lbagBiggg}{27C5 FE05}% .. ..
+\p{lbagBigggg}{27C5 FE06}% .. ..
+\p{lbagBiggggg}{27C5 FE07}% .. ..
+\p{rbagbig}{27C6 FE01}% variants according to size
+\p{rbagbigg}{27C6 FE02}% .. ..
+\p{rbagBig}{27C6 FE03}% .. ..
+\p{rbagBigg}{27C6 FE04}% .. ..
+\p{rbagBiggg}{27C6 FE05}% .. ..
+\p{rbagBigggg}{27C6 FE06}% .. ..
+\p{rbagBiggggg}{27C6 FE07}% .. ..
+\p{producttext1}{2715}%  Dingbat multiply symbol
+\p{productdisplay1}{2715}%  Dingbat multiply symbol
+\p{raisedsquare}{2E0B}%  not used, for 'missing' (.notdef) symbol ???
+\p{unionsqmultitext}{2A04 FE00}%  variant of non-square union
+\p{unionsqmultidisplay}{2A04 FE00}%  variant of non-square union
 %  T1-encoding
-\pdfglyphtounicode{perthousandzero}{2080}%  use subscript 0
-%  ntxsyralt
-\pdfglyphtounicode{kappa1}{D835 DF18}
-\pdfglyphtounicode{kappa1up}{03F0}
+\p{perthousandzero}{2080}%  use subscript 0
+%  ntxsyralt , fourier-ml ,  fourier-ms, . . .
+\p{kappa1}{D835 DF18}
+\p{kappa1up}{03F0}
+\p{rho2}{03F1}
+\p{partialdiff1}{D835 DF15}
+\p{pi2}{03D6}
+\p{emptysetstress}{2205}
+\p{mapstochar}{21A6}%  ???
+\p{radicallow}{23B7}% 221A ???
 %  fxlri-7alt  (and  fxlri-5alt etc. )
-\pdfglyphtounicode{J.alt}{D835 DE11}
-\pdfglyphtounicode{g.alt}{D835 DE28}
-\pdfglyphtounicode{v.alt}{D835 DE37}
-\pdfglyphtounicode{w.alt}{D835 DE38}
-\pdfglyphtounicode{y.alt}{D835 DE3A}
+\p{J.alt}{D835 DE11}
+\p{g.alt}{D835 DE28}
+\p{v.alt}{D835 DE37}
+\p{w.alt}{D835 DE38}
+\p{y.alt}{D835 DE3A}
 %  rtxbmi-rev , rtxbmi5-rev , rtxbmi7-rev 
-\pdfglyphtounicode{harpoonleftup}{21BF}
-\pdfglyphtounicode{harpoonrightup}{21BE}
-\pdfglyphtounicode{harpoonleftdown}{21C3}
-\pdfglyphtounicode{harpoonrightdown}{21C2}
-\pdfglyphtounicode{hookleftchar}{02D2}
-\pdfglyphtounicode{hookrightchar}{02D3}
+\p{harpoonleftup}{21BC}% was incorrectly {21BF}
+\p{harpoonrightup}{21C0}% was incorrectly {21BE}
+\p{harpoonleftdown}{21BD}% was incorrectly {21C3}
+\p{harpoonrightdown}{21C1}% was incorrectly {21C2}
+\p{hookleftchar}{02D2}
+\p{hookrightchar}{02D3}
+%  fourier and other arrows and math symbols
+\p{dotaccent}{0307}
+\p{geqslant}{2A7E}
+\p{leqslant}{2A7D}
+\p{notgeqslant}{2A7E 0338}
+\p{notleqslant}{2A7D 0338}
+\p{parallelslanted}{2225}
+\p{notparallelslanted}{2226}
+\p{vDash}{22A8}
+\p{notvDash}{22AD}
+\p{blacktriangleleft}{25B6}
+\p{blacktriangleright}{25C0}
+\p{hslash}{210F}
+\p{notexists}{2204}
+\p{bartriple}{2AF4}
+\p{bracketdoubleleft}{27E6}
+\p{bracketdoubleright}{27E7}
+\p{varsubsetneq}{228A}
+\p{subsetneqq}{2ACB}
+\p{notowner}{220C}
+\p{smallsetminus}{2216}% ???
+\p{swords}{2694}
+\p{swordsdown}{2694}%  !!! 
+\p{curvearrowleft}{21B6}
+\p{curvearrowright}{21B7}
+\p{leftleftarrows}{21C7}
+\p{rightrightarrows}{21C9}
+\p{barcino}{1F60E}% !!!
+\p{apple}{1F34E}%  was {F8FF}
+\p{arrowhorizex}{23AF}% was {F8E7}
+\p{arrowvertex}{23D0}% was {F8E6}
+\p{integralex}{23AE}% was {F8F5}
+\p{radicalex}{23AF}%  ???  was {F8E5}
+
+
+\endgroup
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/latex/pdfx/pdfx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pdfx/pdfx.sty	2019-03-11 16:27:36 UTC (rev 50337)
+++ trunk/Master/texmf-dist/tex/latex/pdfx/pdfx.sty	2019-03-11 22:01:25 UTC (rev 50338)
@@ -6,7 +6,7 @@
 %%
 %% pdfx.dtx  (with options: `package')
 %% 
-%%  Copyright (c) 2018, CV Radhakrishnan <cvr at river-valley.org>,
+%%  Copyright (c) 2019, CV Radhakrishnan <cvr at river-valley.org>,
 %%    Han The Thanh <thanh at river-valley.org>,
 %%    Ross Moore <ross.moore at mq.edu.au>,
 %%    Peter Selinger <selinger at mathstat.dal.ca>
@@ -31,7 +31,7 @@
 }{}%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{pdfx}
-  [2018/12/22 v1.6.1 PDF/X and PDF/A support (CVR/HTH/RRM/PS)]
+  [2019/02/27 v1.6.3 PDF/X and PDF/A support (CVR/HTH/RRM/PS)]
 
 \newif\ifpdfx at noBOM \pdfx at noBOMfalse   % use a BOM in the XMP packet
 \newif\ifpdfx at x \pdfx at xfalse   % PDF/X mode
@@ -40,6 +40,7 @@
 \newif\ifpdfx at vt \pdfx at vtfalse   % PDF/VT mode, extension of  PDF/X
 \newif\ifno at iccprofile   % used with PDF/X-4p and PDF/X-5pg
 \newif\ifpdfx at noerr   % error messages become just warnings
+\newif\ifpdfx at omitcharset % used with  pdfomitcharset  primitive
 
 \DeclareOption{noerr}{\pdfx at noerrtrue}
 
@@ -67,25 +68,37 @@
    {, else continue to build a non-valid document}%
 }
 
+%%  support  pdfomitcharset  primitive, added to pdfTeX in 2019
+\DeclareOption{nocharset}{\pdfx at omitcharsettrue}
+\DeclareOption{usecharset}{\pdfx at omitcharsetfalse}
+
 %% PDF/A options
 %%  default is to create  PDF/A-1b
 %%  options can change this for PDF/X or higher levels of PDF/A
 \DeclareOption{a-1a}{\global\pdfx at xfalse\def\xmp at Part{1}%
- \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2005}}
+ \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2005}%
+ \pdfx at omitcharsetfalse}
 \DeclareOption{a-1b}{\global\pdfx at xfalse\def\xmp at Part{1}%
- \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2005}}
+ \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2005}%
+ \pdfx at omitcharsetfalse}
 \DeclareOption{a-2a}{\global\pdfx at xfalse\def\xmp at Part{2}%
- \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2010}}
+ \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2010}%
+ \pdfx at omitcharsettrue}
 \DeclareOption{a-2b}{\global\pdfx at xfalse\def\xmp at Part{2}%
- \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2010}}
+ \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2010}%
+ \pdfx at omitcharsettrue}
 \DeclareOption{a-2u}{\global\pdfx at xfalse\def\xmp at Part{2}%
- \def\xmp at Conformance{U}\def\xmp at ReleaseDate{2010}}
+ \def\xmp at Conformance{U}\def\xmp at ReleaseDate{2010}%
+ \pdfx at omitcharsettrue}
 \DeclareOption{a-3a}{\global\pdfx at xfalse\def\xmp at Part{3}%
- \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2012}}
+ \def\xmp at Conformance{A}\def\xmp at ReleaseDate{2012}%
+ \pdfx at omitcharsettrue}
 \DeclareOption{a-3b}{\global\pdfx at xfalse\def\xmp at Part{3}%
- \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2012}}
+ \def\xmp at Conformance{B}\def\xmp at ReleaseDate{2012}%
+ \pdfx at omitcharsettrue}
 \DeclareOption{a-3u}{\global\pdfx at xfalse\def\xmp at Part{3}%
- \def\xmp at Conformance{U}\def\xmp at ReleaseDate{2012}}
+ \def\xmp at Conformance{U}\def\xmp at ReleaseDate{2012}%
+ \pdfx at omitcharsettrue}
 %%
 %% PDF/X options
 %% comments added, using
@@ -345,6 +358,17 @@
  \pdfresetpageorigin=0
 \fi
 
+\expandafter\ifx\csname pdfomitcharset\endcsname\relax\else
+ \ifpdfx at omitcharset
+  \pdfomitcharset = 1 %
+  %%  do not create /Charset listings of font glyphs;
+  %%  optional for PDF/A-2,3 and PDF 2.x
+ \else
+  \pdfomitcharset = 0 %
+  %%  create the /Charset listings of font glyphs, required with PDF/A-1
+ \fi
+\fi
+
 \newif\ifpdfx at nopdfinfo
 \ifmathxmp\pdfx at nopdfinfotrue
 \else
@@ -533,17 +557,21 @@
 \expandafter\ifx\csname inputencodingname\endcsname\relax
 \else
  \def\pdfx at restoreencoding#1{%
-  \@tempcnta=128
-  \loop
-   \catcode\@tempcnta=13
-   \advance\@tempcnta\@ne
-  \ifnum\@tempcnta<256
-  \repeat
+   \@tempcnta=128
+   \loop
+    \catcode\@tempcnta=13
+    \advance\@tempcnta\@ne
+   \ifnum\@tempcnta<256
+   \repeat
   \inputencoding{#1}%
+  \let\LastDeclaredEncoding\pdfx at LastDeclaredEncoding
+  \let\DeclareFontEncoding@\pdfx at DeclareFontEncoding@
+  \let\DeclareUnicodeCharacter\pdfx at DeclareUnicodeCharacter
   }%
   \AtEndOfPackage{\pdfx at restoreencoding\pdfx at inputencodingname}%
   \let\pdfx at inputencodingname\inputencodingname
-  \let\pdfx at DeclareUnicodeCharacter\DeclareUnicodeCharacter
+  \global\let\pdfx at DeclareUnicodeCharacter\DeclareUnicodeCharacter
+  \global\let\pdfx at DeclareFontEncoding@\DeclareFontEncoding@
   \UseRawInputEncoding
 \fi
 \InputIfFileExists{\pdfx at encodingfile}{}{}
@@ -550,9 +578,10 @@
 \expandafter\ifx\csname pdfx at inputencodingname\endcsname\relax
 \else
   \let\inputencodingname\pdfx at inputencodingname
-  \let\DeclareUnicodeCharacter\pdfx at DeclareUnicodeCharacter
-  \let\DeclareFontEncoding@\DeclareFontEncoding at saved
-  \inputencoding{\inputencodingname}%
+%%  \global\let\DeclareUnicodeCharacter\pdfx at DeclareUnicodeCharacter
+%%  \global\let\DeclareFontEncoding@\DeclareFontEncoding at saved
+  \global\let\pdfx at LastDeclaredEncoding\LastDeclaredEncoding
+  \expandafter\inputencoding\expandafter{\inputencodingname}%
 \fi
 
 %%----------------------------------------------------------------------
@@ -1667,7 +1696,13 @@
      }%
     \expandafter\pdfx at tryoldprofilesfalse
    \fi
-}{\pdfx at tryoldprofilestrue}
+}{%
+ \PackageWarning{pdfx}{%
+   The 'colorprofiles' package is not installed correctly.^^J
+   File  'colorprofiles.tex'  is missing. Proceeding without it.
+ }%
+ \pdfx at tryoldprofilestrue
+}
 
 {\catcode`\| 14 \catcode`\% 12 \catcode`\_ 12 \catcode`\: 12
  \catcode`\. 12 \catcode`\- 12 \catcode`\/ 12
@@ -2351,7 +2386,7 @@
   \expandafter\ifx\expandafter\relax\xmp at Subject\relax\else
    \pdfx at ConvertUTFtoBE{\pdfx at pdfSubject}{\xmp at Subject}%
   \fi
-\else %%  pdfx at nopdfinfotrue
+\else %%  pdfx at nopdfinfofalse
   \expandafter\ifx\expandafter\relax\xmp at Title\relax\else
    \ifluatex
     \pdfx at ConvertUTFtoBE\pdfx at pdfTitle\xmp at Title
@@ -2358,7 +2393,8 @@
    \else\ifxetex
     \pdfx at ConvertUTFtoBE\pdfx at pdfTitle\xmp at Title
    \else
-     \pdfx at GeneratePdfString\pdfx at pdfTitle\xmp at Title
+%%     \pdfx at GeneratePdfString\pdfx at pdfTitle\xmp at Title %  why does this fail ???
+    \pdfx at ConvertUTFtoBE{\pdfx at pdfTitle}{\xmp at Title}%  ???  RRM 2019-02-17
    \fi\fi
   \fi
   \expandafter\ifx\expandafter\relax\xmp at Subject\relax\else
@@ -2367,7 +2403,8 @@
    \else\ifxetex
     \pdfx at ConvertUTFtoBE\pdfx at pdfSubject\xmp at Subject
    \else
-    \pdfx at GeneratePdfString\pdfx at pdfSubject\xmp at Subject
+%%    \pdfx at GeneratePdfString\pdfx at pdfSubject\xmp at Subject %  why does this fail ???
+    \pdfx at ConvertUTFtoBE{\pdfx at pdfSubject}{\xmp at Subject}% 2019-02-17
    \fi\fi
   \fi
  \fi  % end of  \ifpdfx at nopdfinfo
@@ -2436,6 +2473,23 @@
  \egroup
  \spacefactor\accent at spacefactor
 }
+%% same for named accents in math-mode
+\def\pdfx at mathaccentV#1#2#3#4#5{%
+ #5{\mathsurround=\z@\relax
+  \everymath{}%
+  \mathchoice
+   {\setbox\z@\hbox{$\displaystyle #5$}\kern-\wd\z@}%
+   {\setbox\z@\hbox{$\textstyle #5$}\kern-\wd\z@}%
+   {\setbox\z@\hbox{$\scriptstyle #5$}\kern-\wd\z@}%
+   {\setbox\z@\hbox{$\scriptscriptstyle #5$}\kern-\wd\z@}%
+ }%
+ \AMS at mathaccentV{#1}{#2}{#3}{#4}{\phantom{#5}}%
+}
+\AtBeginDocument{%
+ \@ifpackageloaded{amsmath}{%
+  \let\AMS at mathaccentV\mathaccentV
+  \let\mathaccentV\pdfx at mathaccentV}%
+}%
 
 %% How to support XeTeX here ?
 %%%%%  adjust accent characters to the Unicode Combining variant  %%%%
@@ -2479,25 +2533,30 @@
  \pdfglyphtounicode{space_uni034D}{034D}%
 }
 
-\AtBeginDocument{%
+\def\pdfx at check@accents{%
  \ifx\add at accent\LTX at add@accent
   \let\add at accent\PDFX at add@accent
  \else
   \expandafter\ifx\csname MT at orig@add at accent\endcsname\relax
-  \TPDF at error{another package has already patched \string\add at accent }%
-  \else
+  \@ifpackageloaded{mmap}{}{%
+  \pdfx at ErrorWarning{another package has patched \string\add at accent }%
+   {Hit <return> to continue}{}{}}%
+   \else
    \expandafter\let\csname MT at orig@add at accent\endcsname\PDFX at add@accent
  \fi\fi
  \ifxetex
  \else
   \PDFX at combiningchars@unicode
-  \@ifpackageloaded{newtxmath}{%
-    \pdfglyphtounicode{vec}{20D7}%
-    \pdfglyphtounicode{rvec}{20D6}%
-    \pdfglyphtounicode{lrvec}{20E1}%
-   }{}%
+%%  this is now handled by  glyphtounicode-ntx.tex
+%%  \@ifpackageloaded{newtxmath}{%
+%%   \pdfglyphtounicode{vec}{20D7}%
+%%    \pdfglyphtounicode{rvec}{20D6}%
+%%    \pdfglyphtounicode{lrvec}{20E1}%
+%%   }{}%
   \fi %  end of   \ifxetex
+  \let\pdfx at check@accents\unDefiNeD
 }
+\AtBeginDocument{\pdfx at check@accents}
 
 %%  suppress hyperlinks when generating  PDF/X
 \def\pdfx at linkfile@pdfX#1#2#3{%
@@ -2863,7 +2922,7 @@
  %
  % this will have been done already for PDF/X
  %
- \PassOptionsToPackage{xcolor}{cmyk,hyperref}
+ \PassOptionsToPackage{cmyk,hyperref}{xcolor}
  \def\pdfx at handlexcolor{\def\@@mod{cmyk}\selectcolormodel{cmyk}%
    \convertcolorsUtrue\convertcolorsDtrue}
  \ifpdfx at x
@@ -2887,7 +2946,7 @@
 %%  }
  \fi
 \else
- \PassOptionsToPackage{xcolor}{rgb,hyperref}
+ \PassOptionsToPackage{rgb,hyperref}{xcolor}
  \def\pdfx at handlexcolor{\def\@@mod{rgb}\selectcolormodel{rgb}%
    \convertcolorsUtrue\convertcolorsDtrue}
 \fi



More information about the tex-live-commits mailing list