目前,我们正在尝试为州立图书馆制作符合 PDF/A-1b 标准的期刊版本。
期刊是混合语言——俄语/英语,因此我们使用西里尔语和一些特定于俄语印刷标准的符号。特别是符号“№”,用于对俄罗斯基金的发行和拨款进行编号等。对于排版,我们使用 cm-super(Type 1)矢量字体。
问题是:该符号(№、\No、\textnumero)根据 VeraPDF-validator(可能由库使用)的含义生成下一个“错误”(失败)-
规范:ISO 19005-1:2005,条款:6.3.6,测试编号:1 对于嵌入在符合文件中并用于渲染的每种字体,字体字典中和嵌入字体程序中的字形宽度信息应一致。
现在我们正在考虑一种解决方案,将“№”字体符号更改为如下所示的形式:
\def\ourNo{N\kern-.05em-\kern-.37em\raise.75ex\hbox{\scriptsize o}\@}
它看起来与 Type 1 中的原始“№”相似但不完全相同,当从 PDF 复制为文本时,它会生成几个符号(否),这不太好。但它可以工作。
有人知道这个问题并且可以提供其他解决方案吗?
以下是简单的代码:
\documentclass{article}
%\usepackage{cmap} - disabling or enabling have no effect on the problem
\usepackage[a-1b]{pdfx}
%\usepackage{hyperref} - disabling or enabling have no effect on the problem
\usepackage[russian,english]{babel}
\usepackage[T2A]{fontenc}
\usepackage[cp1251]{inputenc}
\begin{document}
№
\end{document}
更新: 我们还尝试了 Acrobat Pro 中的“保存到 PS - Distiller”程序,但它在通过 VeraPDF 验证时导致相同的结果,然而 Adobe 验证器(Preflight)没有显示任何错误。
更新2: 在朋友的帮助下,我被重定向到使用 pdfLaTeX 的 Linux Libertine 和 Linux Biolinum 的 PDF/A 以及效果良好的解决方案:
%%% Solving \textnumero problem in russian pdflatex
%%% Don't know how to explain why this works
\UndeclareTextCommand{\textnumero}{T2A}
\usepackage{textcomp} %depending on previous font packages this may be second call to package
这可能意味着在 该符号中的定义比textcomp
在 中的定义“更好” 。fontenc
t2aenc.dfu
答案1
在朋友的帮助下,我被重定向到使用 pdfLaTeX 的 Linux Libertine 和 Linux Biolinum 的 PDF/A 并找到了有效的解决方案:
%%% Solving \textnumero problem in russian pdflatex
%%% Don't know how to explain why this works
\UndeclareTextCommand{\textnumero}{T2A}
\usepackage{textcomp} %depending on previous font packages this may be second call to package
这可能意味着在 该符号中的定义比textcomp
在 中的定义“更好” 。fontenc
t2aenc.dfu
答案2
好的,同事们,这个解决方案效果很好,但正如我们所见,它只是一个拐杖。“坏”符号的问题仍然存在,使用上述解决方案,我们将 T2A 中声明的“坏”符号更改为 TS1 中声明的好符号。这尤其使我们使用了额外的字体编码,结果将大量额外的字体符号包含在 pdf-a 中。这不好。所以,现在的问题是 - 是否有可能在 CTAN 上更正 T2A(尤其是关于 \No 符号)?