LINUX.ORG.RU
ФорумTalks

[djvu][плач ярославны] Свободные форматы, да... Дайте нам спеки — мы все напишем, да...

 


0

1

Вот тут некоторые люди говорят, что, мол, обпеньсорс-сообщество может все, если бы не злобные копирасты/секреты/патенты, если бы не монополия Винды, то у нас бы уже все было замечательно и все бы на Линуксе сидели.

Вот взялся я, сидя под Линуксом, изготавливать электронную книгу в открытом и свободном формате DjVu. Решил сделать хорошо, качественно: чтобы читалось хорошо, а объем оставался маленький, чтобы с оглавлением, с метаданными и с OCR-слоем, все как положено...
Что же я обнаруживаю?

Я обнаруживаю, что такую книгу под Линуксом может сделать только заядлый мазохист. И то не факт, что получится хорошо.

Посмотрим на все этапы.


Сканирование и подготовка изображений
Ну, хорошо, отсканировать везде можно. А вот с предварительной подготовкой изображений несколько хуже. Нет никакого ПО, которое помогло бы мне обработать документ с учетом особенностей алгоритма сжатия. Пришлось пользоваться старым добрым Imagemagick'ом и здравым смыслом.

Ну хорошо, я, может, и воспользуюсь, но нельзя же ждать от любого, кто хочет отсканить книгу, что он будет рабираться с Imagemagick? Впрочем, это еще не самое плохое.

Самое плохое — это результат. О нем в следующем параграфе.

Сжатие в DjVu
Ну хорошо, приходим к сжатию. Сжимаем при помощи DjVuLibre. О да, авторы написали, что оно работает «хуже проприетарных аналогов». Но кто ж знал, что «хуже» — это примерно в три раза хуже, чем у Lizardtech или Caminova?!

Возможно, я накосячил при подготовке изображений. Но откуда же я знаю, как было надо, а?

Да и потом, такую простую оптимизацию, как вынос общих для страниц элементов в разделяемые словари при сжатии JB2, а не копирование их в каждую страницу, DjVuLibre делать не умеет. Не говоря уже о том, чтобы сжимать не по одной странице, а потом тупо соединять, а просканировать сразу все и найти наиболее оптимальный набор общих элементов.

Ну вот что за фигня такая, а? Библиотека открытых аналогов не имеет. Находится в разработке уже 10 лет, с 2001 года, а основана она на опубликованных исходниках AT&T и Lizardtech, так что первая версия даже называлась то ли 2.0, то ли еще выше номером была. И за все это время она все еще «хуже проприетарных аналогов». Ну почему она хуже? Умных людей, что ли, нету, чтобы сделать ее не хуже? Ну я понимаю, если программа, обрабатывающая проприетарные форматы была бы хуже, у нее объективные причины. Я понимаю, если бы у проприетарного аналога была огромная фора по времени, но тут если она и есть, то ведь не больше трех лет. А сжатие все еще хуже в 3-4 раза. Это как можно в музее злопыхателей опенсорса поставить: «Мы открытые, поэтому мы дерьмо».

OCR-слой
Вот тут я узнал, что такое ад.

Мне хотелось сделать, вычитать и выровнять вручную OCR-слой. Единственная программа под Линуксом, которая позволила мне это сделать — кривой и косой djvusmooth. А самое интересное, что такой функции не было даже в проприетарном редакторе от Caminova. Только в djvusmooth. Который был с сюрпризом. Сюрприз был в том, что он не умеет добавлять и удалять элементы, только модифицировать.

Мне пришлось делать самописные скрипты, которые выделяют текст при помощи djvused, перегоняют его в удобочитаемый формат, позволяют отредактировать, потом накладывают на документ обратно. А потом подравнивать с помощью djvusmooth. Который зависает, если слишком быстро передвигаться по элементам (например, курсором).

Я вот сейчас этим занимаюсь, сижу и пла́чу.

Не говоря уже о том, что нормального OCR'а под Линукс тоже нет.


Возможно, стоило сначала перегнать в PDF, а потом через pdf2djvu. Но это бы не решило многих проблем. Пусть уж остается, как есть.


А люди говорят: «Выдайте нам спеки видеокарты, мы сами все 3D напишем!». Ага, щас. Напишут.


Может быть, у меня кривые руки. Не исключаю. Но что ж, мне для таких простых операций нужно изучить структуру формата, ознакомиться с алгоритмами сжатия и еще прочитать код djvulibre? Доколе еще, Катилина, мы будем вот так все делать?


А Okular имеет критические баги в обработке текстового слоя DjVu, которые висят открытые в багтрекере еще с 2010-го года.

Ну вот почему у нас все так плохо?

★★★★★

Последнее исправление: proud_anon (всего исправлений: 2)

«Жри что дают»© главный лозунг советского союза
сам понимаешь, бесплатные программы только в ссср были

Karapuz ★★★★★
()
Ответ на: комментарий от KRoN73

>И близорукие увидят больше деталей.

И ты не видишь чудовищных рваных краёв у шрифтов?

massimus ★★★
()
Ответ на: комментарий от massimus

>Вижу драные края букв.

Так суть DjVu именно в сохранении исходного вида документа.

Он разрабатывался для компактного хранения сканов всяких рукописей и т.п. при этом с удобным использованием (отсюда OCR для поиска, навигация).

KRoN73 ★★★★★
()
Ответ на: комментарий от massimus

>Именно. Использовать его для чтения — негуманно.

Ты лично со своим гуманизмом сверстаешь редкие книги, чтобы другие могли их читать в PDF?

ooobooontooo
()
Ответ на: комментарий от baverman

убейся, и не говори больше такой чуши. Он нужен для хранения больших книг при малом занимаемом объёме. imo лучший из форматов для книг такого типа

qnikst ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

>А давайте разберём.

А зачем разбирать? Проблемы есть? Есть. Те из них которые заметили и устранили, были исправлены благодаря гордым терпилам, или тем кто про эти проблемы писал (в том числе и в багтрекеры)?

В своём посте я не ставил целью поиздеваться над Линуксом, или превознести одну вещь над другой. Я описал само явление и указал проблемы которые так или иначе некоторыми личностями принято не замечать. Поищите по ЛОРу упоминание любой из них и вы обязательно найдёте людей у которых «всё работает», которые не считают её недостатком и которые считают её исключительно половой проблемой выходцев с других ОС.

ОП хорошо, грамотно, без лишних эмоций и фанатизма описал недостатки определённого свободного программного обеспечения, которые помешали ему качественно и быстро сделать необходимую работу. Его тема полезна и информативна. Теперь если мне понадобится создать книгу в djvu формате, я не буду откладывать работу на последний день и заранее приготовлюсь к определённым трудностям. Но, в итоге, его обозвали нытиком, а его работу - ненужной. Потому что настоящие мужики терпят и учатся получать удовольствие от процесса.

Nebuchadnezzar ★★★★
()
Ответ на: комментарий от proud_anon

а если в книги формулы, рисунки и прочее — замучишься ведь конструировать FB2


хомячки под чтением подразумевают только чтение толкиена, им невдомек что существуют over 999 howto со схемами, исходниками, таблицами и картинками в chm и pdf

Karapuz ★★★★★
()
Ответ на: комментарий от massimus

>Использовать его для чтения — негуманно.

Хорошо. Перевёрстывай в удобный для чтения FB2 (а то PDF для чтения — тоже негуманно, пусть и гуманнее, чем DjVu :D)

KRoN73 ★★★★★
()
Ответ на: комментарий от qnikst

Он нужен для хранения больших книг при малом занимаемом объёме.

То есть, для комфортного чтения большинством людей (так как мало кому нужно просто хранить) он не предназначен? В том посте я о том же и говорил.

baverman ★★★
()
Ответ на: комментарий от baverman

> То есть, для комфортного чтения большинством людей (так как мало кому нужно просто хранить) он не предназначен? В том посте я о том же и говорил.

я понял просто из 1 поста это было нре очевидно.

qnikst ★★★★★
()
Ответ на: комментарий от Nebuchadnezzar

А зачем разбирать? Проблемы есть? Есть. Те из них которые заметили и устранили, были исправлены благодаря гордым терпилам, или тем кто про эти проблемы писал (в том числе и в багтрекеры)?
На этом я и акцентировал внимание в этом сообщении. Всего лишь год назад ни о каком битстриминге в Linux речь даже и не шла. Мне был нужен битстриминг - я достал спеки. Anssi Hannula был нужен битстриминг - он написал код для FFmpeg и XBMC (и возможно для ALSA, не помню). Куче юзеров нужен битстриминг - они протестировали патчи Anssi Hannula и доложили о результатах...
> Потому что настоящие мужики терпят и учатся получать удовольствие от процесса.
...всем нам был нужен определённый результат и мы прикладывали некоторые усилия для его достижения.
> ОП хорошо, грамотно, без лишних эмоций и фанатизма описал недостатки определённого свободного программного обеспечения, которые помешали ему качественно и быстро сделать необходимую работу. Его тема полезна и информативна.
То, что написал ОП, нужно было писать в багтрекеры и в рассылки. Вы ведь и так согласны с этим.
> Теперь если мне понадобится создать книгу в djvu формате, я не буду откладывать работу на последний день и заранее приготовлюсь к определённым трудностям.
Много было бы толку, если бы год назад я вместо того, чтобы доставать спеки, создал бы тред в Толксах чтобы поплакаться на тему того, что в Linux не работает битстриминг?
> Я описал само явление и указал проблемы которые так или иначе некоторыми личностями принято не замечать. Поищите по ЛОРу упоминание любой из них и вы обязательно найдёте людей у которых «всё работает», которые не считают её недостатком и которые считают её исключительно половой проблемой выходцев с других ОС.
Ну это их дело. Если их устраивает - то в чём проблема? А если вас, или его что-то не устраивает, и результат реально нужен - как говориться, есть шанс отличиться.

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от Igron

> убийцу microsoft word

ворд есть уродство. искуственно навязанная софтина у которой нет естественной ниши. для простых документов есть wordpad/abiword для документов более 5и странц есть LaTeX/LyX.

thunar ★★★★★
()
Ответ на: комментарий от ooobooontooo

ужс, пользуйся ntsf, за 10 лет «ни единого разрыва»

Karapuz ★★★★★
()
Ответ на: комментарий от massimus

>о есть из этого можно сделать нормальный PDF c нормальными шрифтами.

а ты сперва сделать попробуй. Я лучше предпочту скан так как там есть гарантия аутентичности текста чего зачастую в самопальных pdf не наблюдается

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от ooobooontooo

>Ты лично со своим гуманизмом сверстаешь редкие книги, чтобы другие могли их читать в PDF?

Ты лично


Я лично верстаю то, что мне лично нужно. Если людям нравится ломать глаза — кто я такой, чтобы им мешать?

massimus ★★★
()
Ответ на: комментарий от thunar

искуственно навязанная софтина у которой нет естественной ниши


ты еще скажи что dreamweaver ненужен потому что нет естественной ниши. WYSIWYG типа только для хомячков.

Кстати, у Macintoshеводов есть свой аналог ворда, несовместимый по форматам файлов, Corel Office и еще неизвестно какой лучше, потому что MS office протолкнули банально массой, пузом

Karapuz ★★★★★
()
Ответ на: комментарий от stevejobs

>А ты сам-то тем ликсом пользовался?

Если есть готовые стили то набивать текст проще чем в ворде, особенно библиографию делать. А картинки/таблицы вставляются элементарно

DNA_Seq ★★☆☆☆
()

> Нет никакого ПО, которое помогло бы мне обработать документ с учетом особенностей алгоритма сжатия.

Пришлось пользоваться старым добрым Imagemagick'ом

И какое оно после этого «нет софта»??? Что, неасилил Imagemagick ? [Ненависть]

segfault ★★★★★
()
Ответ на: комментарий от KRoN73

> Он не нужен для «просто книг». Он нужен для книг, где важно сохранить исходное отображение. Для этого и разрабатывался. Поэтому и достаточно малопопулярен.
Примерно так и понимаю его предназначение: хранить что-то такое, что по-другому оцифровать не получается. Большинство книг правильно хранить в текстовом виде, с чем отлично справляется и pdf, и другие форматы.

metar ★★★
()
Ответ на: комментарий от DNA_Seq

>гарантия аутентичности текста чего зачастую в самопальных pdf не наблюдается

Но это же не проблема формата, верно? Это просто коекакерство распознавальщиков. А сканы, безусловно, нужны. Хотя бы для того, чтобы сверять распознанное. Читать же сканы лично мне неудобно, глаза протестуют. Причём в дежавю этот их чудесный алгоритм норовит из любого мутного пятнышка, из любого дефекта полиграфии сделать чёткую кляксу.

massimus ★★★
()
Ответ на: комментарий от stevejobs

регулярно им пользуюсь.

зачем формулы мышкой набирать? ну можно, конечно, но я набираю хоткеями и TABом, получается даже удобнее чем в обычном техе.

графики.

набирать графики мышкой? что что простите это сейчас было?

thunar ★★★★★
()

Мда, наверное проще было бы переписать в TeX.

firestarter ★★★☆
()
Ответ на: комментарий от thunar

> набирать графики мышкой? что что простите это сейчас было?

в Экселе в табличку пишешь данные для графика (вписываешь в ячейки). Потом мышкой выделяешь ячейки и запускаешь «мастер создания графиков». Там прокликиваешь какие колонки что будут значить, раскрашиваешь оси, итп. Потом мышкой перетаскиваешь график в окно Ворда. Так получается график мышкой.

зачем формулы мышкой набирать?


это визуальненько, сразу видишь что пишешь

//в ликсе же был какой-то гуй для рисования формул мышкой, только убогий?

stevejobs ★★★★☆
()
Ответ на: комментарий от DNA_Seq

Ты про формулы и прочее? Если текст состоит только из них, то, разумеется, такое верстать заколебёшься и проще читать скан. Но даже просто картинки читабельней, чем дежавю. То, что оно делает с текстом — это просто трешак.
Я считаю, что в djvu на самом деле смысл есть только при совпадении сразу нескольких условий: редкая книга; важно её отображать в вёрстке оригинала; содержание в основном не текстовое; но при этом нужен поиск по тексту; содержание достаточно ценное, чтобы ломать глаза.
В таком случае djvu с распознанным слоем — в самый раз. Но чаще его используют не по назначению.

massimus ★★★
()
Ответ на: комментарий от ramon13666

> не нужно мне — не нужно никому.
Я не только этого не утверждал, я еще и вынужден читать отдельные книги в этом вашем djvu, потому что российские издательства некоторые советские книги переиздавать не будут уже никогда. И, прямо скажем, читать сканы мне не нравится, гораздо веселее искать хорошие англоязычные источники в текстовом виде.

metar ★★★
()
Ответ на: комментарий от massimus

>Но это же не проблема формата, верно?

ШГ тоже не проблема djvu, в pdf будет то же самое + артефакты jpeg

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от ooobooontooo

> Кстати прям как в посте: на днях непогрешимая ext4 рухнула после потери питания и утащила внезапно файлы в /dev/null, причем те которые не использовались в это время, сижу и офигеваю до сих пор.

Удваиваю.

Я терял данные «на ровном месте» и имел всякие чудеса с дисками на любых линуксовых ФС, кроме JFS до которой уже просто руки не дошли... В серверах с ext3 при этом ничего вроде не случается, может не так интенсивно с дисками работают как десктоп, не знаю...

На виндах про эти проблемы забыл и не вспоминал никогда после прощания с Win98SE и егойной FAT32.

pasha-tsvetomuzika
()
Ответ на: комментарий от massimus

еще вариант «нужно выложить побыстрее в максимальном качестве». Отсканить и выложить куда быстрее, чем распознать

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

за сколько набёшь данные статьи со спошными мат формулами, причём не простые, в виде в котором примут в зарубежный журнал, или хотя бы на arxiv?

qnikst ★★★★★
()
Ответ на: комментарий от stevejobs

> в Экселе в табличку пишешь данные для графика (вписываешь в ячейки). Потом мышкой выделяешь ячейки и запускаешь «мастер создания графиков». Там прокликиваешь какие колонки что будут значить, раскрашиваешь оси, итп. Потом мышкой перетаскиваешь график в окно Ворда. Так получается график мышкой.

а.. так ты не с научными данными работаешь.. ну так бы сразу и писал.

qnikst ★★★★★
()
Ответ на: комментарий от stevejobs

> Экселе в табличку .. график мышкой.

так получается самый ублюдочный и уродливый график, который только можно сделать. есть же специальные программы для построения графиков, нет, будем говном обмазываться и другим предлагать покушать сладкого хлеба.

thunar ★★★★★
()
Ответ на: комментарий от stevejobs

а согласишься ли ты набрать подобную статью за 1 день (ну оплата как ты говорил 2 часа), чтобы все формулы (промежутки между и т.п.) отображались корректно, соотв если что не то, то доделываешь бесплатно, за каждый просроченный день -10 баксов, т.е. за неделю уйдёшь в минус

qnikst ★★★★★
()
Ответ на: комментарий от Quasar

> Если там всё завязано на форматировании, а не прямом представлении листа как на бумаге (так представляется в PDF и DJVU) - тогда этот формат только для художественной литературы и годится. Для учебной и научной он неприменим абсолютно.

Если бы была возможность сделать обтекание текстом изображения, то можно было бы вставлять картинки с графиками и формулами, и фб2 подошел бы для научной литературы.

drull ★☆☆☆
()
Ответ на: комментарий от ooobooontooo

нет, общепринятым требованиям, хотя бы к оформлению погрешностей, интерполяциям, отображению шкал (в небанальных случаях).

им и ворд то не угождает, что и логично.

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

нет конечно.
Ну или время возрастает до 16 часов плюс строгое письменное изложение «что такое корректно»;)

stevejobs ★★★★☆
()
Ответ на: комментарий от drull

>Если бы была возможность сделать обтекание текстом изображения, то можно было бы вставлять картинки с графиками и формулами, и фб2 подошел бы для научной литературы.

Не подошел бы. Иногда формулы покрывают процентов 90 листа, текст превратился бы в кашу. Не говоря уже о необходимости ручного выделения каждой формулы как картинки потому что ocr пытается их распознавать

DNA_Seq ★★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.