Page 2 of 6

Re: FB2 Reader

Posted: Sat Jan 16, 2016 9:08 am
by akron1
После двух месяцев перерыва, продолжаю разработку.

Сделано:

Изменяемый размер окна.
Изменяемый размер шрифта.
Настройка цветовой схемы, режимы день/ночь.
Индикатор прогресса загрузки файла.
Поддержка кодировки Windows-1250.
Сохранение настроек и места остановки в файле history.dat рядом с программой.

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

Планируется:

Поиск, шрифт Tahoma, оптимизация

Re: FB2 Reader

Posted: Sat Jan 16, 2016 9:46 am
by Leency
Очень красивый GUI, удобно, профессионально.
Мой личный приз от дизайнера и программиста.

Новый стиль кнопок очень в тему, как flat так и 3D :)
Spoiler:
Screenshot_1.png
Screenshot_1.png (153.39 KiB)
Viewed 11105 times
Не вижу причин не добавить программу в автосборку :)

Re: FB2 Reader

Posted: Sat Jan 16, 2016 1:15 pm
by akron1
Leency, спасибо, лестно). Но внутри там, мягко говоря, далеко не так все красиво и удобно.

Для автосборки нужна поддержка oberon'а. Сделать это не сложнее чем для c--, только сначала мне надо будет выпустить новую версию компилятора, а то старой эта программа не соберется.

Да, новые кнопки заметно лучше.

Re: FB2 Reader

Posted: Sat Jan 16, 2016 1:22 pm
by Wildwest
Если FB2 основан на xml, то можно ли сделать единый движок обработки файлов, который также будет отображать файлы форматов https://ru.wikipedia.org/wiki/OpenDocument и https://ru.wikipedia.org/wiki/Office_Open_XML ?

Re: FB2 Reader

Posted: Sat Jan 16, 2016 1:36 pm
by Leency
Протестировал, есть пара замечаний:
1. При открытии окна Settings очень сильная перерировка основого окна.
Решение: фон основного окна нужно не заливать белым цветом, а сделать его прозрачным. Так делают KFAR, Eolite и другие программы.
Под тулбаром и по бокам окна просто белые прямоугольники.
2. Нужно добавить на тулбар кнопку открытия файла, чтобы можно было поместить на рабочий стол иконку программы.

===
Я пока что добавлю бинарник, когда будешь готов, залей автосборку. Автосборка, конечно, лучше.

Re: FB2 Reader

Posted: Sat Jan 16, 2016 2:50 pm
by Pathoswithin
akron1
Поддерживаются кодировки UTF-8 и Windows-1251
Если интересует плавное масштабирование юникодистого шрифта, есть .obj библиотека для рисования на изображении viewtopic.php?f=24&t=3088&start=45#p63076
ClearType нравится не всем, в остальном готова и имеет некоторый набор возможностей.

Re: FB2 Reader

Posted: Sun Jan 17, 2016 10:05 am
by akron1
Leency, очень хорошо, только FictionBook2, а не BookFiction2
Spoiler:
1.png
1.png (22 KiB)
Viewed 10964 times
Также надо исправить ассоциации

Code: Select all

fb2=$WebView
Я добавил окно OpenFile, оно открывается, если программа запущена без параметра.
С перерисовкой разберусь позже -- в VMware всё выглядит нормально, а на реальном железе могу посмотреть только через несколько дней.

Pathoswithin, спасибо, буду экспериментировать.

Wildwest, OpenDocument намного сложнее. Можно говорить только о возможной частичной поддержке. Для этого надо расширить FB2 (дополнить наиболее важными тэгами и атрибутами) и написать конвертер OD -> FB2 с некоторыми потерями. Но там по-любому работы много.

Re: FB2 Reader

Posted: Sun Jan 17, 2016 4:30 pm
by Wildwest
Ну так мы не просим поддержки сложно форматированных документов, хватит читалки текста с картинками (без таблиц, формул).

Re: FB2 Reader

Posted: Sun Jan 17, 2016 5:34 pm
by Leency
akron1
Ууупс :) Сорри, поправил #6065.
Осталось добавить иконку на рабочий стол, с этим всегда куча гемора.

Re: FB2 Reader

Posted: Mon Jan 18, 2016 12:48 pm
by DmitrySokolowsky
Хорошая читалка, уже можно пользоваться. Я вчера увлёкся. и довольно долго в ней читал.:)

Re: FB2 Reader

Posted: Sat Jan 23, 2016 5:32 pm
by DmitrySokolowsky
Можно фич-реквест?
Хотелось бы иметь возможность установить в качестве фона не просто цвет, а текстуру, например, текстуру старой бумаги.

Re: FB2 Reader

Posted: Fri Jan 29, 2016 7:03 pm
by Wildwest

Re: FB2 Reader

Posted: Mon Mar 07, 2016 6:58 pm
by akron1
v0.8 (обновил бинарник на SVN)

- режим "две колонки"
- настройка полей, отступов и межстрочного интервала
- плавное изменение размера шрифта (библиотека Rasterworks)
- курсор мыши в виде руки при наведении на ссылку
- внешние ссылки (открываются в браузере)
- имя файла в заголовке окна
- путь к файлу истории и к браузеру прописывается в файле /rd/1/settings/fb2read.ini
- значительно уменьшено использование оперативной памяти

Отрицательные изменения:
Увеличилось время загрузки файла.
Замедлилась прокрутка -- но это понятно, вывод текста через библиотеку медленнее, чем через API, но главная причина -- неоптимальная работа с документом. Программа при выводе текста каждый раз просматривает всё дерево документа от начала и до конца, а там может быть несколько миллионов элементов, при том что реально попадает в окно не более нескольких тысяч. Это надо будет оптимизировать.

Re: FB2 Reader

Posted: Mon Mar 07, 2016 7:26 pm
by Leency
1. Шрифты меньше и больше 16 читать невозможно. Я бы советовал тебе посмотреть в сторону .kf шрифтов.
2. У меня вылетело на двух документах. Не помню точно на каких, потести те что в аттачменте. В прошлой версии все было ок.
В остальном - круто!

Re: FB2 Reader

Posted: Mon Mar 07, 2016 7:43 pm
by akron1
Насчет шрифтов -- полностью согласен, но на всё нужно время.
У меня не вылетело ни на одном документе из приведенных в архиве. Вообще же вылетать будет, если использовать файл истории из прошлой версии -- формат изменился, а проверки корректности файла не было и нет.