将字体 Merriweather 嵌入到有效的 PDF/a-1B 中

将字体 Merriweather 嵌入到有效的 PDF/a-1B 中

我目前正在尝试创建一个完全有效的 PDF/A-1B。这里的问题似乎是我使用的字体是“Merriweather Light”。当我使用 VeraPDF 验证我的 PDF 时,我收到两种类型的错误:

Rule    Status
Specification: ISO 19005-1:2005, Clause: 6.3.5, Test number: 1  
Embedded font programs shall define all font glyphs referenced for rendering with conforming file.  Failed
2 occurrences   Hide
Glyph   
renderingMode == 3 || isGlyphPresent == null || isGlyphPresent == true  
root/document[0]/pages[240](4150 0 obj PDPage)/contentStream[0](4151 0 obj PDContentStream)/operators[128]/usedGlyphs[5](BAPWVJ+Merriweather-LightIt 69 0 0)
...

Specification: ISO 19005-1:2005, Clause: 6.3.6, Test number: 1  
For every font embedded in a conforming file and used for rendering, the glyph width information in the font dictionary and in the embedded font program shall be consistent.   Failed
117 occurrences Hide
Glyph   
renderingMode == 3 || isWidthConsistent == null || isWidthConsistent == true    
root/document[0]/pages[240](4150 0 obj PDPage)/contentStream[0](4151 0 obj PDContentStream)/operators[94]/usedGlyphs[30](VWCVXM+Merriweather-Light 79 0 0)
...

其他错误/问题似乎没有出现。

我的序言如下:

\documentclass[10pt]{style}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a-1b]{pdfx}

\usepackage[light]{merriweather}

有人知道如何将 Merriweather 嵌入 PDF/A 中而不会出现错误吗?

根据要求,这里是重现该问题的 MWE:

\documentclass[10pt,chapterinoneline,english,onehalfspacing,headsepline]{style}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a-1b]{pdfx}

%\usepackage{palatino} % <-- this works and gets verified (yet looks utterly ugly)
\usepackage[light]{merriweather}

\begin{document}

lorem ipsum

\end{document}

答案1

好的,看来我已经找到错误了。或者至少拿到了文件进行验证。

当使用 lualatex 而不是 pdflatex 进行编译时,编译器在我的 bib 文件中遇到了 unicode 字符问题。具体来说, aç没有通过 正确转义\c{c}。虽然这没有导致使用 pdflatex 进行编译时出现任何问题并生成了可读文档,但 lualatex 却大声抗议。修复此问题后,luatatex 可以顺利编译,并且根据 veraPDF 的说法,生成的 pdf 符合 PDF/A-1B :)

有趣的是,用 pdflatex 编译的相同 (!) 文档仍然无法通过验证,并出现相同的错误。此外,jPDFPreflight 仍然无法验证 lualatex 和 pdflatex 版本。

此外,这并不能解释上述 MWE 验证失败的原因,因为它没有包含 bibfile。不过,它显然只是对我而言验证失败。

无论如何,我希望这可以帮助其他人缩小文档中可能出现的错误:)

相关内容