ГОСТ Р 70176—2022
Примечание — Как указано в 7.21.4.2, подмножества шрифта приемлемы, если встроенный шрифт
содержит определения глифа для всех символов, на которые ссылается файл.
Все соответствующие настоящему стандарту программы чтения должны использовать для ренде ринга
встроенные шрифты, а не какие-либо другие локальные, замененные или имитированные шрифты.
Примечание — Для 14 стандартных шрифтов Туре 1 не предусмотрено никаких исключений из требо
ваний 7.21.4.
7.21.4.2 Вложение подмножества
Пункт 9.6 [2] разрешает встраивание подмножеств программ шрифтов.
Примечание — Использование подмножеств шрифта исвязанной с ним программы шрифтов потенци
ально позволяет существенно уменьшить размер соответствующих настоящему стандарту файлов.
Если словарь FontDescriptor встроенного шрифта Туре 1 содержит строку кодировки, то в нем
должны быть перечислены имена символов всех глифов, присутствующих в программе шрифтов, неза
висимо от того, ссылается ли файл формата PDF на глиф в шрифте, использует его или нет.
Примечание — Вышеуказанное требование делает обязательными к применению заявленные поло
жения пункта 9.8 [2].
Если словарь FontDescriptor встроенного шрифта CID содержит поток CIDSet, то он должен иден
тифицировать все CID, присутствующие в программе шрифтов, независимо от того, ссылается ли файл
формата PDF на CID в шрифте, использует его или нет.
Примечание — Вышеуказанное требование делает обязательными к применению заявленные поло
жения (см. [2], пункт 9.8.3.1, таблица 124).
7.21.5 Метрики шрифтов
Для каждого шрифта, встроенного в соответствующий настоящему стандарту файл и используе
мого для визуализации, информация о ширине глифа в словаре шрифтов и во встроенной программе
шрифтов должна быть согласованной. Для настоящего стандарта согласованность определяется как
разница не более 1/1000 глифа.
Примечание — Это требование необходимо для обеспечения предсказуемого отображения шрифтов,
независимо от того, использует ли программа чтения метрики в словаре шрифтов или в программе шрифтов.
7.21.6 Кодировки символов
Для всех обыкновенных шрифтов TrueType, используемых для рендеринга, встроенная програм
ма шрифтов TrueType должна содержать одну или несколько соответствующих записей стар для того,
чтобы можно было выполнить все необходимые запросы поиска глифа.
ВсеобыкновенныешрифтыTrueTypeдолжныиметьлибоMacRomanEncoding,либо
WinAnsiEncoding в качестве значения для ключа Encoding в словаре шрифтов или в качестве значения
для ключа BaseEncoding в словаре, который является значением ключа Encoding в словаре шрифтов.
Кроме того, обыкновенные шрифты TrueType не должны определять массив Differences, если
только все имена глифов в массиве Differences не перечислены в списке глифов Adobe, а програм ма
встроенного шрифта содержит по крайней мере кодировку Microsoft Unicode (3,1-Platform ID = 3,
Encoding ID = 1) в таблице «стар».
Символьные шрифты TrueType не должны содержать записи Encoding в словаре шрифтов, а та
блица «стар» во встроенной программе шрифтов должна содержать либо единственную кодировку,
либо, как минимум, кодировку Microsoft Symbol (3,0-Platform ID = 3, Encoding ID = 0).
Во всех случаях для шрифтов TrueType, которые должны быть отрисованы, коды символов долж
ны быть сопоставлены с глифами (см. [2], пункт 9.6.6.4) без использования нестандартного сопоставле
ния, выбранного соответствующей настоящему стандарту программой чтения.
7.21.7 Карты символов Unicode
Словарь шрифтов всех шрифтов независимо от их использования в режиме рендеринга дол
жен включать запись ToUnicode, значение которой является объектом потока СМар, который сопо
ставляет коды символов по крайней мере для всех ссылочных глифов со значениями Unicode (см. [2],
пункт 9.10.3), если шрифт не удовлетворяет по крайней мере одному из следующих четырех условий:
- шрифты используют предопределенные кодировки MacRomanEncoding, MacExpertEncoding или
WinAnsiEncoding;
12