Author | Message |
---|
Nomad1 Developer
Joined: 13 Sep 2010 Posts: 1721
| Posted: 14.02.2011 17:11 | |
| Представляю на ваше обозрение собственную EPUB/FB2 читалку для Nook, Nook Touch и Android вцелом.
Лирика Подход к разработке кардинально отличается от именитых Cool Reader, FBReaderJ и др. - во главе угла именно комфортное чтение книг, а не поддержка максимума форматов и настроек. Как следствие, сейчас не отображаются таблицы, картинки и формулы, не поддерживаются CSS в EPUB, а об 1в1 идентичном компьютеру изображении нет и не будет речи. Кому такой подход не нравится - лучше дальше не читать. Программа использует стандартные стредства Android, без C++/JNI кода и внешних библиотек, потому имеет небольшой размер (~85 кб в версии 0.4, 110 кб в версии 0.5-0.8 для Nook) и широкий охват оборудования (Андроид 1.5-3.1 в полной версии). Минимум настроек, полноэкранный режим, небольшое время загрузки. Конечно же бывают баги форматирования (не забываем, это еще альфа!), могут быть вылеты, а общее количество страниц программа пытается "угадывать" и получается не всегда идеально.
Особенности программы: - чтение книг из файлов .epub, .fb2, .fb2.zip; - форматирование по ширине страницы; - поддержка переносов в русских текстах *; - поддержка базовых стилей шрифтов (заголовки, курсив и пр.); - поддержка шрифтов Droid и Driod Sans из Android; - поддержка встроенных в EPUB шрифтов; - поддержка внешних TrueType шрифтов **; - псевдо-утолщенный режим для шрифтов без -bold файлов (например, EPUB с flibusta); - полноэкранный режим чтения с индикатором батареи; - поворот изображения на 90 и 270 градусов (на Android устройствах добавляется еще 180 градусов); - полоса чтения с засечками глав; - навигация по главам; - регулировка контрастности шрифтов; - очень быстрое листание на Nook с ядром старше 1.5; - очень быстрое листание на Nook Touch; - собственная формула для определения количества страниц (будет еще не раз правиться); - компенсация соотношения экрана на устройствах EPad/Flytouch (у них разрешение 800/480 = 1.66, а физический размер 155/86мм = 1.80); - инвертированный ночной режим и настройки цвета; - листание разными способами - жестами и кнопками на Nook, нажатием на край экрана и клавишами Volume Up/Down на других устройствах; - на не-Nook устройствах меню показывается и убирается по нажатию клавиши Menu, имеет собственный интерфейс; - подстройка положения текста на странице для одинаковых отступов сверху/снизу и др. особенностей; - интерфейс на английском, русском и украинском языках; - расширенное меню настроек, вызываемое долгим нажатием на пункт Settings; - отображение картинок в книгах; - максимально точное сохранение позиции чтения; - листание в любом направлении; - поддержка двунаправленного письма (Иврит, арабский, Урду, Фарси и др. языки); - поддержка сносок в FB2 книгах и частично в EPUB; - всякое разное, о чем наверняка забыл написать
* Программа расставляет т.н. алгоритмические переносы в русских текстах, без использования словарей, что дает не идеальную точность, но при этом учитываются некоторые правила типографской верстки и общей читаемости текста: не оставлять "не" в начале строки, не отрывать две буквы длинного слова, по возможности не разрывать страницу переносом и пр. Общий алгоритм подсмотрен в проекте Foliant, а затем доработан так, как мне показалось нужным. Не хочу никого обидеть, но недавно попавшийся скрин CR показался мне примером того, как можно, но не нужно ставить переносы. ** Шрифты читаются из папки /system/media/sdcard/my fonts/. При этом сканируются все подпапки и анализируются все TTF файлы. На других Андроид устройствах читается папка /sdcard/fonts
Тестирование Программа еще в альфа версии, а значит не все запланированные возможности еще реализованы, да и всех возможных устройств для проверки у меня нет. Тестировалось все на Nook с Андроидом 1.5 и 2.1, Nook Touch, HTC Desire, а также на китайце Flytouch с 1.6 и 2.2. Буду рад отзывам о тестах на других устройствах, особенно с небольшими экранами - там могут не помещаться элементы дизайна/меню на экране.
Баги и недоработки Их не много, но они есть и будут правиться: - смешение стилей (курсив/нормальный и пр.) в одной строке приводит к некрасивому форматированию и потенциальным ошибкам; - в заголовках ставятся переносы, да и просто заголовки на несколько строк смотрятся не очень хорошо;
Не реализованные возможности Эти вещи еще в разработке и пока они не сделаны, из альфа стадии мы не выйдем: - закладки и переход по ним; - точный переход на номер страницы; - форматирование по правому краю и по центру; - отображение сносок/ссылок (в процессе тестирования); - выделение текста для сохранения/гугления/перевода и пр.;
Скриншоты
Ссылки и установка Версия 0.10.1 от 04.02.12 для Nook 1st: http://runserver.net/temp/NomadReader.Nook.apk
Версия 0.10.4 от 10.02.12 для всех остальных устройств (включая Nook Touch и Nook Color): http://runserver.net/temp/NomadReader.apk
Страница на Android Market: https://market.android.com/details?id=net.runserver.textReader
Страница на форуме 4pda.ru: http://4pda.ru/forum/index.php?showtopic=242002
Установка очень проста - .apk файл ставим в систему через adb или файловые менеджеры. Mime типы прописаны так, чтобы epub/fb2/fb2.zip файлы просматривались этим ридером. В случае конфликта будет показано меню для выбора программы. Для удаления через adb можно сделать так:
Code: | adb uninstall net.runserver.textReader |
Критичные баги (препятствующие чтению, вылеты и пр.) буду рад видеть вместе с логами (результатом adb logcat после вылета) на почте g.a@ua.fm
P.S. Android версия читалки победила в пользовательском голосовании в конкурсе HTC Ukraine в 2011: http://bit.ly/k2bmkz _________________ Twitter: @NomadRunserver
Last edited by Nomad1 on 10.02.2012 23:07; edited 26 times in total |
| | | s1lent Искушенный участник форума
Joined: 24 Jul 2010 Posts: 43
| Posted: 14.02.2011 18:28 | |
| Хотелось бы иметь возможность выбирать размер шрифта как в fbreader'е: от 10 до 42 с шагом в 2 пункта. Ну или что-нибудь похожее на это, а не просто small, large и т.д., потому как при смене шрифта со small на extra large высота букв почти не меняется.
И сейчас сразу же наткнулся на Quote: | - не всегда корректно определяется кодировка и файлы с 1251 могут отображаться неверно; | так что пока для меня эта версия не слишком юзабельна
Понравились иконка заряда батареи и прогресс чтения в заголовке Было бы вообще круто, если текущий прогресс чтения книг отображался прямо на книжной полке в списке всех книг. Эх, мечты-мечты %) |
| | | Nomad1 Developer
Joined: 13 Sep 2010 Posts: 1721
| Posted: 14.02.2011 18:33 | |
| s1lent wrote: | Хотелось бы иметь возможность выбирать размер шрифта как в fbreader'е: от 10 до 42 с шагом в 2 пункта |
именно в таком виде не будет, ибо не юзабельно людям, далеким от техники. Подумаю, как лучше реализовать - может отдельный пункт для ввода своего размера, или ползунок какой-то.
s1lent wrote: | И сейчас сразу же наткнулся на Quote: - не всегда корректно определяется кодировка и файлы с 1251 могут отображаться неверно; так что пока для меня эта версия не слишком юзабельна |
Если не сложно - хотябы один такой файл на почту, для отладки. Я эту особенность заметил на 2-страничном документе, когда версия уже была готова и выложена, потому не стал перекурочивать все.
s1lent wrote: | Было бы вообще круто, если текущий прогресс чтения книг отображался прямо на книжной полке в списке всех книг |
в далекой перспективе - почему бы и нет? но пока чуть другие приоритеты _________________ Twitter: @NomadRunserver |
| | | igorvinograd Активный участник форума
Joined: 24 May 2009 Posts: 219
| Posted: 14.02.2011 18:38 | |
| Nomad1 Открыл из твоей полки книгу, которую читал ранее, ничего не спросила, открылась в самом начале. Как узнать на какой странице я был и как попробовать открыть эту же книгу прежним ридером, ведь я ее ранее открывал через "последние документы" в твоей полке ?
Posted after 4 minutes 44 seconds:
Last edited by igorvinograd on 14.02.2011 18:58; edited 2 times in total |
| | | Nomad1 Developer
Joined: 13 Sep 2010 Posts: 1721
| Posted: 14.02.2011 18:53 | |
| igorvinograd в последних бетах полки есть баг - для просмотра сначала выбираются вьюеры с прописанными Андроид свойствами, а потом уже нативные Нуковые. Соответственно, старые epub и fb2 ридеры были прописаны только как Нуковые. Та же проблема была с VuDroid и PDF файлами. В результате я поставил, чтобы сначала проверялись Нук-программы, но новую полку еще не выкладывал, т.к. другие баги не поправил.
Варианты решения: - удалить ридер и открыть старым - поставить чуть более новую версию полки, которая будет спрашивать: http://217.20.163.111/nookFileBrowser.apk - найти страницу руками - листанием, все-равно колиечество страниц в разных читалках совпадать не будет; _________________ Twitter: @NomadRunserver |
| | | igorvinograd Активный участник форума
Joined: 24 May 2009 Posts: 219
| Posted: 14.02.2011 18:57 | |
| Nomad1
а ее не ты еще не выкладывал на обозрение? у меня была последняя (вроде) как ее переставить по ADB ?
Last edited by igorvinograd on 14.02.2011 19:11; edited 1 time in total |
| | | Nomad1 Developer
Joined: 13 Sep 2010 Posts: 1721
| Posted: 14.02.2011 18:58 | |
| igorvinograd не выкладывал, потому что не разбирался еще с багами по fb2 файлам, которые ты скидывал. переставить так:
Code: | adb push nookFileBrowser.apk /data/app/net.runserver.fileBrowser.apk |
_________________ Twitter: @NomadRunserver |
| | | igorvinograd Активный участник форума
Joined: 24 May 2009 Posts: 219
| Posted: 14.02.2011 19:11 | |
| Nomad1 в режиме 90 CW , листает вперед кнопкой "назад" ! в режиме 90 ccw нормально |
| | | Nomad1 Developer
Joined: 13 Sep 2010 Posts: 1721
| Posted: 14.02.2011 19:34 | |
| igorvinograd именно кнопкой, или жестом? я делал так, чтобы листало в ту сторону, куда нарисована стрелка. т.е. в 90 CW листает стрелкой, которая смотрит "вниз", это как раз <. Если так неудобно - подумаем о пункте в опциях, но вообще я хочу, чтобы настроек было как можно меньше.. _________________ Twitter: @NomadRunserver |
| | | igorvinograd Активный участник форума
Joined: 24 May 2009 Posts: 219
| Posted: 14.02.2011 20:01 | |
| Nomad1 wrote: | которая смотрит "вниз", |
а-а вот оно как. надо привыкнуть |
| | | Nomad1 Developer
Joined: 13 Sep 2010 Posts: 1721
| Posted: 14.02.2011 20:10 | |
| у меня вообще кнопки "вперед" уже растрескались, потому такой режим листания оказался даже удобнее. но действительно, если неудобно - можно поменять. тут вопрос другой стоит - имеет ли вообще право на жизнь эта читалка и как ее воспримет общественность ) _________________ Twitter: @NomadRunserver |
| | | igorvinograd Активный участник форума
Joined: 24 May 2009 Posts: 219
| Posted: 14.02.2011 21:01 | |
| [b]Nomad мне нравится еще сноски внизу страницы и ей цены не будет |
| | | Nomad1 Developer
Joined: 13 Sep 2010 Posts: 1721
| Posted: 14.02.2011 21:15 | |
| igorvinograd с сносками пока думаю. это ведь надо откусить от страницы кусок определенного размера. как вариант, могу по-быстрому сделать их отображение на тачскрине, но это полу-мера. но то, что сноски будут сделаны - это 100% _________________ Twitter: @NomadRunserver |
| | | g61 Недавний участник форума
Joined: 04 Dec 2010 Posts: 14
| Posted: 14.02.2011 21:44 | |
| Отличное начинание, Nomad1!
Еще было бы супер, если б можно было верхний заголовок отключать, или максимально уменьшить - слишком много места отъедает. А проценты, время и часы совместить с прогрессом. |
| | | igorvinograd Активный участник форума
Joined: 24 May 2009 Posts: 219
| Posted: 14.02.2011 22:02 | |
| Nomad1
Nomad1 wrote: | с сносками пока думаю. это ведь надо откусить от страницы кусок определенного размера |
не наждой же странице сноски, и не всегда одного размера они бывают, то 1 строка, а иногда по пол-страницы или даже более. Но это ведь нормально, так в любой бумажной книге сверстано
Posted after 6 minutes 53 seconds:
заметил, что заголовки глав верстаются не по центру, а с "красной строки" |
| | | Nomad1 Developer
Joined: 13 Sep 2010 Posts: 1721
| Posted: 14.02.2011 22:52 | |
| igorvinograd простой пример: если текст с сноской в последней строке - что с ним делать? другой пример: текст со сноской в нижней половине страницы, но сноска сама будет размером с пол-страницы и текст банально не поместится. пока я все еще не могу сформулировать для себя, как это отображать..
igorvinograd wrote: | заметил, что заголовки глав верстаются не по центру, а с "красной строки" |
верно. и еще в них могут быть переносы, что не очень правильно. об этом я и писал в первом посте, что заголовки еще требуют работы, так же как и эпиграфы.
g61 если честно, то там не так и много забирается - 35 пикселей + 5 на отступ. я подумаю на счет варианта упрощения/уменьшения, но это уже будет в ущерб визуальной гармоничности.
Posted after 2 minutes 49 seconds:
p.s. если кто из дизайнеров/фотошоперов придумает как в 4х цветах (белый, черный и два серых) нарисовать красивую батарейку с полоской и надписью внутри - пишите, поставим. я пока свою рисую просто в несколько прямоугольников.. _________________ Twitter: @NomadRunserver |
| | | igorvinograd Активный участник форума
Joined: 24 May 2009 Posts: 219
| Posted: 14.02.2011 23:01 | |
| g61
g61 wrote: | слишком много места отъедает |
а мне нравится-часы и батарейку хорошо видно, не надо отвлекаться |
| | | Nomad1 Developer
Joined: 13 Sep 2010 Posts: 1721
| Posted: 14.02.2011 23:23 | |
| выложил версию 0.4.2, в которой теперь нормально подхватывается кодировка win-1251 и другие. _________________ Twitter: @NomadRunserver |
| | | g61 Недавний участник форума
Joined: 04 Dec 2010 Posts: 14
| Posted: 14.02.2011 23:43 | |
| Подскажите часы где-то отдельно настраиваются? Как сделать так, чтобы они показывали то же время, что в нуковском ридере? |
| | | CristobaL Бывалый участник форума
Joined: 08 Sep 2010 Posts: 130
| Posted: 15.02.2011 00:56 | |
| 1.Часы. Оставить или заполнение графикой или цифры. Из 4 цветов при наложении в любом случае получится каша. Проценты без батарейки – информативнее, но массы потребуют наглядности. 2.Время идет на минус 4 часа от установленного в системе. 3.Процент от прочитанного после заглавия следует убрать. Эта информация вторична и её можно узнать из полосы прогресса внизу. 4.Вместо процентов от прочитанного следует ввести чудесную типографскую форму записи: ‘Title_name’. ‘Chapter_name’ (Да, не все книги имеют осмысленное название глав, но хотя бы как опция эта возможность должна быть). 5.Возможность убрать с экрана полосу прогресса и индикатор страниц была бы уместна. Всё же многим эта информация не нужна вовсе. 6.Названия глав в пункте меню ‘Go to’ не читаются. Вместо них ‘Ch1..n’ 7.Таймер на возвращение в главное меню программы. Программа должна возвращаться в главное меню через N секунд, а лучше после двух листаний книги. 8.Знаю, что альфа, но перемещение в начало главы после смены шрифта (без предуприждения) – неожиданно неприятно для пользователя. 9.Номад, а теперь о личном. Закладки, мои милые, любимые закладки. Не повторяй ошибок B&N, сделай, чтобы при создании закладки в её названии писалась первая строка открытой страницы хотя бы. Если я открыл книгу через месяц после прочтения для поиска цитаты, то блуждание в бесконечных ‘Page XX’ займет пропасть времени. (Если ты готов слушать, могу отдельно рассказать, как я представляю себе идеальный механизм создания закладок на Нуке). 10.Выравнивание заголовков - вкусовщина. Я согласен с выравниванием по левому краю, которое предложил ты. НО! Эпиграфы из этой книги (http://flibusta.net/b/191847) отображаются некорректно. Каждая строчка – новый абзац. Без пустой строки в конце. |
| | |
| You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
© Libroom, 2021
|