Black Snake`s FictionBook Reader

Программы, утилиты

Black Snake`s FictionBook Reader

Сообщение Змей » Чт мар 26, 2009 2:05

изменено 17.07.2009
Теперь под .NET.

(аттач удалён.)
[Описание и архив на второй странице!]
Последний раз редактировалось Змей Вт июл 14, 2009 20:52, всего редактировалось 2 раз(а).
BS FB2 Reader Pro — OpenSource читалка FB2 Полная поддержка спецификации FB2, включая таблицы и стили. Отображение сносок всплывающим блоком.
Аватар пользователя
Змей
Новенький участник форума
Новенький участник форума
 
Сообщений: 57
Зарегистрирован: Ср фев 25, 2009 2:53
Откуда: Russia, Region-69

Re: BS FB2 Reader Pro — читалка FB2 (пока бета-версия).

Сообщение Sclex » Пт мар 27, 2009 0:01

А можно сделать, чтобы курсорные клавиши вверх-вниз прокручивали текст на одну строку, а влево-право – на три? И чтобы никогда не было видно вверху обрезанные по высоте полстроки, а всегда только целая строка?
Написанные мной скрипты FBE лежат здесь.
Sclex
Постоянный участник форума
Постоянный участник форума
 
Сообщений: 752
Зарегистрирован: Сб сен 24, 2005 23:36
Откуда: Белоруссия

Re: BS FB2 Reader Pro — читалка FB2 (пока бета-версия).

Сообщение SeNS » Пт мар 27, 2009 19:59

Идея забавная, но слишком уж медленно работает обработка картинок. На файлах с большим количеством hi-res изображений просто неработоспособно...
WBR, SeNS
Аватар пользователя
SeNS
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 127
Зарегистрирован: Пт окт 21, 2005 19:20
Откуда: Boston, MA

Re: BS FB2 Reader Pro — читалка FB2 (пока бета-версия).

Сообщение GribUser » Пт мар 27, 2009 20:06

Кстати, если мне не изменяет мой склероз, обработку картинок в base64 штатными средствами организовать все же можно.
GribUser
Автор формата FB2 - Автор библиотеки FB
Автор формата FB2 - Автор библиотеки FB
 
Сообщений: 2644
Зарегистрирован: Чт сен 30, 2004 14:59
Откуда: Москва

Re: BS FB2 Reader Pro — читалка FB2 (пока бета-версия).

Сообщение Змей » Пт мар 27, 2009 21:53

SeNS писал(а):Идея забавная, но слишком уж медленно работает обработка картинок. На файлах с большим количеством hi-res изображений просто неработоспособно...

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

А идея действительно забавная, жаль, не удалось полностью реализовать идею "всё-на-скриптах"...

Sclex писал(а):А можно сделать, чтобы курсорные клавиши вверх-вниз прокручивали текст на одну строку, а влево-право – на три? И чтобы никогда не было видно вверху обрезанные по высоте полстроки, а всегда только целая строка?
ещё не знаю, но можно об этом подумать... но пока у проекта есть более весомые недостатки, об этом думать мне кажется преждевременнным...

GribUser писал(а):Кстати, если мне не изменяет мой склероз, обработку картинок в base64 штатными средствами организовать все же можно.

может быть. но через формат mht в данном случае работать нельзя, а урлы вида base64 не поддерживаются в ИЕ до восьмой версии, но и в ней ограничены размером в 32К. если и есть какие-то средства, то я их найти не смог.
BS FB2 Reader Pro — OpenSource читалка FB2 Полная поддержка спецификации FB2, включая таблицы и стили. Отображение сносок всплывающим блоком.
Аватар пользователя
Змей
Новенький участник форума
Новенький участник форума
 
Сообщений: 57
Зарегистрирован: Ср фев 25, 2009 2:53
Откуда: Russia, Region-69

Re: BS FB2 Reader Pro — читалка FB2 (пока бета-версия).

Сообщение SeNS » Сб мар 28, 2009 18:45

Змей писал(а):есть задумка, как исправить...

А написать свой ActiveX (можно даже через NET wrapper, на C#, там совсем просто), и полученную картинку вставлять каким-нить "хаком" напрямую? (это просто предположение)
WBR, SeNS
Аватар пользователя
SeNS
Зрелый участник форума
Зрелый участник форума
 
Сообщений: 127
Зарегистрирован: Пт окт 21, 2005 19:20
Откуда: Boston, MA

Re: BS FB2 Reader Pro — читалка FB2 (пока бета-версия).

Сообщение Змей » Сб мар 28, 2009 23:10

SeNS писал(а):
Змей писал(а):есть задумка, как исправить...

А написать свой ActiveX (можно даже через NET wrapper, на C#, там совсем просто), и полученную картинку вставлять каким-нить "хаком" напрямую? (это просто предположение)
Я не Сишник :( Немножко умею, но не настолько, чтоб фо паблик что-то пытаться сваять...

ActiveX можно написАть и на VB6 (что снимает необходимость требовать Net фреймворк)... но не поможет. Картинку можно вставлять и без хаков, типа как флэшплеер в страницу вставляется... но главную проблему это не решит, только увеличит расход памяти.
хотя... пожалуй, я попробую... есть мыслЯ...

кажется, я несколько переоценил идею ускорить распаковку... "ускоренная" версия оказалась на 20% медленнее... так что следующая бета немного откладывается. :(
BS FB2 Reader Pro — OpenSource читалка FB2 Полная поддержка спецификации FB2, включая таблицы и стили. Отображение сносок всплывающим блоком.
Аватар пользователя
Змей
Новенький участник форума
Новенький участник форума
 
Сообщений: 57
Зарегистрирован: Ср фев 25, 2009 2:53
Откуда: Russia, Region-69

Re: BS FB2 Reader Pro — читалка FB2 (пока бета-версия).

Сообщение nbl » Вс мар 29, 2009 16:40

Часть строки после сноски приподнимается (см. вложение).
Вложения
Clipboard01.png
Clipboard01.png (61.55 ) Просмотров: 3735
Аватар пользователя
nbl
Новенький участник форума
Новенький участник форума
 
Сообщений: 31
Зарегистрирован: Чт дек 13, 2007 12:04

Re: BS FB2 Reader Pro — читалка FB2 (пока бета-версия).

Сообщение Змей » Вс мар 29, 2009 19:29

С ActiveX-контролом получилось динамо :( Я знал, но забыл [вечная отмазка, ага], что в HTA-приложениях не работает <object> :(

Впрочем, я нашёл реальный способ!

теперь картинки открываются в десять (если не более) раз быстрее, чем раньше, и вчетверо (примерно) быстрее, чем в CoolReader!

архив полный.

перед установкой новой версии выполните regsvr32 -u bsfb2ext.dll

в комплекте батники для подключения и отключения библиотечки.

нажатие "." (точка) включает автоскролл [БЕТА!]— отключить эту фичу можно, удалив строку 385 в fb2reader.hta (открывать любым текстовым редактором). заменив в ней же "100" на большее или меньшее число, можно изменить скорость, а заменив "+1" в строке 389, можно увеличить дискретность шага прокрутки (это менее ресурсоёмкий способ повышения скорости, чем уменьшение интервала).
предположительно, может сильно тупить на одноядерных машинах.
Отключить включенный автоскролл можно только нажав F5 (обновить).

странно, что никто не заметил косяков со списком lastopened файлов - частично исправлено.

Известный баг: если файл открыт не командной строкой, а через "открыть" — нажатие F5 сбрасывает читалку в состояние первого запуска (если читалка была запущена без параметров, откроется список последних файлов, иначе — файл, заданный как командная строка. ) состояние открытого перед нажатием F5 файла сохранится, через список последних он откроется с того же места, где было.

nbl писал(а):Часть строки после сноски приподнимается (см. вложение).

упс. нелогично, но есть... бум искать...

(аттач удалён)
[СВЕЖАЯ ВЕРСИЯ В КОНЦЕ ТЕМЫ]
BS FB2 Reader Pro — OpenSource читалка FB2 Полная поддержка спецификации FB2, включая таблицы и стили. Отображение сносок всплывающим блоком.
Аватар пользователя
Змей
Новенький участник форума
Новенький участник форума
 
Сообщений: 57
Зарегистрирован: Ср фев 25, 2009 2:53
Откуда: Russia, Region-69

Re: BS FB2 Reader Pro — читалка FB2 (пока бета-версия).

Сообщение Змей » Пн мар 30, 2009 0:00

версия 0.8.5.

исправлен косяк с "уплыванием" строки после сноски. Оказывается, span тоже не панацея, надо юзать comment. есть риск, что не будет работать под другими версиями MSXML (у меня шестая). если у кого пропали сноски — отпишите, плз...

отключен вывод нескольких статус-сообщений в заголовок окна. (нужно было для отладки, забыл отключить)

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

немного поправил css. Кстати, есть мысль разделить стили на две части — отдельно таблица для оболочки, куда юзеру лазить незачем, и отдельно таблица, управляющая книгой — шрифты, поля, и т.п. Если кому кажется полезным — отпишитесь, ибо мне вообще-то и в одной общей таблице нетрудно настраивать, так что если буду делать — то не для себя, а для народа :)

Посмотрел насчёт прокрутки ( Sclex спрашивал ) — это будет нелегко (onkeypress не перехватывает курсорные клавиши)... Представляю, как это сделать, но не очень представляю, зачем... к тому же, антивирь будет ругаться — "поведение, похожее на кейлоггер"...
BS FB2 Reader Pro — OpenSource читалка FB2 Полная поддержка спецификации FB2, включая таблицы и стили. Отображение сносок всплывающим блоком.
Аватар пользователя
Змей
Новенький участник форума
Новенький участник форума
 
Сообщений: 57
Зарегистрирован: Ср фев 25, 2009 2:53
Откуда: Russia, Region-69

Re: BS FB2 Reader Pro — читалка FB2 (пока бета-версия).

Сообщение nbl » Пн мар 30, 2009 6:54

Змей писал(а):нажатие "." (точка) включает автоскролл [БЕТА!]— отключить эту фичу можно, удалив строку 385 в fb2reader.hta (открывать любым текстовым редактором). заменив в ней же "100" на большее или меньшее число, можно изменить скорость, а заменив "+1" в строке 389, можно увеличить дискретность шага прокрутки (это менее ресурсоёмкий способ повышения скорости, чем уменьшение интервала).

Строк 385 и 389 нету в fb2reader.hta. Там всего 313 строк.

Картинки не открывает (см. вложение)
Вложения
Clipboard03.png
Clipboard03.png (6.37 ) Просмотров: 3711
Аватар пользователя
nbl
Новенький участник форума
Новенький участник форума
 
Сообщений: 31
Зарегистрирован: Чт дек 13, 2007 12:04

Re: BS FB2 Reader Pro — читалка FB2 (пока бета-версия).

Сообщение Змей » Ср апр 01, 2009 5:41

Очередная бета. Работает, проверена на трёх тачках, под Vista и XP SP3 :)

Основная новинка — наконец-то введн контроль наличия библиотек dll :) Теперь вместо тупого падения с ошибкой читалка падает с нормальным мессаджем "нет библиотеки" :)

как выяснилось, проблема была в "не совсем адекватном" поведении bsfb2ext при отсутствии в системе библиотеки Microsoft Crypto API, которая отныне используется для преобразований base64.

Поскольку мне не удалось (да и не очень-то и хотелось) определить, какой из мелкомягких продуктов таскает её с собой, выкладываю соответствующую библиотеку здесь
CapiCom.rar
библиотека Microsoft Crypto API. Выкладываю первый и последний раз.
(151.63 ) Скачиваний: 123
. в комплект архива читалки она входить НЕ БУДЕТ ни сейчас, ни потом.

Инструкция по установке этой бета-версии:
командой regsvr32 bsfb2ext.dll -u или батником ExtUninstall.cmd отмените регистрацию библиотеки расширений в системе, если у вас стояла одна из предыдущих версий.
распакуйте архив, командой ExtInstall.cmd зарегистрируйте библиотеку в системе.
запустите fb2reader.hta.
в случае возникновения ошибки "нет Crypto API" скачайте архив CapiCom.rar, распакуйте его куда-нибудь ("родное" местоположение этой библиотеки — "C:\Program Files\Common Files\microsoft shared\CAPICOM\CapiCom.dll", но необязательно помещать её именно сюда), и зарегистрируйте библиотеку командой CAPIInstall.cmd.

(Аттач "beta 0.8.5" удалён.)
[НОВАЯ ВЕРСИЯ В КОНЦЕ ТЕМЫ]
Последний раз редактировалось Змей Вс апр 05, 2009 2:58, всего редактировалось 1 раз.
BS FB2 Reader Pro — OpenSource читалка FB2 Полная поддержка спецификации FB2, включая таблицы и стили. Отображение сносок всплывающим блоком.
Аватар пользователя
Змей
Новенький участник форума
Новенький участник форума
 
Сообщений: 57
Зарегистрирован: Ср фев 25, 2009 2:53
Откуда: Russia, Region-69

Re: BS FB2 Reader Pro — читалка FB2 (пока бета-версия).

Сообщение Змей » Чт апр 02, 2009 21:40

Версия beta0.8.6

библитека capicom.dll всё ещё нужна. если у вас её нет, качайте из моего предыдущего поста (объяснения там же).

НОВОЕ:
Теперь в комплекте есть exeшник-стратер. Полезен через тот факт, что hta не является drop-target и не может использоваться как мишегь для бросания файлов или средство открытия файлов через "открыть с помощью".
екзещник без наворотов, получает параметры командной строки и зарускает файл с именем fb2reader.hta, лежащий с ним в одной папке, передавая ему все параметры, с которыми был запущен он сам.
У меня после того, как я использовал экзешник для "открыть с помощью" при установленной галке "использовать всегда", из контекстного меню .fb2 пропал пункт "Validate" — но это не я виноват, это винда кривит :)
Если кому надо — могу соорудить рег-файл для поправляния этого трабла.

Новинка :) Наконец-то реализовано удаление ненужных временных файлов картинок при закрытии файла. Удаляются картинки от книги, открытой в закрываемом окне (сорри, без тавтологии никак :) ), и картинки, имеющие префикс имени "bsr2~" (стандартный для этого приложения) и возраст старше недели. это для удаления картинок, которые не были удалены вовремя — остались от старых версий, или не были удалены из-за аварийного завершения работы программы — например, в случае зависания компа.

Код значительно переработан, каждая процедура и функция снабжены камментами, кратко поясняющими их назначение. структурное форматирование кода заточено под работу в Notepad++ — чтоб при выборе режима подсветки "VB" можно было сворачивать удобным образом :)

Как я и собирался, CSS разделён на две части — основной ("служебный") CSS, определяющий формат окна программы, размещён в hta-файле, а во внешнем css-файле оставлены только параметры, которые пользователь [относительно] безопасно может изменять по своему вкусу: бэкграунд, цвет и размер шрифтов, ещё кое-что по мелочи.

библиотеку bsfb2ext.dll снова нужно обновить. (отменить регистрацию старой версии библиотеки ДО распаковки новых файлов, распаковать файлы, зарегистрировать новую версию.)

Нормально работает обновление списка ранее открывавшихся файлов — ранее была замечена проблема, проявлявшаяся после изменения регистра букв[ы] в имени файла или в пути.

кнопка "настройка" даёт доступ к preview-версии (т.е. даже не бета) easy-интерфейса настроек: интерфейс управления шрифтами. сохранение настроек, сделанных из него, пока не предусмотрено.

KNOWN BUGS:
Новых багов не обнаружено, есть недолеченные старые. ;)

При одновременной работе нескольких экземпляров программы, в lastopened-лист попадает только тот файл, чьё окно закрыто последним.

Счётчик процентов прокрутки в конце документа даёт "немножечко больше" ста процентов. Ищу.

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

(Аттач "beta 0.8.6" удалён.)
[НОВАЯ ВЕРСИЯ В КОНЦЕ ТЕМЫ]
Последний раз редактировалось Змей Пт апр 10, 2009 0:57, всего редактировалось 1 раз.
BS FB2 Reader Pro — OpenSource читалка FB2 Полная поддержка спецификации FB2, включая таблицы и стили. Отображение сносок всплывающим блоком.
Аватар пользователя
Змей
Новенький участник форума
Новенький участник форума
 
Сообщений: 57
Зарегистрирован: Ср фев 25, 2009 2:53
Откуда: Russia, Region-69

Re: BS FB2 Reader Pro — читалка FB2 (пока бета-версия).

Сообщение Змей » Пт апр 10, 2009 0:55

Екзешнег из предыдущего поста выкладываю отдельно, до релиза он более не будет публиковаться к составе новых версий.
bsfb2starter.rar
exe-стартер для hta.
(24.9 ) Скачиваний: 143


Итак, новая версия — BS FB2 Reader Pro-beta 0.8.7. RC1!
внесены незначительные изменения в различные участки кода, исправлено несколько мелких недочётов, предположительно это должно повысить скорость некоторых операций на слабых машинах на несколько процентов.
несколько незначительных структурных изменений.
затемнение гиф-текстурой, использовавшееся ранее при отображении диалогов, заменено на нормальный альфа-фильтр. предположительно, должно повысить скорость появления диалогов на машинах со слабой видяхой. при наличии относительно нормального проца, конечно. для работы на тормозах вроде второго-третьего пня найдите и удалите "filter:Alpha" (до закрывающей кавычки) в конце fb2reader.hta (одиннадцатая строка, считая с конца документа)
лист последних файлов снабжён кнопкой "удалить мёртвые записи" — выполняется проверка физического наличия файлов из списка, ненайденные файлы из списка удаляются.
"самопальная" реализация списка последних файлов переделана на использование WinAPI-шных функций PrivateProfile (значит, опять нужно обновить библиотечку bsfb2ext.dll, поддержка через неё) - это работает быстрее, актуально в основном на старых машинах. К сожалению, старый формат листа более не поддерживается. Если кому ОЧЕНЬ нужно — могу конвертер для перевода старого листа в новый формат набросать, в принципе дело на десять минут...
изменена функция создания оглавления — теперь конструкция вида <title>1</title><subtitle>Глава 1</subtitle> в оглавление кладётся в виде 1 <i>Глава 1</i>
Обнаружен и исправлен баг, приводивший к потере данных о позиции в документе после смены системного десятичного разделителя (или после переноса флэшки с программой на другой комп, с другим разделителем.)
Ещё что-то, не помню ужЕ...

KNOWN BUGS: см. предыдущий пост. по прежнему есть проблемы при одновременной работе нескольких экземпляров программы, позиционирование ак же "плавает".

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

[аттач удалён. новая версия в конце темы.]
Последний раз редактировалось Змей Вс май 03, 2009 13:37, всего редактировалось 1 раз.
BS FB2 Reader Pro — OpenSource читалка FB2 Полная поддержка спецификации FB2, включая таблицы и стили. Отображение сносок всплывающим блоком.
Аватар пользователя
Змей
Новенький участник форума
Новенький участник форума
 
Сообщений: 57
Зарегистрирован: Ср фев 25, 2009 2:53
Откуда: Russia, Region-69

Re: BS FB2 Reader Pro — читалка FB2 (пока бета-версия).

Сообщение nbl » Пт апр 10, 2009 6:13

А почему читалка про каждую книгу рекомендует проверить валидность? FBE говорит, что все Ок.
Аватар пользователя
nbl
Новенький участник форума
Новенький участник форума
 
Сообщений: 31
Зарегистрирован: Чт дек 13, 2007 12:04

След.

Вернуться в Сделано для FB

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1