mjSoftware - бесплатные java программы для мобильных телефонов: mjbook, лабиринт, rss читалка, морской бой через СМС, китайская головоломка с шариками, японские кроссворды, судоку.

mjBookMaker 5.0.7







Описание, примеры, инструкция по использованию

Что такое электронная книга

Электронная книга mjBook это java программа (мидлет) для сотовых телефонов, содержащая программу - читалку, текст книги, картинки, шрифт и подробную инструкцию. mjBookMaker начиная с версии 5.0.4 может создать java книгу mjBook из исходный файлов: MS Word (.doc), Fiction Book (.fb2) и текстовых файлов (.txt) в кодировках UNICODE, UTF8 и ANSI.

Сравнение печатных, электронных книг и mjBook

Современные книги можно разделить на следующие группы:
  • Традиционные печатные книги. Новинки как правило весьма дороги. Также дороги книги с хорошей полиграфией. Имеют достаточно большой размер и массу, отсутсвует поиск по тексту. В России достаточно трудно купить книгу на иностранном языке. Невозможно читать без внешнего освещения.
  • Электронные книги на персональном компьютере или ноутбуке (файлы MS Word, FB2, PDF И т.д.). Практически нет ограничений по форматам, размерам книг и способам загрузки. Степень мобильности зависит от размера ноутбука.
  • Устройства для чтения электронных книг - десятки производителей выпускают модели на любой вкус и кошелек (PосkеtBооk, Lbооk еRеаder, ORSiO, Sony Reader, ECTACO jetBook и т.д.). Устройства поддерживают почти все форматы книг и имеют большие экраны с технологией e-ink. Недостатки - высокая стоимость и черно-белые экраны оптимизированные в основном для текста.
  • Мобильные телефоны / коммуникаторы - имеют на борту достаточно производительный процессор, большой объем памяти и экран с достаточно высоким разрешением. Недостаток (относительно маленький размер экрана по сравнению с перечисленными выше) компенсируется широкой распространенностью - мобильный телефон есть практически у всех. Большинство телефонов могут исполнять java приложения что делает телефон поистине универсальным инструментом. Размер (больше 3 дюймов) и разрешение полноцветного (16 млн цветов) экрана (640*360 и выше) у современных телефонов с сенсорным вводом делают их предпочтительнее специализированных книг. Для телефонов существуют десятки платных и бесплатных приложений для чтения электронных книг практически всех форматов. Электронные книги mjBook основаны на java коде и поэтому совместимы с 80-90% телефонов на рынке.

Основные функции электронной книги mjBook версии 5.0.6:

  • Совместимость со всеми телефонами поддерживающими Java, один универсальный мидлет для всех моделей.
  • Автоматическое определение типа телефона и подключение дополнительных функций для реализации его возможностей
  • Полноэкранный режим работы на телефонах с сенсорным экраном (touch screen)
  • Новый механизм отображения - пока вы читаете страницу, программа формирует в памяти следующую, при листании вперед получается мгновенная смена страницы.
  • Гиперссылки - позволяют соуществлять переход внутри текста книги, на внешние сайты, выпонять звонки и отправлять SMS.
  • Доступ ко всем основным настройкам одной клавишей
  • Отображение текста
    • полная поддержка unicode - отображение любых национальных символов на любом телефоне в не зависимости от его региональных настроек
    • отображение текста с использованием до трех True Type шрифтов MS Windows и 12 встроенных шрифтов телефона (зависит от модели)
    • автоматическая установка полного экрана на телефонах Nokia или телефонах, поддерживающих Java MIDP 2.0 и выше
    • два режима отображения текста - по вертикали (portrait) или по горизонтали (landscape)
    • регулируемые цвет фона, цвет шрифта и цвет гиперссылок, межбуквенный и межстрочный интервал
    • до 3х встроенных шрифтов с переменной шириной букв, позволяющий правильно отображать текст на любой модели телефона
    • вкл/выкл переноса слов
    • индикатор положения
    • плавная прокрутка экрана при перелистывании страницы (как в iPhone/iPad)
  • Отображение картинок
    • Количество картинок в тексте ограничено только размерами мидлета
    • Поддерживаются PNG,JP,GIF и BMP форматы
    • Поворот картинок вместе с текстом (только для телефонов с java MIDP2.0)
    • Два режима просмотра картинок - в тексте и полноэкранный
  • Управление подсветкой дисплея (только для телефонов Nokia series 40)
    • вкл/выкл постоянной подсветки
    • регулировка яркости подсветки
    • регулировка продолжительности подсветки
  • Навигация по тексту
    • Оглавление, переход на заданную главу/часть
    • Переход на начало текста, в конец текста, на предыдущую страницу, следующую страницу
    • Переход на заданную позицию
    • Запись закладки (запоминается история из 5 последних закладок)
    • Переход на страницу из закладки
    • Автоматический листание с регулируемым интервалом времени
  • Поиск текста
    • полная поддержка unicode при поиска текста
    • поиск текста с начала книги или с текущей позиции
    • поиск текста с учетом и без учета регистра
  • Безопасность
    • Шифрование текста книги - текст нечитаемый даже при декомпилляции программы
    • Возможность многократного / однократного запроса пароля для чтения книги
  • Дополнительные возможности
    • Отображение текущей даты и времени
    • Отображение статистики: время, затраченное на чтение книги, количество запусков и т.д.
    • Вывод информации о книге: автор, шрифт и т.д.
    • Настраиваемая заставка, картинка заднего фона и иконка (значок для списка установленных приложений)
    • Полностью настраиваемое меню программы
  • Сохранение всех настроек в энергонезависимой памяти.

Как создать электронную книгу - пошаговая иструкция

Пример номер 1 - приватный телефонный справочник с фотографиями
Предположим нам нужнен телефонный справочник который может открыть только его владелец, даже если телефон попадет в чужие руки. Здесь приведен пошаговый пример для создания java книги.

  • Подготовка к работе
    • Качаем архив программы (русский или английский язык)
    • Распаковываем содержимое на диск, например в каталог c:\mjbook Программа не требует установки и содержит всего один исполняемый файл
  • Создаем исходный текст справочника в Блокноте (notepad.exe) - простейший редактор, есть во всех версия Windows и не требует установки. Для примера в справочнике будет 3 записи c фотографиями - Вася, Петя, Боря (см. пример ниже). Сохраняем как текстовый файл c:\mjbook\book1.txt в кодировке UNICODE.

    Мои друзья
    <#header 1>Вася<#/header>
    <#image vasya.png>
    Позвонить на <#link phone +70000000001>мобильный<#/link> <#link phone +70000000002>рабочий<#/link>

    <#header 1>Петя<#/header>
    <#image petya.png>
    Позвонить на <#link phone +70000000003>мобильный<#/link> <#link phone +70000000004>рабочий<#/link>

    <#header 1>Боря<#/header>
    <#image borya.png>
    Позвонить на <#link phone +70000000005>мобильный<#/link> <#link phone +70000000006>рабочий<#/link>
  • Подготавливаем фотографии - разрешение экранов у телефона как правило значительно меньше цифровых фотографий поэтому файлы необходимо уменьшить. Например имеются 12 мегапиксельные фотографии (4000*3000) в формате JPG. Воспользуемся программой Paint (есть во всех версия Windows, установка не требуется). Открываем файл фотографии, выбираем меню Рисунок / Растянуть и задаем 4 % для горизонтали и вертикали. Картинка получается 160*120 (см. меню Рисунок / Аттрибуты) - подходит практически для всех телефонов. Сохраняем файлы в PNG формате, должно получиться 3 файла с именами c:\mjbook\vasya.png, c:\mjbook\petya.png, c:\mjbook\borya.png.
    Как вариант можно использовать смайлы вместо реальных фотографий.
  • Создаем файл конфигурации book1.cfg:
    c:\mjbook\mjbookmaker.exe -config book1.cfg
  • Открываем файл конфигурации при помощи Блокнота и меняем параметры, затем сохряняем в UNCODE формате, как и текст книги
    BookName=book1
    BookInfo=my friends
    TextFileName=book1.txt
    PasswordMode=2
    Password=1234
    FontSize1=10
    FontName1=Arial
    TagsEn=true
    SplashTimeout=1
    ImageMode=1
  • Запускаем программу с нашим файлом конфигурации
    c:\mjbook\mjbookmaker.exe -make book1.cfg
  • Программа создаст java книгу (файлы book1.jar и book1.jad) в каталоге c:\mjbook\midltes
  • Устанавливаем программу в телефон и запускаем. После заставки появляется диалоговое окно для ввода пароля. Если пароль введен неправильно то выполнение программы прерывается и ее надо запускать снова.

  • Если пароль введен правильно то мы видим нашу телефонную книгу. Программа построила в начале нашей книги оглавление на основе тегов <#header 1> и <#/header>.

  • Каждый элемент оглавления - это ссылка на соответсвующую часть текста. Переводим указатель на нужную ссылку при помощи кнопок курсора (джойстика) вправо / влево

  • Нажимаем в центр джойстика и переходим по ссылке

  • Перемещаем указатель на ссылку нужного телефона и снова нажимаем в центр джойстика. ВАЖНО: телефон всегда спрашивает разрешение у пользователя для выполнения звонка / отправки СМС или доступа в интернет.



Как создать много книг - пакетный режим работы

Предположим у вас есть обширная библиотека книг в формате Fiction Book (файлы .fb2) и вы хотите их читать на мобильном телефоне.
  • Качаем программу
  • Подготавливаем один файл конфигурации (см. выше) mybooks.cfg. Для пакетной обработки данных указываем путь где лежат fb2 файлы. Можно задать маску, например *.fb2
    TextFileName=c:\mylibrary\*.fb2
  • Запускаем программу с нашим файлом конфигурации
    c:\mjbook\mjbookmaker.exe -makeall mybooks.cfg
  • Программа сканирует заданный каталог c:\mylibrary\ и преобразует все .fb2 файлы в java книги.

Важно:
  • Имя книги формируется из имени исходного файла, поэтому используйте латинские имена файлов. Например из исходного файла okudzhava_bulat_prelestnye_priklyucheniya.fb2 получится okudzhava_bulat_prelestnye_priklyucheniya.jad и okudzhava_bulat_prelestnye_priklyucheniya.jar в каталоге c:\mjbook\midltes
  • Если исходный Fiction book файл содержит картинку для обложки (тег <coverpage>) то она будет добавлена в качестве заставки
  • Информация о книге и авторе импортируется из тегов <book-title> и <author>
  • Java книга также будет содержать все картинки из исходного fb2 файла

Обработка ихображений при помощи ImageMagic

В программе предусмотрена возможность преобразования (масштабирования, смена формата и т.д.) импортируемых картинок во время создания книги. Для этого используется бесплатное программное обеспечение Image Magick. Для каждого типа картинок (PNG или JPG) можно задать параметры преобразования, например: -resize 160x128> -quality 100 -depth 8 Ниже приведены примеры масштабирования при использовании этих параметров:
Оригинальный размер (до)Размер в книге (после)
1000*1000128*128
640*480160*120
200*100160*80
128*128128*128
64*6464*64

подробная информация по работе с Image Magick доступна на сайте www.imagemagick.org.
ВАЖНО При установке Image Magick необходимо зарегистрировать его как COM объект (просто отметить галочку в инсталляторе)

Гиперссылки

Тег описывающий гиперссылку состоит из двух частей - команда для выполнения и текст который видит пользователь.
Программа обрабатывает следующие виды ссылок на внешние ресурсы:
Пример кода Действие (если пользователь перейдет по ссылке)
<#link http www.getjar.com > сайт с беплатными программами <#/link> Телефон запустит встроенный браузер и перейтед по ссылке на сайт www.getjar.com
<#link sms +10000000001:Дорогая, я дома > я дома <#/link> Телефон отправит SMS с текстом "Дорогая, я дома" на номер +10000000001
<#link phone +10000000001 > мой офисный номер <#/link> Телефон позвонит на номер +10000000001
<#link file e:/music/myfavoritesong.mp3 > моя любимая песня <#/link> Телефон запустит проигрыватель и начнет воспроизводить файл "myfavoritesong.mp3" хранящийся на карте памяти (SD card) в каталоге "music" (протестировано на телефоне Nokia E51). Такой тип ссылок может указывать на любой файл в файловой системе телефона, но обработка файла полностью зависит от модели телефона - смартфоны предоставляют больше возможностей.

Как читать электронную книгу

  • Установите готовую книгу (java приложение) в телефон.
  • Запустите книгу. При первом запуске после отображения заставки программа покажет первую страницу.
  • Кнопки навигации:
    Кнопка Действие
    0 Сменть шрифт
    1 Открыть навигатор
    2 Сохранить закладку
    3 Открыть список закладок
    4 Начать поиск по тексту
    5 Настроки параметров экрана
    6 Настройка параметров подсветки
    7 Автолистание
    8 Дата и время
    9 Продолжить поиск по тексту
    * или центр джойстика переход по текущей активной ссылке или открытие меню
    #, вниз переход на следующую страницу
    вверх переход на предыдущую страницу
    влево певод курсора на предыдущую ссылку
    вправо певод курсора на следующую ссылку

Поддержка телефонов с сенсорным экраном

Программа начиная с версии 5.0.4 полностью поддерживает телефоны с снесорным экраном. Ниже приведены снимки экрана Nokia 5800/5530 для одной и той же java книги при разных установках телефона
Режим совместимости
(с клавиатурой)
Полноэкранный режим
(без клавиатуры)
В полноэкранном режиме программа отображает свои собственные кнопки управления:
Иконка Действие
M Вызов главного меню
F Смена шрифта
Вверх Предыдущая страница (листание назад)
Вниз Следующая страница (листание вперед)
Все кнопки и ссылки в тексте активируются одним касанием. Если телефон повернут до запуска программы то программа отобразит текст горизонтально:
Вертикальное положение телефона
Горизонтальное положение телефона
В любом из режимов программа способна изменять шрит и поворачивать текст на лету:

Если java книга не получается

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

Запускаем программу с файлом конфигурации и перенаправляем вывод в файл, например problem.log:
c:\mjbook\mjbookmaker.exe -makeall mybooks.cfg > problem.log
После окончания работы изучаем файл, явные ошибки (нет файла, неправильный параметр и т.д.) видны невооруженным глазом. Если самостоятельно решить проблему не удается, высылаем логи и исходный файл автору на

Список версий и изменений

Версия Исправлено Добавлено
5.0.8   Плавная прокрутка экрана при перелистывании страницы (как в iPhone/iPad)
5.0.7 Ошибка в FB2 декодере Добавлен новый тип ссылок на любые объекты файловой ситсемы телефона, например mp3, html и т.д.
5.0.6   Расширены знaчения межстрочного и межбуквенного интервалов
5.0.5 Ошибка (пустая строка) в главном меню
Пропущенные пробелы в меню О программе, Помощь и Время
Неправильная разбивка больших текстов на части
Переназначение клавиш курсора при работе в повернутом режиме
5.0.4 Ошибка в меню "Display"
Поддержка телефонов с сенсорным экраном
5.0.3 Ошибка при добавлении доп. данных в jad файл
Поддержка пакетного режима работы (makeall)
Поддержка Fiction Book (.fb2 файлов)
5.0.2 Неправильное формирование цветовых схем




Вопросы, пожелания, замечания пишите на