<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Just to summarise (for the benefit of archives and posterity), the
following is /almost/ sufficient to achieve PDF/X-1A:2003 compliance
using plain XeTeX. Full compliance can be achieved using Adobe
Acrobat. <br>
<blockquote cite="mid:57827B7B.1010408@Rhul.Ac.Uk" type="cite"><tt>\newif
\ifpdfxa<br>
\pdfxatrue<br>
<br>
\ifpdfxa<br>
\special {pdf: put @thispage << /ArtBox [0 0 498.89641
708.65968] >>}<br>
\special {pdf: put @thispage << /BleedBox [0 0
498.89641 708.65968] >>}<br>
\special {pdf: put @thispage << /CropBox [0 0
498.89641 708.65968] >>}<br>
\special {pdf: put @thispage << /MediaBox [0 0
498.89641 708.65968] >>}<br>
\special {pdf: put @thispage << /TrimBox [0 0
498.89641 708.65968] >>}<br>
\special {pdf: docinfo << /GTS_PDFXVersion
(PDF/X-1:2001) /GTS_PDFXConformance (PDF/X-1a:2001) >>}<br>
\special {pdf: put @catalog << /PageMode /UseNone
/OutputIntents [ << /Info (none) /Type /OutputIntent /S
/GTS_PDFX /OutputConditionIdentifier (Custom) /RegistryName (<a
moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://www.color.org/"><a class="moz-txt-link-freetext" href="http://www.color.org/">http://www.color.org/</a></a>)
>> ] >>}<br>
\special {pdf: dest (page.1) [@thispage /XYZ @xpos @ypos
null]}<br>
\special {pdf: docinfo << /Title(Document
Title)/Subject(Some
subject)/Creator(XeTeX)/ModDate(D:yyyymmddhhmmss)/Author(Your
Name)/Producer(XeTeX version)/Keywords(Whatever)/Trapped/False
>>}<br>
\fi</tt><br>
</blockquote>
The caveats are as follows :<br>
<ol>
<li>a hook will need to be inserted into <tt>\shipout</tt> to
insert the bounding boxes on each page;</li>
<li>the colours will need to be converted to the desired output
profile using Adobe Acrobat;</li>
<li>the file will need to be reduced in size with Acrobat 4+
compatibility but with no image compression in order to convert
it to PDF 1.3;</li>
<li>the dimensions of the bounding boxes are for B5 in so-called
"big points" (Postscript points) and will need to be amended for
other page sizes;</li>
<li><tt>\setboundingboxes</tt> will have to be called explicitly
for the first page only.<br>
</li>
</ol>
<tt>\shipout</tt> can be hooked as follows :<br>
<tt><br>
\def \setboundingboxes<br>
{%<br>
\special {pdf: put @thispage << /ArtBox [0 0
498.89641 708.65968] >>}%<br>
\special {pdf: put @thispage << /BleedBox [0 0
498.89641 708.65968] >>}%<br>
\special {pdf: put @thispage << /CropBox [0 0
498.89641 708.65968] >>}%<br>
\special {pdf: put @thispage << /MediaBox [0 0
498.89641 708.65968] >>}%<br>
\special {pdf: put @thispage << /TrimBox [0 0
498.89641 708.65968] >>}%<br>
}<br>
<br>
\newcount \maxpage<br>
\maxpage = <whatever><br>
\let \Shipout = \shipout<br>
\def \shipout {\ifnum \pageno < \maxpage \setboundingboxes
\fi \Shipout}</tt><br>
<div class="moz-signature">-- <br>
<img src="cid:part2.03050200.06010508@Rhul.Ac.Uk"><br>
Philip Taylor</div>
</body>
</html>