Dementei
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Буду очень благодарен если кто-нить даст ссылку, где можно прочитать о "00С0 принадлежит к кодовой странице CP1252 0410 принадлежит к кодовой странице CP1251 (Cyrillic) " или объяснит подробней этот момент. Я читал много где, но так и не осознал до конца, что для совместимости как раз копируют символы с кодов 0410 в 00C0. Я думал что unicode это общая "таблица", где для каждого символа есть свое место. Если посмотреть на ttf шрифты винды, то в кодах 00C0 находятся какие-то странные символы, а в кодах 0410 уже русские символы. Мне просто не осознать как такое может быть, что 1251 и 1252 это все unicode. Проблему решил в fontlabe, во вкладке Encoding and Unicode добавил только 1252 Latin 1. Тогда в получаемом pdf в кодировке написано ANSI и проблем нет. Точнее только одна, если копировать русский текст из такого pdf и вставить, допустим, в блокнот, то как раз получим те странные символы, что в кодах 00C0. А проблема в следующем. Если у шрифта в Encoding and Unicode ничего нет или если там есть кроме 1252 Latin 1 еще и 1251 Cyrilic, то в таком pdf кодировка шрифта становится Identity-H. Текст из такого pdf копируется нормальным, т.е. в блокноте отображается как надо. Но при этом теряется выравнивание текста, т.е. если текст был выровнен по центру, то в пдф это выравнивание не передается и он выравнивается по левому краю и из-за этого текст уезжает. Так же в прое есть одноименный файл Identity-H, где куча каких-то соответствий задано. На сколько я понял это cmap, но гугл так и не смог мне помочь понять, что же это такое и зачем это применяется. Понял только, что Identity-H это не хорошо. Буду очень благодарен, если кто-то поможет понять что это все значит. Спасибо. | Всего записей: 273 | Зарегистр. 18-03-2006 | Отправлено: 09:12 21-12-2010 | Исправлено: Dementei, 09:13 21-12-2010 |
|