Символ "№" в cm-super вызывает проблему с генерацией PDF/A по значениям VeraPDF-валидатора

Символ "№" в cm-super вызывает проблему с генерацией PDF/A по значениям VeraPDF-валидатора

В настоящее время мы пытаемся подготовить для государственной библиотеки версию наших журналов, соответствующую формату PDF/A-1b.

Журнал смешанный - русско-английский, поэтому мы используем кириллицу и некоторые специфические для русского языка символы. В частности - символ "№" для нумерации выпусков и грантов российских фондов и т. д. Для набора мы используем векторные шрифты cm-super (Type 1).

Проблема в том, что этот символ (№, \No, \textnumero) генерирует следующую "ошибку" (сбой) по смыслу VeraPDF-валидатора (который, вероятно, используется библиотекой) -

Спецификация: ISO 19005-1:2005, Пункт: 6.3.6, Номер теста: 1 Для каждого шрифта, встроенного в соответствующий файл и используемого для рендеринга, информация о ширине глифов в словаре шрифтов и в программе встроенных шрифтов должна быть согласованной.

Сейчас мы рассматриваем как вариант решения изменение шрифтового символа «№» на что-то вроде этого:

\def\ourNo{N\kern-.05em-\kern-.37em\raise.75ex\hbox{\scriptsize o}\@}

Выглядит похоже, но не то же самое, что и оригинальный "№" в Type 1, и при копировании в виде текста из PDF генерирует несколько символов (No), и это нехорошо. Но это работает.

Кто-нибудь знает эту проблему и может помочь с другими решениями?

Вот простой код:

\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}

ОБНОВЛЯТЬ: Мы также попробовали использовать процедуру «Сохранить в PS - Distiller» в Acrobat Pro, но она дала тот же результат при проверке VeraPDF, хотя валидатор Adobe (Preflight) не выдает никаких ошибок.

ОБНОВЛЕНИЕ2: С помощью друзей меня перенаправили наPDF/A с Linux Libertine и Linux Biolinum с использованием pdfLaTeX и решение, которое работает хорошо:

%%% 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

С помощью друзей меня перенаправили наPDF/A с Linux Libertine и Linux Biolinum с использованием pdfLaTeX и нашел решение, которое работает хорошо:

%%% 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 включается много дополнительных символов шрифтов. Это нехорошо. Итак, теперь вопрос - можно ли исправить T2A (особенно в отношении символа \No) на CTAN?

Связанный контент