(И опять) Вопрос к гуру pdf

kruzer25

Чем принципиально отличаются эти три pdf-документа? Я вот не нашёл существенных отличий, шрифты там везде внедрённые, но почему-то в некоторых случаях (на одном из компьютеров (под виндой xp) в нашем офисе и на sony reader) в документе с простым times вместо букв показываются только квадратики; а в некоторых (а именно, на sony reader) в случае с helvetica bold вообще ничего не показывается.
ЗЫ: Здесь не times normal и helvetica bold исключения, а times bold - потому что это единственный шрифт, который мне удалось подобрать, в котором на sony reader отображается кириллица.

Dasar

может какие-нибудь мегафишки в самом шрифте?

kruzer25

А х его з.
Что-то не в порядке может быть разве что с самим таймсом, потому что он (и в стандартном, и в жирном вариантах) - какой-то непонятно откуда взятый и сильно обрезанный (чтобы весил меньше).
Helvetica же (она же Arial) взята из винды (xp т.е., по идее, это очень правильный шрифт, правильнее некуда. Ещё пробовал segoe ui из висты (с заменой в differences affiiNNNNN на uniHHHH, конечно) - такой же эффект, на моём компе под xp (даже если удалить из папки системных шрифтов этот segoe ui) всё отлично показывается, на ридере - пустое пространство на месте кириллицы, и нормально отрисованные латиница и знаки препинания...

kruzer25

Упс, сейчас посмотрел - оказывается, есть и ещё какое-то расширение над TrueType под названием OpenType, которое тоже может лежать в .ttf-файлах, может, этот OpenType не поддерживается?
В любом случае, непонятно, почему на том компе проблемы наступают только при печати (у нас только один общий принтер, я со своего компьютера могу распечатать на нём все три документа, а на другом происходит уже описанный выше эффект).
UPD: Сейчас посмотрел, похоже, что times - единственный TrueType из этих трёх, а times bold (единственный рабочий) и helvetica - уже OpenType... выходит, дело не в этом...

kruzer25

Да, если кому-то поможет, исходные .ttf-файлы:

kruzer25

Ну где же вы, гуру?

kruzer25

А вот файл только у меня выдаёт какие-то западноевропейские символы, а не abcd..z, или это у всех так?
Как вообще то, что в этом pdf-е, могло превратиться в такую фигню?

pitrik2

у сменя так

kruzer25

А писал вроде всё по спецификациям 1.4...

kruzer25

Ладно, разобрался вроде, как делать юникод.
Но такой вопрос (мб, кто-то просто знает, что там за юникод) - почему выдаёт то, что выдаёт, вместо ожидаемого
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
`abcdefghijklmnopqrstuvwxyz{|}~
€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—?™š›œžŸ
 ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿
ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß
àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
ĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğ
ĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿ
ŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞş
ŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſ
ƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟ
ƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿ
ǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟ
ǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴǵǶǷǸǹǺǻǼǽǾǿ
ȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟ
ȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿ
ɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟ
ɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿ
?

kruzer25

Так и не удалось заставить устройство читать кириллицу в шрифте, отличающемся от этого самого times-bold.
Может, кто-нибудь всё-таки скажет, почему в файле
1) При чтении на устройстве, вместо русского "тест" - пустота?
2) При чтении на компьютере, если заменить кодировку с той, которая там с differences, на WinAnsiEncoding/StandardEncoding/Ansi, вместо русского "тест" - четыре квадратика? Вроде же, оно тогда должно брать инфу о том, что соответствует этим байтам, из самого шрифта - а там всё это прописано?

Dasar

на WinAnsiEncoding/StandardEncoding/Ansi
в ansi кодировке никаких русских букв нет, и символы кодируются только 7 битами

kruzer25

Я в курсе, но, когда я ковырялся с другими шрифтами, если выставить /encoding/ansi, то 128-255 символы отлично показывались в чём-то похожем на cp1252...

xronik111

Сорри за офтоп — но зачем заморачиваться с pdf, если reader замечательно русифицируется, после чего в него можно засовывать .lrf, сделанные из .fb2? Или это просто прогание для души?

slonishka

хотите спросить у гуру?
задайте вопрос пенартуру!

kruzer25

Вообще-то, пдфы нужны не только для этого, просто если они не читаются на ридере, то, вполне возможно, не будут читаться и где-нибудь ещё.
Насчёт русификации - во-первых, влом прошивать, во вторых, качать всё это дело через модем - слишком геморройно. Кроме того, lrf, сделанные из fb2, надо, во-первых, чем-то сделать, а во-вторых - откуда-то взять эти fb2.
Решение своей задачи я, кстати, уже нашёл, правда, очень извращённое, и для нашего проекта оно не подходит, так что использую его сейчас только при создании книжек для ридера. Решение такое - берём ворд, засовываем в него длинный текст на английском, длинный текст на русском (со всеми знаками препинания после чего публикуем как пдф всеми нужными шрифтами и вариациями; выдираем из получившегося пдфа два ттфа (один используется в шрифте с WinAnsiEncoding для английского текста, другой - с Identity-H для русского создаём таблицу "код символа в 1251"=>"код символа в двухбайтной кодировке конкретного шрифта", исходную html-ку препроцессим, окружая английские куски текста и другие неподдерживаемые в "русском шрифте" символы (например, минус с кодом 45) <span lang=en>text</span>, русские куски текста и поддерживаемые в "русском шрифте" символы (большинство знаков препинания из ascii + практически всё >=128) окружаем <span lang=ru>текст</span>, а в css-ке прописываем на span[lang=en] и span[lang=ru] соответствующие шрифты. Результат получается довольно кривой, прилично выглядит только для очень простых html (типа книг но зато сейчас на ридере можно читать книжки с нормальными шрифтами, и скорость переворачивания даже на 900 страницах такая же, как и на первых

pilot

1) При чтении на устройстве, вместо русского "тест" - пустота?
2) При чтении на компьютере, если заменить кодировку с той, которая там с differences, на WinAnsiEncoding/StandardEncoding/Ansi, вместо русского "тест" - четыре квадратика?

Це missing-glyph.
В шрифте нет глифа для такого codepoint'а.

kruzer25

В шрифте нет глифа для такого codepoint'а.
Есть, как можно увидеть в исходнике шрифта (или я неправильно понимаю, что эти заголовки у pfb означают?)
Кроме того, это не даёт ответа на пункт 1. Вообще, похоже, на устройстве не читаются pdf-ки с pfb-шрифтами - возможно, я как-то неправильно делаю pdf/сами шрифты?

xronik111

> Насчёт русификации - во-первых, влом прошивать, во вторых, качать всё это дело через модем - слишком геморройно.
Качать надо, если память не изменяет, всего несколько мегов.
> Кроме того, lrf, сделанные из fb2, надо, во-первых, чем-то сделать,
BookDesigner — это если сложный путь, с редактированием книг, импортов .doc и .html. Более того, получаются .lrf со встроенными шрифтами (если хочется поддержка которых, судя по форумам, всяко получше, чем .pdf. Еще есть однокопочная утилита, превращающая в .lrf все файлы в заданном каталоге с настройками теми, какими хочется.
> а во-вторых - откуда-то взять эти fb2.
fictionbook, aldebaran. Если хочется из ворда, то см. выше.
Это все для информации конкретно про reader и остальному, конечно, не поможет — просто после упоминания ридера больно видеть, как вы изобретаете велосипед

kruzer25

Качать надо, если память не изменяет, всего несколько мегов.
Там один только софт весит 9 метров...
BookDesigner — это если сложный путь
А какой простой?
fictionbook, aldebaran
...т.е. из интернета.
Просто у меня уже есть гора локальных .txt, которые хочу перегнать.
.lrf со встроенными шрифтами (если хочется поддержка которых, судя по форумам, всяко получше, чем .pdf.
Ну, у меня, после некоторого геморроя шрифты вроде нормально показываются сейчас уже пакетно эти .html перегоняю
Да и pdf - формат поуниверсальнее, чем .lrf, ато мало ли...
просто после упоминания ридера больно видеть, как вы изобретаете велосипед
На самом деле, тут ситуация такая - мы, ещё зимой-весной приделывали к своему проекту возможность динамического создания pdf (для документооборота при этом, на одном из компов в офисе эти пдфы печатались с квадратиками вместо русских букв, но тогда я думал, что дело в какой-то кривизне настроек/софта именно на том компе; потом я купил ридер, и решил, чтобы не возиться с русификацией, воспользоваться той же библиотекой - на ридере эти pdf-ы тоже нормально не отображались, после чего появилось подозрение, что, видимо, проблема не в настройках софта, а в кривых пдфках, сделанных не по стандарту.
Сейчас в проекте пдфы генерятся с использованием type1 pfb шрифтов, но на ридере почему-то и они не показываются - мб там тоже что-то не по стандарту? Я тут уже постил ссылку на пример неотображаемого pdf с type1-шрифтами...
ЗЫ: А вообще, в стандарте написано, что использовать differences с truetype-шрифтами нельзя - либо одну из стандартных кодировок, либо составные шрифты... это к тому, что мне отвечали в прошлом треде...
Оставить комментарий
Имя или ник:
Комментарий: