Ru-Board.club
← Вернуться в раздел «Программы»

» WinDjView

Автор: ghosty
Дата сообщения: 03.06.2009 23:37
Маленький багрепорт и очень маленькая хотелка

Багрепорт: при создании закладки (Ctrl-B) в полноэкранном режиме мышь в приложении деактивируется, поэтому выйти из режима создания закладки можно только через Esc. Закладка при этом не сохраняется.

Хотелка: нельзя ли ввести опцию входа в полноэкранный режим при двойном нажатии на закладку - было бы очень удобно.

Еще очень не хватает все-таки возможности оставлять хоть какие-нибудь пометы на странице - хотя бы простейшие прямые линии, к примеру. Можно было бы задействовать background layer для этих целей...
Автор: Nick222
Дата сообщения: 04.06.2009 09:45
ghosty
Вы хотите разрешить пользователю менять файл при просмотре?
Извините, но это, ИМХО, полностью ломает принципы неизменности и аутентичности данного формата...

Если пометы не будут храниться вне основного файла, то в Сети появится масса разных файлов одинаковых книг - и будет ужас почище того, что сейчас с DOC - т.к. DjVu посимвольно сравнить и выявить реальные различия между версиями уже не получится.

ИМХО, пометы должна хранить только читалка и хранить у себя (как, например, это делает BookSeer)...

ЗЫ: Если я Вас неправильно понял - прошу извинить - больно уж это для меня чувствительная тема
Автор: monday2000
Дата сообщения: 04.06.2009 11:40

Цитата:
Можно было бы задействовать background layer для этих целей...

Обычно это хранится в чанке ANTz (в виде обычного текстового кода) - и называется это "аннотации". Их можно добавлять при помощи Document Express Editor 6.

Но вообще-то примерно такая фича в WinDjView есть - но она с глюком - см. http://forum.ru-board.com/topic.cgi?forum=5&topic=18322&start=900#21

P.S. Я уже говорил не раз, что к WinDjview уже впору хелп писать. Уже народ начинает не знать, как пользоваться программой.
Автор: ghosty
Дата сообщения: 04.06.2009 12:00
Nick222

Цитата:
Извините, но это, ИМХО, полностью ломает принципы неизменности и аутентичности данного формата...

Хм, а кто эти принципы устанавливал?
Если хочется аутентичности, можно было бы, как минимум, ввести опцию "Удалить все пометы и закладки" - и нет проблем.


Цитата:
Но вообще-то примерно такая фича в WinDjView есть - но она с глюком
Гм, это именно то, что надо, действительно не заметил
Кажется, эта фича введена совсем недавно...

Напомните, пожалуйста, где хранится вся эта информация о закладках и пометах, и как их проще всего синхронизировать между двумя компами (стационарным и ноутом).
Автор: Nick222
Дата сообщения: 04.06.2009 12:02
ghosty
Есть логика формата - которая с Вашим предложением нарушается.
Когда Вы увидите в Сети сотни различных вариантов одной и той же книги - Вы ещё припомните мои слова...
Вы вообще знаете - где и как PDF сохраняет "внешнюю" информацию?
Автор: ghosty
Дата сообщения: 04.06.2009 12:04
Nick222

Цитата:
Вы видели - где и как PDF сохраняет "внешнюю" информацию?
Не вижу ничего страшного. Далеко ходить не надо - Foxit PDF Reader позволяет делать какие угодно пометы и сохранять их непосредственно в PDF. Пока не встречал ни одной PDF с пометами в электронных библиотеках.
Автор: Nick222
Дата сообщения: 04.06.2009 12:42
ghosty
Ничего, скоро увидите, особенно в файлообменных сетях...

Советую почитать что-нибудь про теорию информации, энтропию - а также проблему потери информации и её искажения в существующем корпусе письменных источников человечества.
В частности важны скорость искажения информации, ненужное псевдодублирование информации, фактическая потеря информации при её формальном наличии.

Вы хоть третий курс закончили? Странно было бы видеть взрослого специалиста с такими безответственными рассуждениями...
Автор: ghosty
Дата сообщения: 04.06.2009 12:59
Nick222
"Остапа понесло"
Сворачиваем дискуссию - ответ в ПМ (если найду время).
Автор: Nick222
Дата сообщения: 04.06.2009 13:19
ghosty
Хамство не заменяет аргументов...
Автор: ILHS
Дата сообщения: 04.06.2009 13:27

Цитата:
ввести опцию "Удалить все пометы и закладки"

Это хорошая идея, если изменения сохранятся в самом файле. Но можно ввести опцию сохранения только изменений (пометы, закладки итд) в той же папке и с таким же именем, но в другом формате.
Автор: Nick222
Дата сообщения: 04.06.2009 13:44
ILHS
+1000

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

Более того, такой софт и такой формат хранения дополнительной информации к книгам можно сделать единым для всех форматов е-книг - как сейчас формат описания FBD можно в ряде библиотекарей использовать для описания книг любого формата файла.
Автор: ILHS
Дата сообщения: 04.06.2009 13:53
Nick222

Цитата:
можно сделать единым для всех форматов е-книг

+10000
Автор: Nick222
Дата сообщения: 04.06.2009 14:10
ILHS
Тогда, ИМХО, нужно делать XML, типа:
- маргиналии: точка ссылки, текст заметки, размещение заметки;
- цитата (их можно помечать как-нибудь - что этот кусок уже есть в базе цитат): откуда и докуда;
- подчёркивание: линия, цвет линии, тип линии, точка начала линии, точка конца линии;
- выделение цветом: так же, как линия;
- закладка: номер, место, краткий текст, место и тип показа (только метку или ещё и текст);
- гиперссылка из книги (типа "это место имеет отношение к моей диссертации"): точка ссылки, файл, на который ведёт ссылка, название ссылки;
и т.д., и т.п.

Примерно то, что делал Грибов, когда создавал схему FB2.

Думаю, нужно либо говорить с Грибовым, либо делать свой форум и разрабатывать и продвигать свой формат.

Кстати, точку, к которой имеет отношение вхождение, придётся, если есть текстовый слой, помечать привязкой к символу - а если нет текстового слоя, то как? Через координаты пикселя на странице?
Автор: Hiken
Дата сообщения: 04.06.2009 14:18
Рисковое это конечно дело... Думаю, если текстового слоя нет, то в пометках отказать будет самым разумным выходом.
Автор: Nick222
Дата сообщения: 04.06.2009 15:13
Hiken
Ну хотя бы закладки нужны - есть же объект "страница" - на неё можно и дать ссылку + на неё же можно прицепить пометку.
Автор: monday2000
Дата сообщения: 04.06.2009 16:23
Nick222

Цитата:
Когда Вы увидите в Сети сотни различных вариантов одной и той же книги - Вы ещё припомните мои слова...
Вы вообще знаете - где и как PDF сохраняет "внешнюю" информацию?

Мне кажется, что эта проблема пересекается с проблемой отсутствия метаданных DjVu-файла в спецификации DjVu. Метаданные для всего файла есть у формата PDF - но нет для формата DjVu. Именно туда PDF файл записывает такие вещи, как название книги, автор книги, год издания и т.п. Для DjVu-файла всю эту информацию некуда записать.

Джим Райли давно уже бьётся с Лизардами - Целартем за то, чтобы они ввели в спецификацию формата DjVu метаданные для всего файла. Джим предложил формат метаданных XMP - т.е. точно такой же, как и в формате PDF. Подробнее см. тут: http://www.djvu.org/forum/phpbb/viewtopic.php?t=530

ИМХО наличие таких метаданых позволило бы избежать каши в разных "клонах" одной и той же DjVu-книги. Правда, для этого пришлось бы взять за правило, выкладывая книгу, рядышком выкладывать крохотный файлик с выдержкой из его метаданных - чтобы можно было определить, какой это "клон". Или же в имени файла указывать CRC метаданных (имея в виду, что у каждого "клона" слегка отличающиеся метаданые).

Добавлено:
AndyZ
У меня вопрос по DjVuLibre.

Подскажите, пожалуйста, как бы мне вытащить из GUTF8String кириллическую строку в обыкновенном формате char*, да ещё так, чтобы всё это дело работало в Windows 98? Вы, помнится, говорили, что для этого нужно иметь в своей программе всю таблицу соответствия ANSI - UTF8?

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

Как я понял, DjVuLibre внутри себя всё хранит в Юникоде - и так просто оттуда обычную ANSI-строку не вытащишь (особенно под Win98).
Автор: ghosty
Дата сообщения: 04.06.2009 16:41
Это все, конечно, хорошо - централизованная организация помет, заметок и закладок - но непонятно, кто этим будет заниматься (кстати, не Грибков, а Грибов ), и будет ли вообще это реализовано когда-либо.

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

Nick222

Цитата:
Вы хоть третий курс закончили?

Цитата:
Хамство не заменяет аргументов...
Не знаю, где Вы у меня хамство нашли, но с каких пор переход на личности считается аргументом? (можно не отвечать - вопрос риторический)
Автор: Griefin
Дата сообщения: 04.06.2009 17:27
ghosty

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

Нужно подключать реестр другой машины по сети и делать двухстороннюю синхронизацию ключей из HKEY_CURRENT_USER\Software\Andrew Zhezherun\WinDjView\Documents. Наверное уже есть какие-то программы, решающие такую задачу.
Автор: ghosty
Дата сообщения: 04.06.2009 17:55
Griefin

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

Цитата:
Наверное уже есть какие-то программы, решающие такую задачу.
Я пользуюсь Super Flexible Synchronizer, и он не настолько Flexible, чтобы уметь синхронизировать ветки реестра Если посоветуете программу, буду благодарен.
Но все-таки как-то это... не так
Автор: Nick222
Дата сообщения: 04.06.2009 18:18
ghosty
Экспорт ветки реестра с помощью плагина для Тотал Коммандер и импорт простым запуском на другой машине. Дальше убираем лишние ветки
Полную и качественную синхронизацию вряд ли возможно делать так легко - во всяком случае, такого софта я за годы поисков не встречал.
Попробуйте, может быть, открыть в ТК в двух панелях реестры двух компов (плагин CoRegistry http://wincmd.ru/plugring/CoRegistry.html - только что появился, поддерживает работу с удалённым реестром, пока альфа). Может получиться...

Если бы автор программы сделал бы сохранение всего индивидуального в INI-файл, как я и другие его просили, - а не слушался таких советчиков, как Вы и подобные - сейчас лично Вам было бы гораздо легче работать...
Автор: ghosty
Дата сообщения: 04.06.2009 20:02
Nick222

Цитата:
Экспорт ветки реестра с помощью плагина для Тотал Коммандер и импорт простым запуском на другой машине. Дальше убираем лишние ветки
Нет, ну это совсем неудобно От компьютера к компьютеру особо не поскачешь...


Цитата:
Если бы автор программы сделал бы сохранение всего индивидуального в INI-файл, как я и другие его просили, - а не слушался таких советчиков, как Вы и подобные
Опять напраслину возводите Автор исключительно самостоятельно принял такое решение. Действительно, если бы был такой INI, было бы намного удобнее.
Постойте, как это "советчики"... Ведь это именно Вы года два назад... эмм... настоятельно советовали нам поскорее забросить отжившие свое растровые форматы и дружными рядами переходить на прогрессивный FB2? Вот уж точно у нас теперь проблем совсем не было б. Но что же Вы теперь здесь делаете?
(без обид - шутить изволю-с ).
Автор: Nick222
Дата сообщения: 04.06.2009 20:10
ghosty
А как же предполагается - один комп на работе, а другой дома?
Или они оба в локалке?

ЗЫ: Я на него и перешёл - и не жалею...
Автор: ghosty
Дата сообщения: 04.06.2009 20:24
Nick222

Цитата:
А как же предполагается - один комп на работе, а другой дома?
Или они оба в локалке?
В локалке.
Автор: Nick222
Дата сообщения: 04.06.2009 20:38
ghosty
Тогда я вообще не понимаю: ставим ТК, вешаем плагин CoRegistry + просим его автора доделать обращение к удалённому реестру.

Открываем слева на панели реестр одного (данного) компа, справа другого (удалённого), включаем в мею "Синхронизировать каталоги" - и получаем список несовпадений, которые и синхронизируем руками (что весьма быстро с данным инструментом)...

Другое дело, что это может и не работать пока и глюки могут быть.
Но, если бы мне было нужно - я бы именно так и попробовал сделать.
Автор: AndyZ
Дата сообщения: 04.06.2009 21:08
monday2000
Цитата:
такая фича в WinDjView есть - но она с глюком
Фича есть, глюков нет. Right click->Delete Annotation, всё просто.

Цитата:
как бы мне вытащить из GUTF8String кириллическую строку в обыкновенном формате char*
Посмотрите функцию MakeCString в исходниках.

Добавлено:
ghosty
Цитата:
Багрепорт: при создании закладки (Ctrl-B) в полноэкранном режиме мышь в приложении деактивируется, поэтому выйти из режима создания закладки можно только через Esc. Закладка при этом не сохраняется.
Мышь деактивируется, когда она не двигается некоторое время, с закладками это никак не связано. Но баг действительно есть - нужно её включать при показе диалога.

Цитата:
Хотелка: нельзя ли ввести опцию входа в полноэкранный режим при двойном нажатии на закладку - было бы очень удобно.
Мне пока непонятно, насколько это будет полезно и интуитивно.

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

Добавлено:
monday2000
Цитата:
Мне кажется, что эта проблема пересекается с проблемой отсутствия метаданных DjVu-файла в спецификации DjVu.
Это утверждение не соответствует действительности. Метаданные предусмотрены спецификацией, и используются, например, DictionaryTool для внедрения в файл словарного индекса.
Автор: ILHS
Дата сообщения: 04.06.2009 21:32
AndyZ
Может действительно пора уже хелп создать?
Автор: ghosty
Дата сообщения: 05.06.2009 02:24
AndyZ

Цитата:
Мне пока непонятно, насколько это будет полезно и интуитивно.
Полезно, т.к. при чтении с нетбука при повороте экрана на 90град. клавиатура тоже поворачивается и комбинации клавиш становится очень неудобно использовать Поэтому чем больше можно сделать тачпадом, тем лучше.
Интуитивно, потому что во многих приложениях двойной клик используется для перехода в полноэкранный режим - к примеру, в видеоплеерах. И получается логично: один клик - переход на данную закладку, два клика по закладке - переход в полноэкранный режим.
Если это покажется кому-то неочевидным, можно сделать хотя бы в виде опции.

Да, еще забыл спросить - а есть ли горячая клавиша для переключения между книгами (особенно в полноэкранном режиме)?

И что все-таки Вы посоветовали бы для автоматической синхронизации? Может быть, действительно можно было бы использовать *.ini для хранения закладок/аннотаций?
Автор: monday2000
Дата сообщения: 05.06.2009 08:15
AndyZ

Цитата:
Фича есть, глюков нет. Right click->Delete Annotation, всё просто.

Увы, у меня это не работает (Win XP Prof). Т.е. глюк. Видимо, у того человека тоже не работает. Цветное выделение не удаляется.

Цитата:
Посмотрите функцию MakeCString в исходниках.

Спасибо!

Цитата:
Это утверждение не соответствует действительности. Метаданные предусмотрены спецификацией, и используются, например, DictionaryTool для внедрения в файл словарного индекса.

Может, я не совсем удачно выразился. Это "другие" метаданные (на весь файл целиком) - не такие, какие действительно есть и предусмотрены спецификацией.

Вот посмотрите тут: http://www.djvu.org/forum/phpbb/viewtopic.php?t=530&start=0 Я думаю, уж Джим Райли-то знает, о чём говорит.
Автор: monday2000
Дата сообщения: 05.06.2009 10:24

Цитата:
Посмотрите функцию MakeCString в исходниках.

Взял я эту функцию. Но что-то всё равно она у меня пока не срабатывает. Команда

Цитата:
printf("strResult = %s\n",strResult);
(Только я вместо CString переделал на char [260] - т.к. без MFC)
Выдаёт:

Цитата:
strResult = D:/Doc/%D0%9F%D1%80%D0%BE%D0%B1%D0%B0/djvulibre/

А надо бы:

Цитата:
strResult = D:/Doc/Проба/djvulibre/

В чём же может быть проблема? (IsValidUTF8(text) не выдаёт ошибку). Ваш код я практически не поменял, разумеется.
Автор: AndyZ
Дата сообщения: 05.06.2009 10:50
monday2000
А Вы уверены, что исходная GUTF8String правильная? %D0 и т.д. - это не UTF8. Такое впечатление, что это UTF8, обёрнутый в URL encoding. Поэтому MakeCString просто ничего не меняет.

Добавлено:
ghosty
Цитата:
Может быть, действительно можно было бы использовать *.ini для хранения закладок/аннотаций?
Автоматическое хранение закладок в отдельном файле когда-нибудь будет реализовано. Пока можно воспользоваться пунктами меню Import/Export Bookmarks.

Цитата:
а есть ли горячая клавиша для переключения между книгами (особенно в полноэкранном режиме)?
Переключение стандартное - Ctrl+Tab. А в полноэкранном режиме открывается одна книга. Чтобы переключиться на другую, нужно из него выйти.

Добавлено:
ILHS
Хелп обычно никто всё равно не читает

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556

Предыдущая тема: Двухядерные AMD


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.