2

I am trying to create a PDF/A-2u compliant PDF file from a LaTEX version of my thesis. I am using the pdfx package set to a-2u and validating the generated PDF using the VeraPDF validator with a profile for PDF/A-2u, since it is what my university does when validating submitted files.

But when I run the validator the following test fails:

Specification: ISO 19005-2:2011, Clause: 6.2.11.4, Test number: 1

The font programs for all fonts used for rendering within a conforming file shall be embedded within that file, as defined in ISO 32000-1:2008, 9.9.

Subtype == "Type3" || Subtype == "Type0" || renderingMode == 3 || fontFile_size == 1

I have created a fairly minimal example, which I compile into pdf using pdflatex document

\documentclass[12pt,a4paper]{report}
\setlength\textwidth{145mm}
\setlength\textheight{247mm}
\setlength\oddsidemargin{15mm}
\setlength\evensidemargin{15mm}
\setlength\topmargin{0mm}
\setlength\headsep{0mm}
\setlength\headheight{0mm}

\let\openright=\clearpage

\usepackage[czech]{babel}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{textcomp}

\usepackage[utf8]{inputenc}

\usepackage[a-2u]{pdfx}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amsthm}
\usepackage{bbding}

\usepackage{bm}
\usepackage{graphicx}
\usepackage{fancyvrb}
\usepackage{indentfirst}
\usepackage{natbib}

\usepackage[nottoc]{tocbibind}

\usepackage{icomma}
\usepackage{dcolumn}
\usepackage{booktabs}
\usepackage{paralist}
\usepackage[usenames,table,xcdraw]{xcolor}

\usepackage{subcaption}
\usepackage{multirow}

\usepackage{tabularx}

\hypersetup{unicode}
\hypersetup{breaklinks=true}

\begin{document}

\pagestyle{empty}
\hypersetup{pageanchor=false}

hello, \emph{world}

\openright
\end{document}

When I run pdffonts document.pdf, I can see that all the used fonts are embedded and of Type 1:

name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
YGPAOD+LMRoman12-Regular             Type 1            Custom           yes yes yes      9  0
OCNWPR+LMRoman12-Italic              Type 1            Custom           yes yes yes     10  0

Which means that the fonts do not match the desired renderingMode or fontFile_size requirement.

Is there a way to fix this, ideally within latex?


This is the full output of the validator:

<?xml version="1.0" encoding="utf-8"?>
<report>
  <buildInformation>
    <releaseDetails id="core" version="1.10.2" buildDate="2017-11-30T12:47:00+01:00"></releaseDetails>
    <releaseDetails id="validation-model" version="1.10.5" buildDate="2017-12-28T11:51:00+01:00"></releaseDetails>
    <releaseDetails id="gui" version="1.10.6" buildDate="2017-12-28T11:58:00+01:00"></releaseDetails>
  </buildInformation>
  <jobs>
    <job>
      <item size="40467">
        <name>/home/.../minimal-example.pdf</name>
      </item>
      <validationReport profileName="PDF/A-2U validation profile" statement="PDF file is not compliant with Validation Profile requirements." isCompliant="false">
        <details passedRules="119" failedRules="1" passedChecks="615" failedChecks="1">
          <rule specification="ISO 19005-2:2011" clause="6.2.11.4" testNumber="1" status="failed" passedChecks="0" failedChecks="1">
            <description>The font programs for all fonts used for rendering within a conforming file shall be embedded within that file, as defined in ISO 32000-1:2008, 9.9.</description>
            <object>PDFont</object>
            <test>Subtype == "Type3" || Subtype == "Type0" || renderingMode == 3 || fontFile_size == 1</test>
            <check status="failed">
              <context>root/document[0]/pages[0](5 0 obj PDPage)/contentStream[0](7 0 obj PDContentStream)/operators[9]/font[0](YGPAOD+LMRoman12-Regular)</context>
            </check>
          </rule>
        </details>
      </validationReport>
      <duration start="1523967257917" finish="1523967258155">00:00:00.238</duration>
    </job>
  </jobs>
  <batchSummary totalJobs="1" failedToParse="0" encrypted="0">
    <validationReports compliant="0" nonCompliant="1" failedJobs="0">1</validationReports>
    <featureReports failedJobs="0">0</featureReports>
    <repairReports failedJobs="0">0</repairReports>
    <duration start="1523967257908" finish="1523967258159">00:00:00.251</duration>
  </batchSummary>
</report>
3

This has been fixed in veraPDF V1.11.19, see https://github.com/veraPDF/veraPDF-library/issues/957.

I confirm this has been an issue in PostScript font parser in the 1.10.6 release. It has been fixed in dev. Please check the latest dev version: http://software.verapdf.org/develop/1.11/verapdf-greenfield-1.11.19-installer.zip

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.