Встраивать шрифты в PDF или полагаться на системные
Встроенный шрифт лежит внутри документа, поэтому страница выглядит одинаково на любом устройстве, но файл тяжелеет. Системный шрифт документ только называет, и открывающая программа подставляет то, что нашла у себя, — экономия килобайт ценой непредсказуемого вида. Для латиницы разница часто косметическая. Для кириллицы она превращается в квадраты вместо букв, поэтому здесь мы всегда встраиваем шрифт с нужным набором знаков.
Коротко о цифрах
- Что хранит встроенный шрифт
- сами очертания букв внутри документа
- Что хранит системный
- только имя и метрики; буквы берутся у получателя
- Кириллица в стандартных шрифтах
- отсутствует: кодировка западная
- Режим встраивания у нас
- подмножество из фактически использованных знаков
- Порядок вызова
- обработчик шрифтов подключается до вставки, иначе ошибка
Что происходит без встраивания
Документ хранит имя шрифта и его метрики, но не сами буквы. Программа просмотра ищет шрифт с таким именем в системе, не находит и берёт похожий по описанию. Ширины букв у замены другие, поэтому строки перестраиваются: короткие ползут, длинные переносятся, таблицы разъезжаются.
Худший случай — набор знаков. В стандартных шрифтах PDF кириллицы нет вовсе: там западная кодировка, где для русской и казахской буквы просто нет места. Попытка написать такой текст стандартным шрифтом заканчивается не заменой глифа, а отказом на этапе создания файла.
Как это устроено у нас
- Инструменты, которые пишут текст на странице, встраивают шрифт с кириллическим набором, а не полагаются на систему получателя.
- Встраивается подмножество: в файл попадают только те знаки, которые реально использованы, поэтому прибавка к весу измеряется килобайтами, а не мегабайтами.
- Обработчик пользовательских шрифтов подключается до вставки — без этого шага вставка нестандартного шрифта завершается ошибкой.
- Если шрифт не удалось загрузить, инструмент откатывается на стандартный, и тогда кириллический текст честно не проходит вместо того, чтобы превратиться в мусор.
Когда встраивание не нужно
- Документ живёт только у вас, шрифт установлен, а размер файла критичен — экономия оправданна.
- Текста нет вовсе: страницы — это изображения, и шрифтов в документе не осталось.
- Внутренняя рассылка в организации, где на всех машинах один корпоративный набор шрифтов, установленный централизованно.
- Во всех остальных случаях, а особенно при отправке наружу, встраивание дешевле, чем разбирательство, почему у получателя всё поехало.
Частые вопросы
Почему в моём PDF кириллица показывается квадратами?
Значит, шрифт не встроен, а в подставленном системном нужных знаков нет. Файл при этом формально исправен: буквы в нём названы, но нарисовать их нечем, и просмотрщик показывает заглушки.
Насколько встраивание увеличивает файл?
На килобайты, если встраивается подмножество из использованных знаков. Полный шрифт со всеми начертаниями весит существенно больше, поэтому подмножество — разумное умолчание почти для любого документа.
Можно ли встроить шрифт в уже готовый PDF?
Дописать очертания в существующий текст задним числом нельзя. Практический выход — заново выгрузить документ из программы, где он создавался, включив встраивание в настройках экспорта.
Что происходит со шрифтами при сжатии до размера?
Они исчезают вместе с текстовым слоем: страницы становятся изображениями, а изображению шрифт не нужен. Побочный эффект — проблема подстановки шрифтов исчезает вместе с возможностью искать по тексту.