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)

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

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

Вобщем «сперва добейся»

sdio ★★★★★
()

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

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

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

ну фанатик является человеком непосредственно работающим с научными данными, судя по вопросам, в отличии от..

excel не позволяет вести адекватное отображение данных учитывая все требования, с которые вы можете без труда узнать у любого действующего работника НИИ, преподавателя нормального ВУЗа.

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

так и пиши сразу, 16 часов.

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

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

давно все это обсосано под Linux.

Ссылку давай. А то это сообщение выглядит довольно таки пикантно, ввиду отсутствия поиска (не по глазам?) на флибусте. Гугл тоже молчит.

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

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

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

> На научных текстах свет клином не сошелся, это раз.

по контексту речь именно про них, там стивджобс предлагает всё мышкой в ворд+латех за 5 минут сделать.

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

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

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

Прочитай внимательно. Я разбирал не формат, а выхлоп djvused. Скрипты полны быдлокода и ad-hoc хаков. Любой их может минут за 20 написать. Это будет очень незначительная часть работы по времени.

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

>На flibusta.net давно все это обсосано под Linux.
Флибуста закрыта от Гугла, поиска по их форумам я так и не нашел. Дайте ссылку, где там это обсосано, почитаю.

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

Это опенсорс, детка. Тебе никто ничего не должен.

Основополагающий принцип — возьми у общества, доделай для себя и поделись с обществом.

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

>а что не так с fbreaderом?
Ну, хоть это и оффтопик, но могу сказать, что мне не понравилось.

  • Почему-то нельзя просто открыть книгу. Ее нужно сперва добавить в библиотеку.
  • В этой самой библиотеке нету поиска между книгами (по названию, например). А вдруг она огромная? Если уж надо все книги туда записывать, отчего поиска-то нет?
  • Да и книжки туда вносятся строго по метаданным, а изменить их сам FBReader не может. Отсюда если книга попадает не туда. куда надо, замучишься ее переносить.
  • Я не знаю, почему, но у меня от отображения шрифтов в ней рябит в глазах больше, чем после Okular'а. Это, конечно, уже метафизика какая-то, но, может, сглаживание другое. Вот это моя главная проблема. Okular тоже читает DjVu, но у него свои недостатки.
  • Блин, закладок нету до сих пор! Хоть бы временных, до закрытия программы или открытия другой книги.
  • Мне ну очень непривычно работать с читалкой документов, которая по правой кнопке ускакивает по тексту в неизвестную даль, а не открывает контекстное меню.
  • А тем более, когда она это делает по левой кнопке.
  • И, наконец, 21-й век во дворе, а ради отдельного формата надо приспосабливаться к отдельной читалке.
proud_anon ★★★★★
() автор топика
Ответ на: комментарий от sdio

>Это опенсорс, детка. Тебе никто ничего не должен.
Да, но менее грустно мне от этого не становится.

>Основополагающий принцип — возьми у общества, доделай для себя и поделись с обществом.
Я собираюсь. И делюсь. Книгами, например. Но тут ведь как получается? «Хочешь сделать для сообщества стол? Вот тебе от сообщества молот кузнечный без ручки, наковальня и топор. Пойди наруби дров и еще каких нужно материалов найди, построй себе кузницу, приделай к молотку ручку, скуй гвоздей, сделай молоток и пилу для работы по дереву и все прочие инструменты и делай из этого стол. И тогда можешь его подарить сообществу. Желательно вместе с кузницей. Тебе никто ничего не должен, знаешь ли»

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

> В этой позиции мне непонятно только одно: почему тогда не пользоваться виндой/маком?

Виндой — легко. А вот маком — дорого. В жизни макось вне магазинов видел всего пару раз, айфон — раза два, айпод с айпадом — вообще не видел.

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

> За меня тоже не волнуйся. Чего я делать точно НЕ буду, так это плакаться на ЛОРе.

Ну пойдешь ты развлекаться в другое место, суть от этого не изменится.

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

Хочешь сделать для сообщества стол?

В этом твоя ошибка! Сделай стол для себя. Разработай дизайн, чертежи, выкройки и ими поделись с сообществом.

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

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

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

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


Внедри свои абиворд с техом в фирме, где работает хотя бы 10 человек. Для начала.

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

> Почему вы тогда линуксом пользуетесь, если у него все так грустно?

Просто когда-то заметил, что десктоп на втором гноме удобнее виндовса. Но эти времена уже заканчиваются: нынче в моде светящиеся в темноте концы с блестками, вместо рабочих инструментов.

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

>Разработай дизайн, чертежи, выкройки и ими поделись с сообществом.
Э, нет. Не любит сообщество дизайнов, чертежей и выкроек. Оно любит готовые столы.

Если напишешь спецификацию своего формата хранения данных и выложишь в сеть — много ли людей пойдут тебе помогать писать реализацию? Да ни одного. «Ты начинай, а другие, может, придут». Или свою идею для программы, алгоритм или еще что. Даже многие фичреквесты. «Show us the code» — вот девиз опенсорса.

Да, сообщество любит даже готовые столы, сделанные кем-то «для себя». По-моему, с DjVu сейчас именно эта проблема. Есть набор «сделанных для себя» столешниц, ножек, стульев, гвоздей и комнат. Совместить это все так, чтобы получилось прилично, не выходит.

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

Спасибо, попробую при случае.
Может быть, и Alreader попробую, если уж он такой прекрасный, что его под Вайном не жалко запускать.

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

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

Ну ты и извращенец.

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

Спасибо. Прочитал.

>http://flibusta.net/node/78199
Ну, тут у автора получилось примерно то же, что у меня и коэффициент сжатия примерно такой же. Значит, с августа 2010-го дело далеко не продвинулось. Грустно это.

Дополнительно отмечу, что я не согласен с теми, кто считает, будто все надо перегонять в черно-белые изображения вне зависимости от исходника.

>http://flibusta.net/node/77590
Эта, статья, как я понимаю, устарела и заменена предыдущей.

>http://flibusta.net/node/77676
В этой статье автор удаляет одну страницу из PDF, перегоняя PDF в PostScript. То ли он головой ушибся, то ли софт под Линукс действительно так быстро развивается, но блин... уж сейчас-то точно есть гораздо более простые способы. PdfTk взять, например.

>http://flibusta.net/node/77678
Здесь опять простая статья для начинающих и опять «все в дихромный вид». Вот из-за этого, а иногда еще из-за эффективного с точки зрения сжатия, но нередко приводящего к вырвиглазию поведения проприетарного кодека, и пишут люди, что «приличных сканов в DjVu не видели».

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

В мире опенсурса чуть что-то где-то недоделано или криво работает, недопилено или остаётся проприетарному аналогу - так сразу «не нужно». типичная отмазка, от которой тошнит уже.

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

> В мире опенсурса чуть что-то где-то недоделано или криво работает, недопилено или остаётся проприетарному аналогу - так сразу «не нужно»
«Может он никому не нужен» — это не каноническое лоровское «не нужно», а намек на то, что им действительно мало кто пользуется, значит мало кто может пилить его поддержку. Лорчанка у вас, а я уже на третье такое сообщение отвечаю.

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

>scantailor случайно не пробовал
Я только сейчас про него узнал, но, как я понимаю, он решил бы только проблемы первого этапе, и то не факт (да это, пожалуй, почти самое простое было).

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

>>12309 активно фиксят, причём, как я могу судить, довольно успешно.

стесняюсь спросить, это как почти беременна?

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

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

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

>>Ну так это же не один баг

12309 это ведь номер конкретного бага. хотя да, по io там фиксить и фиксить ещё.

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

> В-третьих, я попробовал несколько читалок FB2 под Линукс, и вот какое дело: ни одной приличной не нашел. Читать, конечно, можно, но не более того. Посоветуете?

coolreader

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

ванильный :3

На самом деле я просто сначала не включил в торренте функцию резервирования всего места под раздачу

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