由于外部要求,我必须在 LaTeX 文档的某些部分使用 Arial 和 Arial Bold。同时,文档必须符合 PDF/A-2 标准。我尝试了几种添加 Arial 的方法,确实有效,但在检查 PDF/A-2 是否符合要求时veraPDF我总是得到相同的结果。
$ verapdf -v -x mydocument.pdf --flavor 2b
...Irrelevant stuff...
<validationReport profileName="PDF/A-2B validation profile" statement="PDF file is not compliant with Validation Profile requirements." isCompliant="false">
<details passedRules="121" failedRules="1" passedChecks="649" failedChecks="1">
<rule specification="ISO 19005-2:2011" clause="6.2.11.4" testNumber="4" status="failed" passedChecks="0" failedChecks="1">
<description>If the FontDescriptor dictionary of an embedded CID font contains a CIDSet stream, then it shall identify all CIDs which are present in the font program,
regardless of whether a CID in the font is referenced or used by the PDF or not.</description>
<object>PDCIDFont</object>
<test>fontFile_size == 0 || fontName.search(/[A-Z]{6}\+/) != 0 || CIDSet_size == 0 || cidSetListsAllGlyphs == true</test>
<check status="failed">
<context>root/document[0]/pages[0](14 0 obj PDPage)/contentStream[0](16 0 obj PDContentStream)/operators[11]/font[0](XBXSEC+ArialMT)/DescendantFonts[0](XBXSEC+ArialMT)</context>
</check>
</rule>
</details>
</validationReport>
...More irrelevant stuff...
运行pdffonts
该文件将产生以下输出
$ pdffonts mydocument.pdf
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
OLAZTU+LMRoman12-Regular CID Type 0C Identity-H yes yes yes 18 0
XBXSEC+ArialMT CID TrueType Identity-H yes yes yes 17 0
我试图理解错误消息,但没有成功。我能够将其简化为以下最小工作示例:
% This is just to silence a warning that I get:
% "Writing or overwriting file `./output.xmpdata'".
\RequirePackage{silence}
\WarningFilter*{latex}{Writing or overwriting file `}
\begin{filecontents*}[overwrite]{\jobname.xmpdata}
\Title{The title of the document}
\Author{Firstname Lastname}
\end{filecontents*}
\documentclass[a4paper, 12pt]{report}
\usepackage[a-2b, mathxmp]{pdfx}[2018/12/22]
\usepackage{fontspec}
\newfontfamily{\Arial}{Arial}[Extension = .ttf, UprightFont = *]
\begin{document}
\Arial Whatever
\end{document}
我在用背页使用 LuaLaTeX。除了文件之外main.tex
,我还有一个名为的文件Arial.ttf
,其中包含 TrueType 字体。
我怎么解决这个问题?