RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : PDF конвертер


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Юрий Пронякин
To : valerius
Subj : PDF конвертер

> кодировка непердсказуемая? странно, а почему?

Ради уменьшения размера файла.
Для того, чтобы PDF-файл можно было гарантированно просмотреть и напечатать на любом компьютере, в него (в подавляющем большинстве случаев) включаются и все шрифты, использованные в этом документе. А для уменьшения размера файла придумали такой фокус: программа, создающая PDF (Distiller) включает в него не весь файл шрифта, а только те символы из него, которые реально в документе использованы. "Font subsetting" это называется. (Во избежание конфликтов у каждого урезанного шрифта меняется имя.)
А теперь вспомни, где в ANSI-1251 находятся русские буквы. Правильно - в конце таблицы. А сколько символов кодовой таблицы, стоящих перед ними, в документе ни разу не встретится? Уйма. Поэтому при создании PDF-а есть нехилые шансы, что программа при создании урезанного шрифта расположит все использованные символы одним непрерывным блоком в начале таблицы, от чего коды всех русских букв съедут вперёд.
Вообще говоря, при создании шрифта-подмножества менять кодировку шрифта вовсе не обязательно, но на практике такое происходит сплошь и рядом.

> А как тогда Acrobat Reader и туча других pdf-вьюверов их отображает?

К символам в неизвестно какой кодировке в PDF-е прилагается шрифт именно в этой кодировке. Этого вполне достаточно для того, чтобы человек на экране видел правильные буквы, но совершенно недостаточно для того, чтобы программа могла определить, какой код символа какой букве алфавита соответствует. (И не забывай - у каждого использованного в документе шрифта получается своя собственная кодировка.)
Если же какой-то шрифт в PDF не внедрён, то и кодировка текста, к которому он применён, не меняется. Правда, PDF-ы с не внедрёнными шрифтами почти не попадаются, но уж если встретится такой - то это головная боль почище описанного выше.

Fri 15 May 2009 14:34 Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.8.1.12)




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.