Проект @Reader хочет создать готовый пакет для чтения электронных книг. Разработка @Reader ведется с использованием библиотеки GTK+ (www.gtk.org), что само по себе является кроссплатформенным средством разработки. @Reader является проектом с открытым исходным кодом и доступна для совместно разработки.

Проект @Reader

Список доступных функций программы:

  • запускаться в Linux и Windows (сейчас идет устранение проблем для сборки в MacOS X)
  • имеет модульную структуру, каждый формат поддерживается отдельным плагином (например, файлы с расширением .gz, .zip могут "открываться" специальным плагином который распакует содержимое). Сейчас есть только плагин для .txt
  • Плагин plaintext умеет: выбор кодировок которые показывать при открытии документа, выбор кодировки по-умолчанию, установки отступа ("красная строка").
  • Хранение конфига в XML.

Программа сейчас имеет некоторые настройки, но доступные только из конфигурационного файла:

  • установка межстрочного интервала;
  • установка количества столбцов;
  • установка отступа между столбцами;
  • показывать ли неполныый текст (то есть, скроллировать ли попиксельно или построчно);
  • шрифт по-умолчанию;
  • тип переноса длинных строк (по символам, по словам, "smart" - по словам, и по символам если слово не помещается);
  • Есть возможность для частей текста использовать разные цвета, начертания и размер шрифтов и т.д. Это было протестировано, но так как формат .txt не предусматривает ничего подобного, то визуально это увидеть нельзя. Также предусмотрено вставка внешних частей, таких как картинки и таблицы, но не тестировано.
  • умеет открывать юникодные документы (был успешно открыт utf-8 документ содержащий текст на более чем 40 языках, включая арабский, японский и китайский.

Минусы:

  • пока не умеет открывать fb2 (собственно для него все это и затевалось).
  • нет визуальной прокрутки текста (с помощью скроллбара).
  • медленная работа программы. Медленная отрисовка текста (вследствие чего медленная прокрутка. Это особенно заметно на моем ноутбуке с P-II 366Mhz).
  • не сохраняет текущую позицию в файле (не знаю даже, относить ли это к "минусам" - такая возможность предусмотрена и реализуется за час).
  • нет истории открываемых файлов.
  • и прочие недоделки...

Краткая версия моего roadmap (то есть того что у меня в планах):

  • оптимизировать открытие файла.
  • оптмизировать скроллирование.
  • реализовать разные типы скроллирование: попиксельное (самое простое), постраничное, "с заменой" (то есть вначале текст как бы заменяется построчно(или попиксельно?)).
  • сделать работающий панель скроллирования (scrollbar или панель как в Haali reader).
  • сделать плагин для .fb2
  • сделать возможность поворачивать текст.
  • закладки и "пометки" в документах.

Общая информация:

Разрабатывается в Debian GNU/Linux на языке C (почему именно СИ, могу сформулировать, но в данном контексте это не важно). Тестируется в Debian GNU/Linux Woody и Windows 2000.