Причина этого странного взгляда в том, что это именно то форматирование, которое описывает PDF.
Горизонтальное масштабирование
Поток контента страницы состоит из трех разделов:
Верхний раздел, весь текст над изображением подписи, содержит в начале инструкцию
2000 Tz
Внутри раздела после некоторого текста следует 1000 Tz
, затем снова 2000 Tz
и еще раз 1000 Tz
.
Оператор Tz устанавливает горизонтальное масштабирование на предыдущее число в виде процентного значения. Таким образом, эти инструкции приводят к тому, что весь следующий текст (до конца раздела, где сбрасывается графическое состояние) растягивается по горизонтали с коэффициентом 10 или 20!
Это объясняет, почему глифы такие широкие, а не то, почему они так сильно перекрывают друг друга.
Ширина символов и расположение
Причина, по которой они так сильно перекрывают друг друга, заключается в том, что каждый глиф индивидуально располагается на расстоянии, подходящем для макета без горизонтального масштабирования.
Прежде всего, информация о шрифте DroidSansMono в PDF-файле объявляет, что практически все глифы в шрифте имеют ширину 0. Таким образом, при каждом прорисовке глифа точка вставки текста не блуждает до конца глифа, но остается в его начале.
Кроме того, каждый глиф рисуется с использованием отдельной операции, и между двумя такими операциями рисования одного глифа точка вставки текста продвигается отдельной инструкцией. Но параметр расстояния этой инструкции подходит для глифов без горизонтального масштабирования!
Это вызывает все совпадения.
Если этот самый PDF-файл отображается «хорошо» (т. Е. Неправильно игнорирует операции Tz ) на большинстве устройств, средство рендеринга PDF, используемое на этих устройствах, явно выполняет паршивую работу при рендеринге PDF.