Вы можете прислать нам новости или сообщить что-то очень важное заполнив форму.

RebComm

3 февраля, 2008
RebComm это минимальная программа-менеджер файловой системы для устройства чтения электронных книг REB1100.

Программа поддерживает только соединение устройства с компьютером через USB порт. Для работы с электронной книгой необходим родной драйвер, который приходит в пакете с устройством или может быть загружен с интернета. RebComm позволяет видеть файловую систему устройства REB1100, а также список книг во внутренней памяти устройства и на SmartMedia карте.

Исходники программы RebComm распространяются бесплатно, и могут быть модифицированы в соответствии с запросами того или иного пользователя. Автор не несет никакой ответственности за ущерб, который может быть нанесен при использовании программы. Последняя версия программы: 1.1.0.4. Дальнейшая разработка временно прекращена. Совместимость с версиями Операционной Системы не гарантируется.

Версия 1.1.0.5 – добавлены новые возможности: теперь можно перетягивать RB-файлы не только из Эксплорера в RebComm, но и из RebComm в Эксплорер. Можно туда и обратно тянуть несколько файлов сразу (не обязательно по одному).

RebComm is a REB1100 communication tool.

It supports USB communications and requires the factory provided USB device driver to be installed in the system. The driver is supplied with the eBook Librarian™ software on the factory CDROM, or can be downloaded from the Gemstar, Inc. web site. RebComm provides two views of the REB1100 filesystem: The Filesystem View and the Title List View. The Title List View is similar to the one provided by the eBook Librarian™.

Загрузить/Download: RebComm ver. 1.1.0.5

Исходники/Source: RebComm ver. 1.1.0.5 (Visual Studio.NET 2004)

При перепечатке материалов The-eBook | Электронные книги и устройства для чтения, обязательно указывать ссылку на оригинал.

ЕСЛИ У ВАС LINUX. ЧАСТЬ 1. ОБРАБОТКА ТЕКСТА

3 февраля, 2008
Два скрипта, которые облегчат Вам обработку текста под Linux системой.

Обработка текста для Rocket eBook

Замечательная онлайновая библиотека www.bestlibrary.ru имеет следующую, не очень приятную особенность. Скачать книгу одним файлом можно только в формате ворда. А у настоящего линуксоида для этого формата есть только одно применение:

/dev/null

🙂

Зато, если кликнуть на ссылку «прочитать», то мы попадаем на первую часть книги (как правило book.html). Сам этот файл нам не интересен, зато в этой же директории всегда лежит файл «book_b.html». В нем есть ссылки на все части книги.

Скрипт bestlib закачивает этот файл, парсирует его и закачивает все остальные куски. Затем он пакует все в один tarball.

Использование:

  • bestlib <URL_of_book.htm_file> [title] [author]

Пример:

Идем на bestlibrary. Выбираем книгу, right click on «прочитать» выбираем «Copy link location» (для Мозиллы). Теперь идем в xterm, набираем bestlib и middle click. Затем набираем имя произведения и автора (если внутри пробелы — в кавычках).

Полученая коммандная строка:

bestlib http://www.bestlibrary.ru/texts/det/donts38/book.html «Uha iz zolotoj rybki» «D. Doncova»

После работы скрипта Получаем файл «Uha_iz_zolotoj_rybki.tgz». Все промежуточные *.html и *.shtml можно удалить. Автоматически они не удаляются.

Теперь переносим этот файл на комп с ракетой, раскрываем в какой-либо директории и импортируем в eLibrarian файл «book_b.html».

Внимание!!! Не забываем кликнуть «Follow links» при импорте!!! Книга готова к употреблению.

Операционная система:

Любой UNIX. Проверено на Linux и Solaris. В Windows (Cygwin) не работает — perl не понимает ключа «-i» 🙁

Требования:

  • wget
  • perl
  • bash (в Линуксе есть всегда)
  • rhtml

eLibrarian прекрасно работает с html. Но, «All htmls are equal, but some htmls are more equal than others». Особенно это относится к Мошкову — там вообще html очень странный. То есть, он вроде как и html, но внутри сидит plain text, окруженный тагами PRE. И текст этот выровнен под компьютерный монитор, но никак не под ракету.

Очень продвинутые возможности html ракета тоже не понимает. Отличный пример — styles sheet. Поскольку в общем виде их перекодировать весьма затруднительно, если вы обнаружили библиотеку с особенными styles sheet, отредактируйте hash с именем %styles (line 42 in rhtml). Сегодня он понимает styles sheet из Gena’s library (http://rt.gena.lib.ru).

Кроме того, при загрузке с различных онлайновых библиотек, довольно часто мы получаем не html, а plain text. Его надо конвертнуть в html, добавив всяких красивостей.


А иногда еще надо перекодировать из различных русских кодировок.

Вот для всего этого и существует скрипт rhtml. Им можно:

  • Перекодировать из различных русских кодировок в Win-1251
  • Подготовить читаемый на ракете html из нечитаемого на ракете html
  • Подготовить читаемый на ракете html из plain text
  • Поставить имя автора и книги в формате, понимаемом ракетой.
  • Выбросить переносы и конкатенировать перенесенные слова.

Использование

  • rhtml [switches] <input_file>
Where switches are:

    -a <author> — specify book author

    -b — envelop all text with <b> and </b> tags.

    -c <code_system> — decode from <code_system> (default — win) may be: win, koi8, alt, mac or iso5

    -d — justify paragraphs with <div> tag

    -i — edit on place (like perl -i)

    -p — justify paragraphs with <p> tag

    -q — envelop all text with <blockquote> and </blockquote> tags.

    -t <title> — specify book title

    -x — input file is text and not html

    -n — respect new lines in text

    Output html-file is printed to stdout.

Пример:

  • rhtml -x -d -a «Pavel Shumil» -t «Odinokij drakon» slovo_1.txt > slovo_1.html

Операционная система:

Любой UNIX. Проверено на Linux и Solaris. В Windows работает тоже, но необходима инсталяция перла. Проверено под Cygwin, но, по идее, под ActivePerl тоже должно работать.

Требования:

  • perl

Скачать:

  • rhtml.gz
  • bestlib.gz

Примечание редактора: Все эти скрипты можно также использовать в операционной системе Mac OS X, через Terminal.app, предварительно выставив права через команду sudo на выполнение скриптов.
При перепечатке материалов The-eBook | Электронные книги и устройства для чтения, обязательно указывать ссылку на оригинал.

Книги для REB1200 и SoftBook – это легко!

1 февраля, 2008

BookDesigner при всей своей мощности является довольно легким инструментом для создания электронных книг. Можно было бы создать точное описание каждой функции, но сегодня захотелось сделать простейшую иллюстрацию возможностей программы на основе подготовки IMP книг. Мало того, краткое описание будет выполнено с большим количеством иллюстраций. Что по мнению автора покажет насколько легок BookDesigner как инструмент.

Для начала нужен файл с книгой. Возьмите книгу в любом текстовом формате и чем более чист файл, тем проще подготовить «чистую» и аккуратную книгу в нужном для нас формате.


Откройте программу BookDesigner. Вы увидите приблизительно то, что предствлено в данной статье.

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

Представим, что первоначально программа BookDesigner у Вас настроена, поэтому пропустим этот пункт. Многие настройки годятся по умолчанию.

В программе BookDesigner еще нет открытого файла. Нажмите «Open» (2) и загрузите любой текстовый файл. В моем случае это подготовленный файл в формате FB2 из библиотеки www.fictionbook.ru

В верхней информационной панели (1) видно название книги и автора.

В нижней чати экрана (5) можно условно оценить размер загруженной книги. Может пригодиться, если Вы не любите читать толстые книги, или для того чтобы прикинуть, сколько места займет создаваемая книга на Вашем носителе. (На иллюстрации 125 условных страниц).

И центральное поле программы (4) будет занят основным текстом создаваемой книги. Размер и вид шрифта, используемого для отображения внутри окна, можно изменить в меню «Font» которая находится под кнопкой «>>» (3). Никакого влияния на результат создаваемой книги, эта настройка иметь не будет. Можно пропустить.


Во время открытия файла BookDesigner приводит его в своё представление, внутренний формат html0. Сохраним этот результат на будущее, нажав кнопку (7)

В появившемся окне выставлено очень много автоматически. По-этому не будем тратить время и установим только один параметр, который нам пригодится далее. В разделе Genre (8) необходимо ввести жанр, и нужно это сделать латиницей.

Создаем книгу в формате html0, нажав на кнопку «make bd file» (9).

И последнее на этом этапе. Сохраним книгу в формате html0 в архиве. Для Этого открываем Book Organizer (10). Откроется окно:

Поставьте галочку (11), чтобы книги в формате html0 из директории (14) переместились в директорию (13). Нажмите кнопку (12) и дело сделано!


Нажмите иконку (6). Появится окно с предупреждением, читать тут нечего (просто предупреждение, что в тексте есть символы из разных кодировок), сразу нажимайте «Да»! Появится следующее окно с настройками для создаваемого IMP файла.


Вот и пригодилось выставление ранее жанра (15). BookDesigner автоматически взял жанр из своего формата и вставил при изготовлении IMP.

Теперь выставьте границы текста в создаваемой книге (17) и внешний вид шрифтов (19). Обратите внимание, что BookDesigner может создавать разного размера шрифты для текста и заголовков. Воспользуйтесь этим.

Теперь очистите директорию (18), куда будут создаваться книги. Это лучше делать перед «первой» книгой. Теперь можно нажать кнопку изготовления книги (16).

Проделайте вышеописанные операции столько раз, сколько книг Вам потребуется.


Теперь необходимо изготовленные книги скопировать на карту Compact Flash. Надеюсь силы у Вас еще остались.


Созданные файлы находятся по-умолчанию в директории указанной в строке (21). Войдите в эту директорию. Выделите все файлы и бросьте их в корень Compact Flash (20).

Это верно для устройств типа REB1200, а для SoftBook требуется еще из IMP сделать RES с помощью программы Unimp.exe

Читайте с удовольствием!

При перепечатке материалов The-eBook | Электронные книги и устройства для чтения, обязательно указывать ссылку на оригинал.

RebComm

1 февраля, 2008

RebComm это минимальная программа-менеджер файловой системы для устройства чтения электронных книг REB1100.

Программа поддерживает только соединение устройства с компьютером через USB порт. Для работы с электронной книгой необходим родной драйвер, который приходит в пакете с устройством или может быть загружен с интернета. RebComm позволяет видеть файловую систему устройства REB1100, а также список книг во внутренней памяти устройства и на SmartMedia карте.

Исходники программы RebComm распространяются бесплатно, и могут быть модифицированы в соответствии с запросами того или иного пользователя. Автор не несет никакой ответственности за ущерб, который может быть нанесен при использовании программы. Последняя версия программы: 1.1.0.4. Дальнейшая разработка временно прекращена. Совместимость с версиями Операционной Системы не гарантируется.

RebComm is a REB1100 communication tool.

It supports USB communications and requires the factory provided USB device driver to be installed in the system. The driver is supplied with the eBook Librarian™ software on the factory CDROM, or can be downloaded from the Gemstar, Inc. web site. RebComm provides two views of the REB1100 filesystem: The Filesystem View and the Title List View. The Title List View is similar to the one provided by the eBook Librarian™.

Загрузить/Download: RebCommSetup

Исходники/Source: RebCommSource

При перепечатке материалов The-eBook | Электронные книги и устройства для чтения, обязательно указывать ссылку на оригинал.

А книга у меня уже есть! Вопросы и ответы.

1 февраля, 2008

Интервью с Андреем Тильманом на основе личной переписки, после публикации статьи «А книга у меня уже есть!» в журнале Компьютерра.

The-eBook: Андрей! А где Вы купили свою ракету, у нас или за рубежом?

A.Тильман: За рубежом. Я живу в Канаде. Правда, для Штатов это тоже получается «за рубежом» и с покупкой была целая история, она тоже в статье описана.

The-eBook: Ko мне приходят часто письма от наших — там (за рубежом), а вопрос у всех один — как заставить Rocket-eBook говорить по-русски?

A.Тильман: Проблемки действительно есть. В книгу по идее должен загружаться любой шрифт True Type. Ho управляющая программа Rocket Librarian почему-то очень придирчива, и показывает в списке доступных шрифтов не все шрифты, установленные на машине. А из тех, что показывает, надо еще исключить юникодовские (типа Arial): в них не грузятся национальные вариации (типа Arial Cyr). Старые шрифты от Windows 3.1 тоже не видны. Словом, задача — найти ‘чистый’ русский шрифт, чтобы Rocket Librarian распознала его как True Type и показала в списке доступных.
Я нашел в сети ER Bukinist и ER Univers — так из них первый виден, а второй нет. Лучше бы наоборот, потому что на ракете бессерифный шрифт лучше. В конце концов подошел и шрифт NT Helvetica из старого набора CyrWin95.
Другая проблема: жирные и наклонные. Для английских юникодных шрифтов система распознает, что четыре файла относятся к одному шрифту, и грузит их все. Память съедает, но зато полный набор форматов. С русскими — не получается, ни с одним из шрифтов! Не загрузились вариации наклонного/жирного. Для обычных книг это не проблема, а вот техническая литература обычно форматирована…

The-eBook: Какие форматы текста можно преобразовать для чтения?

A.Тильман: Файлы ракеты конвертятся из html и сохраняют форматирование моноширинным шрифтом, там, где оно есть, и отображается это в книге тоже моноширинным, встроенным. Этот моноширинный тоже не русифицируется, впрочем, от этого я еще ни разу проблем не имел, ибо то, что выделяется таким образом — это как раз распечатки экранов и листинги настроечных файлов всякие…

The-eBook: A кодировка русского языка?

A.Тильман: С кодировкой просто: если шрифт в win, то и книги должны быть в win, если шрифт koi8, то и книги соответственно…

The-eBook: Или наоборот.

A.Тильман: Надеюсь, это поможет вашим знакомым с русификацией. Как видите, проблемы с Ракетой есть, и далеко еще не все я решил, только начал с ней возиться. Но после того как главной функциональности я от нее добился, остальное выглядит каким-то несрочным и неважным, выправится со временем…

The-eBook: Я общался с NuvoMedia они меня клятвенно заверяли, что шрифты можно загружать двумя способами:
1. Вместе с книгой.
2. Заменить встроенный шрифт Verdana на национальный, формата РС TrueType.

Ho y меня нет Ракеты и все исследования я проводил на виртуальной Ракете в компьютере.

A.Тильман: Начну со второго. сожалению, именно возможность загрузки шрифтов в экранном эмуляторе отсутствует напрочь. Чуть ли не единственная функция, которую не смоделировали. Не смогли, что ли, наладить связь между Librarian и eRocket?
Потому что в help на Librarian сказано, что он ‘используется для управления настройками еВоок и eRocket’.

The-eBook: A эмулятор для этой функции использовать нельзя?

A.Тильман: Это действительно так, что и не удобно: быстрее было бы проверять и отлаживать.
Теперь ответ на первую часть вопроса: Что же касается «национального, формата РС TrueType», то это, в общем, правда, вот только что они имеют в виду под национальным TrueType?
Юникодовские шрифты вообще ‘межнациональные’, общие для всех — но как заставить Librarian использовать именно русский (венгерский, итальянский?) Нигде пока не смог найти указание.
А с не-юникодовскими другие проблемы: их сменилось со времен Windows 3.1 несколько поколений форматов, и, видимо, не все корректно описаны внутри. То есть у меня есть целый ряд русских шрифтов, которые прекрасно стоят под Windows, видны в текстовых редакторах, во вьюверах шрифтов, но… Librarian их в списке не показывает.
Почему-то не считает их правильными TrueType. Может, он куда-то вглубь шрифта лезет для растеризации, и ему и впрямь не все равно? Но в итоге, получается, еще половина шрифтов отпадает по крайней мере до тех пор, пока не будет ясно, чем именно они
Librarian не нравятся.
А вот те, что остаются, прекрасно грузятся. Таких у меня штук пять есть, но нужен реально один, бессерифный. Могу поделиться с желающими 🙂

The-eBook: Hy теперь тебя забросают просьбами, ты готов?

A.Тильман: :-))
Я не слышал о возможности встраивать шрифт в книгу, но в принципе почему бы и нет? Книга собирается из html-файла (файлов), может включать картинки — почему бы не иметь и штифт тоже в виде растровых образов символов, хоть в том же png-формате. Наверное, это надо где-то указать при создании книги. Поскольку Writer ничего по этому поводу не спрашивает, скорее всего, указывать надо в разметке html. He исключено, что обычным тагом .
Надо будет попробовать…
стати, не будет ли в этом случае и эмулятор правильно символы показывать?
Любопытно… Да, надо побольше и пошире поэкспериментировать, а то я как книгу добыл, так сразу все читать, читать… :-))

The-eBook: Есть еще подводные камни?

A.Тильман: Проблема не в этом, проблема — как загнать этот самый русский шрифт в еВоок, если он туда не загоняется. В RocketLibrarian, в пункте Settings/Rocket eBook (он, к сожалению у вас недоступен без физически подключенной к параллельному порту Ракеты) открывается диалог с табами, на одном из табов — шрифты. Если обнулить два флажка «использовать встроенные шрифты», то становятся доступны два же выпадающих списка True Type-шрифтов. Надо их выбрать и указать размер. Два — для большого и для маленького шрифтов. еВоок хранит два размера.
Так вот тут-то и сидит проблемка — не все True-Type шрифты, установленные в компьютере, отображаются в этом списке. А это именно список, я не могу руками набить имя шрифта, если он не распознался программой — могу лишь выбрать те, что распознались. Ну и надо ли говорить, что среди нераспознанных чаще всего оказываются как раз всякие добавочные и экзотические с точки зрения системы шрифты, и что русские тоже часто попадают в эту категорию. То есть проблема — понять, почему тот или иной шрифт воспринимается как True Type всеми программами, кроме RocketLibrarian — тогда, наверное, можно будет загонять в еВоок любой русский шрифт, или по крайней мере понять, почему один загоняется, а другой нет. Пока же приходится просто перебирать побольше шрифтов в расчете, что не один так другой распознается.
Реально-то нужно, чтобы распознался всего один подходящего качества — и проблема решена. Я для себя ее решил. Могу с любым желающим поделиться «шрифтами, которые грузятся». Но на будущее все-таки рассчитываю решить проблему нормально, а не из-за угла, то есть понять причину этой странной избирательности Librarian.
A вот как раз кодировками нас не запугать, был бы шрифт, а книгу перекодировать недолго 🙂

The-eBook: Как ты думаешь — когда Ракета будет продаваться в России? Цитирую из моей переписки с NuvoMedia:
NuvoMedia’s European strategy is to pursue the German language market in mid 1999. Our current plans call for entry into other European countries in the year 2000.
Так, что это у них называется стратегия, а мне кажется, что они просто не справляются с производством. У вас на Ракете, что написано после слов «made in ???», так мне кажется что для России будет — однозначно — КИТАЙ.

A.Тильман: У меня — made in Taiwan. Но дело не только в изготовлении. Им же мало книгу продать — они должны о КОНТЕНТЕ позаботиться! Они же деньги стричь хотят не с аппаратуры, а с продажи книг. А это для любой новой страны — целая инфраструктура, которую нельзя механически скопировать с американской.
Надо заключить договора с издателями, убедив их перед этим в безопасности, позаботиться представительной выборкой писателей и тем, чтобы читателей заинтересовать… По сравнению с этим локализация менюшек или выпуск аппаратуры — детские игрушки! А просто продавать девайсы без контента — невыгодно. То есть я их в некотором смысле обманул, купив девайс, но не купив пока (и не особенно собираясь) ни одной книги. Обманул их коммерческие ожидания. Но это я — потому что мне есть где найти контент. А «обычные» американцы… Почитайте форумы пользователей на http://www.ebooknet.com (сейчас не доступен) — они стонут от узости выбора изданий (из-за страха издателей) и от дороговизны (поскольку издатели дерут за электронные книги практически столько же, сколько за бумажные!) Ну а NuvoMedia не хочет совсем уж терять контроль над пользователями, активно продавая е Книги без обеспечения изданий, наоборот, хотят привязать покрепче.

The-eBook: Хорошо бы Вы мне для сайта сделали адаптированную статью о Ракете с фотографиями Ракеты в разных положениях. Был бы благодарен.

A.Тильман: Статью, боюсь, скоро может не получиться — я изрядно занят в других проектах, а скоро еще и в отпуск поеду на пару недель. Думаю, Компьютерра не будет возражать против перепечатки со ссылкой? Я-то точно не буду. Но если Вы мне подскажете, что именно хотели бы ‘адаптировать’… Может, там не статья более подойдет, а faq какой-нибудь.

The-eBook: Андрей, огромное спасибо за импровизированное интервью. Вопросы конечно будут, я их будут собирать и пересылать тебе для конкретного ответа. Надеюсь поможешь русским читателям с их проблемами?

A.Тильман: Пишите!

The-eBook: Спасибо тебе огромное, я тоже буду задавать вопросы, если не против?! Спасибо!

При перепечатке материалов The-eBook | Электронные книги и устройства для чтения, обязательно указывать ссылку на оригинал.

Редактирование загружаемых шрифтов Rocket eBook

1 февраля, 2008

Научно-исследовательская работа др.Тильмана над русификацией Ракеты. Пошаговая инструкция.

1. Загрузить в Ракету шрифты типа True Type программой Rocket Librarian.

В самом деле, чтобы отредактировать загружаемый шрифт, нужно его сначала загрузить в Ракету. Хотя это и стандартная процедура, выполняемая программой Rocket Librarian, входящей в поставку Ракеты, на этом этапе часто возникают проблемы. Чтобы лучше понять их природу, следует иметь представление о том, как именно шрифты попадают в Ракету.

Шрифты True Type, используемые программой Rocket Librarian в качестве источника, имеют векторную природу. То есть, в компьютере хранятся не начертания всех символов, а только формулы и правила, по которым они строятся. Это позволяет компьютеру прямо ‘на лету’ строить изображения символов для любых размеров, а не ограничиваться заранее заложенным списком. Платой за это являются сложные вычисления, необходимые для получения пригодных для показа изображений символов. Впрочем, для современных мощных компьютеров это давно не проблема.

Другое дело Ракета. Сомнительно, что ее хилый процессор справится с необходимыми для векторных шрифтов вычислениями. А если и справится, то все равно лишний программный код, сильно раздует объем встроенной операционной системы, «отъев» немало памяти, предназначенной для книг. Поэтому неудивительно, что Ракета хранит шрифты не в векторном, а в растровом, или матричном, виде: просто «помнит» картинку каждого символа.

Таким образом, программа Rocket Librarian выступает просто переводчиком между векторными True Type-шрифтами компьютера и матричными шрифтами Ракеты. И вы загружаете в Ракету вовсе не True Type, как может показаться. Когда вы указываете в Rocket Librarian наименование и размеры шрифтов, которые надо загрузить, программа вначале «рисует» внутри себя каждый символ данного размера данного шрифта (этот процесс называется красивым таинственным словом «рендеринг»), записывает их в специальный файл, а потом пересылает этот новый файл в Ракету и дает ей указание далее использовать этот файл для показа текстов на экране. Теперь понятно, почему Ракета использует только два размера шрифтов: «малый» и «большой»: каждый дополнительный размер в матричном формате — это память, отнятая у книг.

Впрочем, даже два размера порождают — по максимуму — до восьми шрифтовых файлов! Ведь Rocket Librarian рендерит матричные шрифты отдельно для нормального, жирного, курсивного и жирно-курсивного начертаний, то есть, до четырех файлов на размер! Объем, занимаемый всеми восемью файлами, может оказаться весьма заметным!

При анализе процесса загрузки шрифтов в Ракету было выявлено четыре проблемы:

а) Rocket Librarian обнаруживает не все шрифты типа True Type, установленные в компьютере.

Эта проблема, видимо, является следствием недоработок в программе Rocket Librarian, а также следствием большого разнообразия форматов True Type. Шрифты True Type эволюционировали начиная с Windows 3.1 через Windows 95, Windows 98 и несколько версий Windows NT (что-то принесет Windows 2000?) Появление многоязычных Unicode-вариантов рядом с более старыми не-Unicode (а также русских версий Windows рядом с американскими) тоже изрядно запутывает дело. Далеко не все старые шрифты вообще можно установить на новые системы, а к тем, что удается установить, Rocket Librarian зачастую оказывается слишком привередлив и порой просто не показывает нужный шрифт в списке доступных шрифтов, хотя другие программы прекрасно его видят. Пока не удалось установить, зависит ли «разборчивость» Rocket Librarian от типа системы, в которой он установлен, или программе «не нравятся» конкретные шрифты независимо от окружения. В приложении мы планируем поместить таблицу найденных русских шрифтов с информацией о том, как Rocket Librarian ведет себя с ними.

б) Rocket Librarian при рендеринге / загрузке не захватывает некоторые (или все) варианты начертаний (жирные, курсивные, жирно-курсивные) для некоторых шрифтов True Type.

Разумеется, далеко не все шрифты True Type вообще имеют указанные варианты — но многие имеют. В этом случае логично ожидать, что все они подвергнутся рендерингу и будут загружены в Ракету. На практике, однако, этого часто не происходит. Чаще всего в таком случае Rocket Librarian просто не замечает варианты, не считает их «родственниками» основного и не подвергает рендерингу. В Ракете при этом оказывается только обычное начертание, которым и отображается весь текст независимо от «жирного» или «курсивного» форматирования. Обычно это не вызывает больших помех — такое форматирование не так часто используется в художественной литературе — но может стать проблемой при чтении литературы технической.

Иногда шрифты «теряются» уже в процессе загрузки. То есть все варианты обнаружены, подвергнуты рендерингу, при пересылке шрифтов в Ракету появляется сообщение о загрузке именно восьми файлов, но… после перезагрузки Ракеты одно из начертаний (например, жирно-курсивное) отображается по-прежнему нормальным (и в малом, и в большом размере), а окно About/Details в меню Ракеты показывает наличие всего шести шрифтов вместо ожидаемых восьми. Здесь, похоже, уже можно говорить о проблемах программного обеспечения самой Ракеты.

Информацию о том, каким именно шрифтам свойственно подобное аномальное поведение, мы также планируем поместить в приложении.

в) Общепринятые Юникодовские шрифты True Type бесполезны для русскоязычных читателей.

Юникодовские шрифты True Type, содержащие несколько национальных алфавитов, перекодируются Rocket Librarian совершенно непотребным образом, совершенно игнорируя русские символы, напихивая много лишних и занимая много памяти совершенно бесполезными пустыми символами — даже если на машине русский язык установлен как основной!

imageВот как, к примеру, выглядит в представлении Rocket Librarian и Ракеты наиболее традиционный Arial 10-го размера. Обратите внимание на большое количество лишних символов и просто пустых клеточек.

Это приводит к тому, что большинство традиционных шрифтов, привычно используемых русскоязычными пользователями, оказываются бесполезными для Ракеты. Вот и приходится искать различные старые экзотические шрифты, которые к тому же должны быть удобоваримы для капризного Rocket Librarian…

г) Качество рендеринга порой оставляет желать лучшего, усугубляя и без того невысокое качество некоторых доступных русских шрифтов.

Прямое следствие предыдущего пункта. Многие русские шрифты, гуляющие в Сети, имеют «самодельное» прошлое и уже изначально, в True Type — варианте не отличаются качеством. Плохой рендеринг плохого шрифта способен довести текст до полной нечитабельности.

imageВот как выглядит один из широко известных в Сети — и технически пригодный для Ракеты — шрифт ERBukinist 10-го размера. Помимо нечетких символов — неоправданно широкая матрица символа (лишняя память) и, как и в Arial, много лишних и пустых символов.

Как раз для решения последней проблемы и предназначена данная процедура. Прежде чем приступить к следующему шагу, я предполагаю, что вы сумели найти и загрузить в Ракету хотя бы один русскоязычный шрифт. Лучше такой, который максимально соответствует вашим ожиданиям — тогда меньше придется переделывать. Я рекомендую бессерифные шрифты — Arial, Helvetica, Pragmatica…

imageВот как выглядел изначально шрифт, который я использовал сам — NTHelvetica. Очень компактный, никаких лишних пустых клеточек… правда, вариаций тоже никаких.

2. Выгрузить шрифты из Ракеты в PC утилитой Jedi из программного пакета Merlin.

Если вы еще не знаете, что такое Merlin и не имеете этого программного пакета на своем компьютере, внимательно прочитайте раздел «Краткое описание пакета Merlin». Дальнейшее описание процедуры предполагает, что вы сгрузили и установили пакет Merlin и все полагающиеся для его работы пакеты Java RunTime и убедились в их работоспособности. сожалению, инсталляция Merlin-а и работа с ним может показаться несколько сложной (это пока лишь альфа пре-релиз-версия) — но на сегодняшний день это пока единственный способ общения с Ракетой в обход Rocket Librarian.

Итак, вы преодолели все проблемы, установили Merlin и запустили его. Для извлечения из Ракеты шрифтовых файлов необходимо запустить одну из самых мощных утилит пакета — Jedi. Она предназначена для непосредственного живого общения с Ракетой на уровне отдельных команд.

Jedi можно запустить в окне DOS (или, для большинства русскоязычных пользователей, в окне Norton/Volkov Commander) следующей командой:

>skel jedi

или

>skel jedi -c X

где Х — номер порта, по которому ваш компьютер соединяется с Ракетой. Разумеется, в момент запуска Ракета должна быть включена и «на связи». Если вы загрузили в Ракету какие-то свои шрифты, Jedi наверняка известит вас об этом сообщением об ошибке шрифтов — это сообщение можно смело игнорировать. роме того, Jedi выдаст сообщение о скорости соединения — это и будет означать успешное установление соединения.

После этого надо — уже внутри Jedi — перейти в директорию, в которую вы будете складывать файлы шрифтов:

>cd имя_директории

Теперь можно выгружать файлы шрифтов. Любые файлы — не только шрифты — извлекаются из ракеты командой raw в очень простом формате:

>raw имя_файла_в_Ракете имя_файла_на_компьютере

Да, вся информация внутри Ракеты хранится в файлах, как и в любом компьютере. Вся хитрость в том , чтобы узнать правильное имя файла — ведь соответствующая документация недоступна, а существует ли какой-нибудь аналог команды dir для Ракеты, тоже неизвестно. Впрочем, кое-что на сегодняшний день уже известно. Кое-какую информацию о различных файлах, находящихся внутри Ракеты, вы можете найти в документации по Merlin-у и в разделе «Файлы, находящиеся внутри Rocket eBook». А здесь нас интересует только информация о шрифтах.

Файлы шрифтов внутри ракеты имеют расширение .rbf (это явно означает rocket book font). Имена файлов следующие:

small.rbf

smallb.rbf

smalli.rbf

smallbi.rbf

large.rbf

largeb.rbf

largei.rbf

largebi.rbf

Если вам нужны пояснения насчет того, какой файл за какой шрифт отвечает, то я удивляюсь, как вы вообще дочитали до этого места… 🙂

Разумеется, всех вышеуказанных файлов в вашей Ракете — по вышеуказанным же причинам — может не оказаться. Если файла с нужным именем нет, команда raw вызовет весьма недвусмысленную ругань. Если файл на месте, то никаких сообщений быть не должно, а на диске в текущей директории должен возникнуть файл с указанным вами именем. Я настоятельно рекомендую сохранять файлы на компьютере с точно теми же именами, которые они имеют внутри Ракеты — ниже я объясню, почему.

Иногда, даже если файл шрифта — скажем, small.rbf, существует в Ракете, команда

>raw small.rbf small.rbf

все равно выдает ошибку, как правило — ошибку тайм-аута. Это — проблемы Jedi. Обычно достаточно просто выйти из Jedi командой

>quit

и перезапустить утилиту, повторив соединение с Ракетой. Следите также, чтобы Ракета оставалась включенной во время всего сеанса связи.

Если вы извлекли из Ракеты все обнаруженные шрифтовые (и не только 🙂 файлы, вы можете выйти из Jedi все той же командой quit и выключить Ракету. Следующий этап предполагает работу с rbf-файлами на компьютере, без связи с Ракетой.

3. Отредактировать шрифты утилитой rbfVE.

Собственно, отредактировать файл .rbf можно и без всяких утилит — первые небольшие поправки я делал прямо в бинарном редакторе, ибо внутреннее устройство файлов rbf очень простое. Желающие могут ознакомиться с этим форматом в приложении. Для облегчения задачи я написал небольшую утилиту rbfVE (что означает просто вьювер-редактор rbf-файлов).

imageОна действительно позволяет «заглянуть» в шрифт rbf, модифицировать его и сохранить изменения. Возможности редактирования не слишком широкие, но, возможно, со временем кто-нибудь не напишет что-нибудь получше. Сгрузить утилиту можно здесь (rbfVE.zip), исходный текст (проект C++ Builder 3.0) — здесь (rbfVE-source.zip).

Пользоваться утилитой несложно — кликните на нужном символе, и он появится в сетке редактора. Далее левой кнопкой мыши включите — выключите нужные пикселы, правой — установите требуемую ширину пиксела. Не забудьте сохранить результат — программа сама не напомнит вам об этом, как и не будет задавать идиотских вопросов типа «вы уверены?»

4. Загрузить модифицированные шрифты обратно в Rocket eBook утилитой Jedi.

Теперь, когда вы исправили шрифт в соответствии с вашими предпочтениями, пора вернуть его в Ракету. Это делается все той же утилитой Jedi, командой put:

>put имя_файла_в_компьютере

Пора объяснить, почему я рекомендовал сохранять файлы в компьютере под их родными «ракетными» именами. Команда put загрузит в Ракету любой файл, независимо от того, есть он уже там или нет. Если вы изменили имя файла и потом загрузили его в Ракету под новым именем, он не только не перезапишет старый файл (и не окажет никакого эффекта на отображение символов), но и просто займет лишнюю память. Причем освободить эту память не удастся даже переустановкой шрифтов из Rocket Librarian и даже возвратом к встроенным шрифтам: окно About/Details меню Ракеты все равно будет показывать, что в Ракете установлен один дополнительный шрифт, хоть он и не используется никак. Избавиться от «паразита» можно единственным способом: послать из Jedi команду ferase (не документированную даже в сопроводительных файлах Merlin-a):

>cmd ferase имя_файла_шрифта.rbf

Разумеется, для этого нужно помнить, под каким именем вы засунули в Ракету «лишний» файл.

Перезапись шрифтового файла внутри Ракеты сама по себе не меняет вид отображаемого текста немедленно — чтобы изменения возымели действие, Ракету надо перегрузить. Это можно сделать, выключив ее и снова включив, а можно послать команду reset:

>cmd reset

После этого текст отображается новым шрифтом. Иногда, если при редактировании шрифта сильно менялась ширина символов, может «поехать» разбивка страниц: она «помнит» предыдущие настройки. Очевидно, можно какой-то командой заставить Ракету пересчитать страницы, но мне эта команда неизвестна. Альтернативный способ — удалить книгу из Ракеты и заново загрузить ее из компьютера. Не очень удобно, но, с другой стороны, вряд ли вы будете часто проделывать эту процедуру — рано или поздно вы добьетесь таких начертаний символов, которые будут вас устраивать, и дальнейшие эксперименты будут не нужны.

роме того, я надеюсь со временем получить больше информации о том, какие именно процедуры проделывает Rocket Librarian при загрузке шрифтов в Ракету. А эти процедуры вовсе не ограничиваются простой загрузкой файла с определенным именем — где-то внутри Ракеты еще и устанавливаются ссылки на эти файлы. Поэтому, скажем, если ваш любимый шрифт не посылает в Ракету жирный вариант начертания, то дополнить его файлом smallb.rbf от другого начертания не получится. То есть файл-то в Ракету попадет, но система не станет его использовать — хотя явно существует способ ее заставить. Просто этот способ еще предстоит выяснить.

Так или иначе, даже та информация, что доступна сегодня, позволяет добиться некоторых интересных результатов, и несколько облегчить жизнь русскоязычным пользователям Ракеты. А пока будем ждать появления новой информации о внутреннем устройстве Ракеты.

5. Дополнительная информация

Краткое описание пакета Merlin.

Пакет программ и утилит Merlin разработан программистами англо-американо-израильской компании Shinui как альтернатива Rocket Librarian — поскольку сами программисты (как и многие пользователи Ракеты, включая и меня) были очень разочарованы ее ограниченной функциональностью.

В настоящее время Merlin представлен в довольно ограниченной альфа-пререлиз-версии — но даже сейчас его возможности впечатляют. Пакет написан на Java, работает на Windows и Linux, требует для работы наличия среды Java Runtime, которую надо сгружать и устанавливать отдельно. Это несколько усложняет процесс установки Merlin-а и работу с ним. Впрочем, и Merlin, и Java Runtime совершенно бесплатны.

Merlin можно выгрузить с сайта http://www.shinui.com/Innovate/Merlin/merlin.html, а Java Runtime с сайта http://www.java.sun.com. Установка Java Runtime вполне прозрачна, установка Merlin-a требует некоторого внимания, но я не буду здесь подробно ее рассматривать, а рекомендую внимательно изучить инструкцию его разработчиков. В любом случае рекомендую перезагрузить компьютер после инсталляции — иначе не будут настроены нужные переменные окружения.

Merlin представляет собой набор нескольких утилит. Они позволяют обмениваться файлами между компьютером и Ракетой, сохранять и обрабатывать занесенные в Ракету закладки и примечания, упаковывать файлы с текстами и изображениями в формат rb, а также распаковывать файлы книг из формата rb обратно в общепринятые форматы html и png. роме того, довольно подробная сопроводительная документация описывает некоторые доселе нигде не публиковавшиеся команды, используемые Ракетой, и названия некоторых системных файлов, находящихся внутри Ракеты. Я предлагаю всем желающим самостоятельно ознакомиться со всеми этими интересностями, а для наших задач нам понадобится только утилита Jedi, предназначенная для непосредственной связи с Ракетой, для обмена файлов между Ракетой и компьютером и для выдачи Ракете команд.

Утилита Jedi имеет много команд и опций, и тоже снабжена подробной документацией. Рекомендую подробно изучить все ее богатые возможности. Впрочем, в своем описании, там, где используется утилита Jedi, я указываю точные команды.

Отдельно укажу по крайней мере одну проблему с запуском утилит Merlin-a. Для запуска утилит используются скрипты, которые, по всей видимости, написаны для Windows NT и не работают на Windows 95 и некоторых других версиях. Разумеется, можно исправить скрипты — это ведь обычные bat-файлы — но я поступаю проще и запускаю утилиты не через иконки, а из командной строки, через скрипт skel, как раз предназначенный для запуска других скриптов. Так, запуск Jedi будет выглядеть так:

>skel jedi

Эта команда запустит Jedi в режиме автопоиска COM-порта. Если вы точно знаете номер порта, по которому происходит связь с Ракетой, можете указать его в явном виде. В случае, скажем, COM3 команда будет такой:

>skel jedi -c 3

сожалению, пакет Merlin пока не уделяет внимания шрифтам — а это как раз то, что больше всего интересует русскоязычных читателей. Потому и приходится выкручиваться хотя и с помощью Merlin-a, но своими силами. Будем надеяться, что следующие версии Merlin-а будут еще более функциональны, а пробелы в документации по Ракете будет постепенно исчезать. стати, в описании Merlin-a проскальзывает намерение сделать доступными его исходники, что облегчит написание «самодеятельного» ПО для Ракеты.

Формат шрифтовых файлов Ракеты.

Файл rbf состоит из трех основных частей — заголовка, массива ширин символов и массива битмапов символов.

Заголовок файла описывается следующей структурой:

typedef struct

{

//четыре переменные неизвестного назначения, всегда одинаковые,

//поэтому могут использоваться как сигнатура формата

unsigned short iUnknA01; //неизв., всегда 0x0EE0

unsigned short iUnknA02; //неизв., всегда 0x0DF0

unsigned short iUnknA03; //неизв., всегда 0x0003

unsigned short iUnknA04; //неизв., всегда 0x0000

char FontName[0x3F]; //текстовое название шрифта

long CharSize; //0, +0x48, размер битмапа символа в байтах

long Points; //1, +0x4C, размер шрифта в пойнтах

long Height; //2, +0x50, высота битмапа символа в пикселах

long iUnknB01; //3, +0x54, неизв.

long iUnknB02; //4, +0x58, неизв.

long iUnknB03; //5, +0x5C, неизв.

long iUnknB04; //6, +0x60, неизв.

long WidthsShift; //7, +0x64, смещение массива ширин символов

long BitsShift; //8, +0x68, смещение массива битмапов символов

long iUnknB05; //9, +0x6C, неизв.

long iUnknB06; //A, +0x70, неизв.

} rbfhdr;

За заголовком следует массив ширин символов. Его смещение от начала файла указано в заголовке. На каждый символ отводится по байту, которым указана ширина символа в пикселах.

Затем идет массив битмапов символов, смещение которого от начала файла тоже указано в заголовке, как и число байтов, отводимое на каждый символ. Разница между адресами смещения массива битмапов и массива ширин в байтах дает общее число символов в файле — поскольку ширина указывается как раз одним байтом. Отношение размера битмапа в байтах к высоте битмапа в пикселах дает другой полезный параметр: ширину битмапа в байтах. Умноженная на 8, она дает ширину битмапа в пикселах.

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

Образец шрифтового файла — файл small.rbf для шрифта NTHelvetica — можно сгрузить и посмотреть здесь (small.zip)

Дополнение: Исследование двух системных шрифтов меню, извлеченных из Ракеты, заставило меня несколько расширить представление о формате файла rbf: оказывается, массив ширин может располагаться и после массива битмапов! Разумеется, в этом случае общее число символов в байте должно подсчитываться чуть иначе, для чего мне пришлось модифицировать утилиту rbfVE.zip.

Файлы, находящиеся внутри Ракеты.

Документация к Merlin-у содержит описание формата rb, в котором хранятся не только загружаемые в Ракету книги, но и многие системные файлы, включая апгрейды операционной системы. Формат представляет собой по большому счету просто разновидность файла zip, содержащего другие файлы в сжатом виде. Я еще не анализировал подробно этот формат, но успел заметить, что Merlin содержит утилиты как для создания файлов rb (аналогично Rocket Writer), так и обратному «разматыванию» файлов rb на исходные файлы — чего программное обеспечение от NuvoMedia, разумеется, не делает.

Более интересными, однако, мне показались упоминания имен четырех системных файлов:

menufont.rb

sysIcons.rb

strings.resource

keyboard.resource

Я уже упоминал, что утилита Jedi позволяет вытащить из Ракеты любой файл — при условии, что вы знаете его имя. Последнее как раз самое сложное — никакой документации о внутренних файлах Ракеты NuvoMedia не публиковала, и остается лишь гадать, где создатели Merlin-a добыли недостающую информацию. Но так или иначе, а я немедленно извлек из Ракеты указанные файлы и внимательно их изучил.

menufont.rb

Здесь в документацию Merlin-а вкралась опечатка — на самом деле файл называется так:

menufont.resource

Но откуда возникла опечатка, вполне понятно — внутри файл является обычным файлом rb, и, если переименовать расширение, то все утилиты Merlin-a воспримут файл совершенно адекватно.

Внутри файла содержатся в сжатом виде два «системных» шрифта, используемых Ракетой для отображения меню:

menu_font_large.rbf

menu_font_small.rbf

Я развернул файл rb утилитой Identify из пакета Merlin и получил на своем диске два указанных файла уже безо всякой компрессии. Файлы и в самом деле оказались обычными rbf. Хотя нет, не совсем обычными — моя утилита rbfVE сначала не захотела работать с ними. Оказалось, что в этих файлах, в отличие от файлов загружаемых шрифтов, массив ширин символов располагается… после массива битмапов! Пришлось модифицировать программу, после чего я смог открыть файлы утилитой rbfVE, «подправить» несколько букв там, где должны располагаться русские символы, и снова сжать оба файла в новый файл menufont.rb утилитой pack из все того же пакета Merlin. Следующим логическим шагом было, разумеется, послать обновленный файл menufont.rb в Ракету и посмотреть, станет ли она после этого отображать русские заголовки загруженных в нее книг (если кто-то соберется следовать по моим стопам, не забудьте сохранить копию старого файла menufont.rb (или menufont.resource), равно как и любого системного файла, который вы собрались менять!) Теперь меняем расширение файла обратно на resource, запускаем все ту же могучую утилиту Jedi, идем в нужную директорию, и выдаем команду:

>put menufont.resource

Упс! После непродолжительной паузы на экране Ракеты появляется сообщение об ошибке установки заголовка. Какого заголовка?! Мы же грузим шрифт-ресурс, а не заголовок! Стоп. Если и те, и другие хранятся в формате rb, то как Ракета отличает книгу-заголвок от системного файла? Снова лезу бинарным редактором в файлы… ага, вот оно: файлы традиционных rb-книг имеют сигнатуру B0 0C B0 0C 02, а файл menufont.resource, выгруженный из Ракеты — сигнатуру B0 0C F0 0D 02. Проверяем обновленную версию файла menufont.resource, созданную утилитой pack — так и есть, «книжная» сигнатура. Очевидно, утилита предназначена для создания книг, а не системных файлов :-).

Ничего страшного: меняем сигнатуру в бинарном редакторе и снова посылаем файл в Ракету. На это раз файл «проглочен» без вопросов. Открываем меню «книжной полки» с заранее загруженным русским заголовком — ноль эффекта. Вынимаем Ракету из колыбельки, ориентация текста переключается на портретную. Вызываем меню «книжной полки»… Что за черт?! уда делся шрифт? Заголовок окна и все меню отображаются вместо жирного Таймса простой Верданой — встроенным шрифтом Ракеты, используемым для текстовых файлов. И, разумеется, никакого русского заголовка. 🙁 Может, перезагрузка поможет? Перезагружаю Ракету, лезу в меню… Ну что ж, хорошая новость — что по крайней мере старый жирный Таймс вернулся на место. Плохая — что русский заголовок по-прежнему нечитабелен: в Ракете не сохранилось никаких следов «обновленного» файла menufont.resource. Проверка с помощью Jedi подтвердила этот вывод: команда raw обнаружила и выгрузила из Ракеты старую версию файла, без каких-либо модификаций.

Похоже, что файл menufont.resource находится в Ракете в какой-то более защищенной области, чем другие системные файлы: команда put может «испортить» его на время сеанса, но файл будет восстановлен в прежнем виде после перезагрузки. Более того, даже сеансное изменение файла не приносит никаких положительных результатов: шрифт просто становится на некоторое время недоступным для системы.

Ну что ж, отрицательный результат — тоже результат. Очевидно, возможности команды put ограничены. Наверняка есть способ заменить шрифты меню, так что подождем, пока не появится информация о том, как это сделать. А пока все желающие могут сгрузить файл menufont.zip и самостоятельно ознакомиться с извлеченными из Ракеты шрифтами меню.

sysIcons.rb

Этот файл оказался еще более интересным, чем файл шрифтового меню. В нем обнаружилось ни много ни мало 31 файл! 17 файлов png с различными лого и иконками, 5 файлов pix с иконками стрелок и круга, отображаемыми при нажатии кнопки «Ориентация», и 9 уже знакомых файлов rbf со встроенными шрифтами Ракеты. Богатый улов! Если удастся модифицировать эти файлы и загрузить их обратно в Ракету, откроются широкие возможности по подстройке Ракеты «под себя». Только представьте, что Ракета вместо своего логотипа показывает при загрузке ваш собственный экслибрис! (Наверняка тут же появятся коллекционеры электронных экслибрисов :-).

Впрочем, экслибрисы — это украшательство, а вот шрифты — дело для нас, русскоговорящих (и русскочитающих! 🙂 куда более насущное. Ведь если удастся заменить встроенные шрифты, то отпадет потребность грузить дополнительные шрифты, отнимающие ценную память.

imageА при взгляде на таблицу встроенной «Верданы» руки так и чешутся: 51 байт на символ для 10-пойнтового шрифта, 480 символов, из которых через ASCII адресуется меньше половины, четыре ряда пустых клеток, каждая из которых занимает столько же места, сколько и полный символ!

И таких файлов четыре для малого и четыре для большого размера! Учетверенные 25 б на малом размере и 44 б на большом (NTHelvetica, для сравнения, имеет всего по 7 и 14 б соответственно, за счет более узкой матрицы символа и значительно меньшего количества символов) — многовато! Хорошо хоть, что хранятся они в Ракете в сжатом виде… Но все равно, если уменьшить размеры встроенных шрифтов (и картинок), можно будет несколько снизить объем, занимаемый системой — в пользу книг.

стати, большое количество «лишних» символов во встроенных шрифтах наводит на мысль либо о редкостной халявности разработки, либо о планах многоязычной поддержки. В самом деле, в шрифте такой размерности можно разместить все символы русского, греческого и всех европейских алфавитов, и еще место останется. Остается только определить, как адресовать символы за пределами 256-битной границы ASCII — и можно делать книги и словари, в которых на одной странице может соседствовать текст на разных языках в разных кодовых таблицах.

…Мечтать, конечно, хорошо, но свежая неудача со шрифтовыми файлами меню на этот раз не очень располагала к радужным мечтам. И все-таки разве можно не попробовать? И вот из Ракеты снесены все загруженные русские шрифты, чтобы не путались под ногами, «вердановские» файлы слегка модифицированы в русской части (по паре букв на файл — мой редактор пока плохо пригоден к полному рисованию шрифта с нуля, максимум к небольшим поправкам), утилита pack безотказно формирует обновленный sysIcons.rb (для такого большого количества файлов пришлось воспользоваться опцией filelist). Время посылать файл в Ракету. На всякий случай пробую проделать это, не меняя сигнатуры с «книжной» на «системную». Не идет. Лезу в бинарный редактор и меняю сигнатуру. Снова посылаю файл — и… вижу на экране русские буквы!

Все еще боясь поверить в удачу, перегружаю Ракету. На экране — по-прежнему русские буквы! Открываю окно About/Details — никаких дополнительно загруженных шрифтов, вся их память отдана книгам! Медленно осознаю увиденное, проникаясь далеко идущими последствиями (некоторые из которых были описаны выше :-)…

Что ж, кажется, пора модифицировать свой редактор — чтобы он мог полноценно рисовать шрифты, и копировать символы, а не только править отдельные пикселы. Возможно, имеет смысл нарисовать шрифты и довести их до ума «централизованно» и выложить для всех желающих. Возможно также, что делать это лучше не мне, а кому-нибудь более сведующему в дизайне шрифтов :-). А может быть, стоит написать более грамотный (чем Librarian) рендерер для шрифтов True Type. Отдельного упоминания, кстати, заслуживает файл fixed.rbf, он же 10 pt Courier — этот встроенный моноширный шрифт вообще нельзя модифицировать «стандартными» средствами Rocket Librarian. Выходит, нестандартными теперь можно :-).

Единственное, что пока несколько огорчает — это то, что для всех вышеуказанных операций необходимо использовать громоздкий, глюкавый и ограниченный Merlin (впрочем, огромное спасибо его создателям — даже в таком виде это весьма могучий и ценный инструмент :-). Будем надеяться, что Merlin все-таки выйдет из альфа-версии и приоткроет исходники и SDK. В конце концов мы пока лишь в самом начале пути к глубокой русификации и адаптации Ракеты…

Напоследок предлагаю самостоятельно ознакомиться как с файлом sysIcons.rb, так и с файлами, составляющими его содержимое: sysicons.zip. Утилита для rbf-файлов у вас уже есть. png-стандарт для графики уже достаточно распространен и поддерживается многими программами. pix-формат от NuvoMedia неплохо описан в документации Merlin-a и просматривается одной из утилит этого пакета.

strings.resource

Этот файл не содержит ничего неожиданного — как и следует из названия, в нем содержатся строковые ресурсы, используемые Ракетой в различных сообщениях и экранах. Наверняка формат файла соответствуют какому-то стандарту, и наверняка сообщения можно перевести на русский, сделав русификацию Ракеты еще более глубокой — однако, пока не будет найден способ русифицировать шрифт меню, которым и выводятся все сообщения, этот вопрос представляется неактуальным. Впрочем, ничто не мешает мне привести здесь сам файл strings.zip для тех, кто не желает возиться с Merlin-ом.

keyboard.resource

Видимо, в этом файле лежит раскладка клавиатуры. Тоже больной для нас вопрос, который, боюсь, простым редактированием ресурсного файла не решить — надо еще, чтобы операционная система умела переключаться с раскладки на раскладку, а этого в Ракете пока не наблюдается. Впрочем, для тех, кто хочет взглянуть на файл — вот он: keyboard.zip.

При перепечатке материалов The-eBook | Электронные книги и устройства для чтения, обязательно указывать ссылку на оригинал.

Электронная книга в 2004. Все на старт.

31 января, 2008
Кризис в IT- индустрии, начавшийся в конце 2000 года, заставил многие компании искать новые продукты и новые рынки для их реализации. Так в 2001 году родился новый рынок PDA, который более 10 лет ждал своего часа. Сейчас, ДБДА-видимому, пришло время и для электронных книг. В 2003 году впервые, за все время существования данного направления (первые серийные образцы электронных книг появились около 5 лет назад), на него обратили свое внимание такие гранды IT- бизнеса, как HP, SONY, MICROSOFT, PANASONIC, ….
То, что данным рынком заинтересовались такие гиганты очень хорошо, это говорит о том, что этот рынок уже готов приносить достаточно много денег, чтобы этим великанам IT-индустрии было выгодно «нагнуться» за ними. Однако, это еще не факт, что они способны своими «лапами» накрыть весь рынок и собрать с него все крупинки. Большие компании, как правило, стремятся к большим прибылям и часто выбирают наиболее короткий и доступный для них путь, не заботясь об его эффективности. Вот и сейчас мы наблюдаем аналогичную картину в подходе к рынку электронных книг.
Основная ошибка, которую они допускают в настоящий момент, состоит в том, что электронная книга ими воспринимается как универсальное безликое устройство для всех без исключения сегментов этого рынка. Вместе с тем, даже самый поверхностный анализ рынка электронных книг, позволяет выявить вполне обособленные сегменты, которые требуют своего индивидуального подхода, как к конструкции самой книги, так и к маркетингу.
На мой взгляд, для 2004-2005 года в системе координат «конструкция – маркетинг» можно выделить следующие сегменты рынка электронных книг:

— Pocket eBook;
— School eBook;
— Uni eBook (universal ebook);
— Office eBook;
— Power eBook.


В данной таблице постараюсь дать примерное описание этих сегментов:

I

Pocket Book

A

Целевая аудитория
Массовая аудитория любителей чтения в дороге или на отдыхе.

B

Требования к конструкции книги
Небольшая тонкая книга карманного формата с черно-белым экраном не более 4.0-4.5 дюйма с разрешением не хуже 480Х340 точек. Тип экрана STN-LCD c белой подсветкой или рефлективный бистабильный. Вес до 200 грамм. Высокая устойчивость к воздействию внешней среды (падения, влага, перепады температуры). Желательно наличие сенсорного экрана для выполнения функций органайзера. Внутренняя память хранения — отсутствует. Внешний носитель: SD-карточка. Малое энергопотребление. Питание от внутренних аккумуляторов или ААА — батарей. Возможно использование солнечной батареи на внешней стороне крышки экрана для подзарядки внутреннего аккумулятора (актуально для бистабильных экранов с малым энергопотреблением). Операционная система с минимальными функциями управления от 2-4-х кнопок.

C

Маркетинг
Стоимость 50-100 долларов США! Продажа в супермаркетах, на вокзалах, в книжных киосках, … рядом с точками продажи желательны мультимедийные киоски с электронными книгами.

D

Примечание
В данном формате возможен выпуск супер дешевых электронных книг с возможностью однократной записи контента.

II

School Book

A

Целевая аудитория
Ученики младших и средних классов.

B

Требования к конструкции книги
Цветной высококонтрастный тонкопленочный не стеклянный! рефлективный экран формата 6.5-10.0 дюймов. Обязательно наличие тачскрина или другого удобного устройства ввода информации. Разрешение экрана от 640Х480 и выше. Вес до 500 гр. Питание от сменного аккумулятора. Внутренняя память хранения 128-256 Mb. Внешний носитель – не обязателен. USB- интерфейс и хотя бы один из перечисленных беспроводных каналов связи: скоростной IrDA, Bluetooth, WLAN. Особое внимание должно быть уделено эргономике корпуса, санитарным нормам и надежности конструкции в целом. Операционная система Linux или WinCE.

C

Маркетинг
Цена до 150 долларов США. Реализация и продвижение на рынок с непосредственной поддержкой министерств образования и здравоохранения.

D

Примечание
Очень тяжелый и супер емкий рынок. Требует существенного пересмотра всех существующих учебных программ и методик.

III

Uni Book

A

Целевая аудитория
Ученики, старших классов школ и колледжей, студенты, любители чтения книг, медработники, инженеры, преподаватели, …. Один из массовых сегментов рынка

B

Требования к конструкции книги
Цветной или черно-белый высококонтрастный LCD – экран формата 640Х480 и выше. Крайне желательно наличие тачскрина (сенсорного экрана). Вес книги до 500 гр. Питание от сменного аккумулятора. Время автономной работы от аккумулятора не менее 10-14 часов. Внутренняя память хранения 128-256 Mb. Внешний носитель – SD или CF-карточка. Слот карточки расширения должен обязательно поддерживать установку внешних модулей расширения, таких как, модем, WLAN или Bluetooth, GSM/GPRS, GPS, фото/видео-камера, …. USB-интерфейс. Из беспроводных встроенных модулей крайне желательно иметь WLAN. Корпус устройства должен быть достаточно эргономичен и функционален. Операционная система Linux или WinCE.

C

Маркетинг
Цена 150-250 долларов США в зависимости от «заворотов» и типа экрана. Реализация через широкую розничную сеть, в учебных заведениях, ….

D

Примечание
Весьма демократичный рынок, готовый уже сейчас без серьезной предварительной подготовки проглотить изрядное количество девайсов. Главным для него является доступная цена за достаточно универсальное устройство.

IV

Office Book

A

Целевая аудитория
Офисные работники и бизнесмены.

B

Требования к конструкции книги
Бистабильный черно-белый или цветной рефлективный экран высокого разрешения формата А4 (А5). Внутренняя память 64-256 Mb. Sd-слот расширения. Обязательно наличие встроенного модуля WLAN и специальных аппаратных и программных средств защиты информации. Тонкий прочный эргономичный корпус. Вес: 300-500 гр. Операционная система Linux или WinCE.

C

Маркетинг
Цена устройства до 200 долларов США. При продвижении данного устройства на рынок необходимо сделать упор на дополнительную защиту информации, которую не может обеспечить простой лист бумаги, быстроту доступа к нужной информации, удобство пользования, экономию на бумаге…

D

Примечание
Данное устройство должно решить проблему «последней мили» в концепции электронного документооборота! Его главная цель вытеснить бумагу из офиса и максимально защитить внутрикорпоративную информацию. Устройство должно органично вписаться во все основные офисные системы.

V

Power Book

A

Целевая аудитория
Работники в поле: инженеры, строители, ремонтники, врачи скорой помощи, …

B

Требования к конструкции книги
Это практически та же Uni eBook, но выполненная в ударопрочном защищенном корпусе. Имеет усиленные аккумуляторные батареи и расширенный температурный режим эксплуатации.

C

Маркетинг
Цена до 400 долларов США. Весьма денежный и емкий рынок, на который в силу его специфичности вряд ли будут выходить крупные фирмы.

D

Примечание
Живучесть, живучесть и еще раз живучесть.


Вряд ли эта таблица может претендовать на полноценное описание рынка устройств для чтения электронных книг. Однако, ее можно взять за основу для позиционирования разрабатываемых девайсов.


Как уже не раз подчеркивалось, главным в конструкции электронной книги является экран. От этой «печки» начинаются все пляски. И так, что мы имеем на этом фронте 2004 году:

Первая и, наверное, очень радостная новость: японская компания TOPPAN наконец-то объявила окончательный срок начала серийного производства e-Ink экранов: 2-3 квартал 2004 г. Это будут черно-белые 6 дюймовые стеклянные экраны. Более подробно, на странице фирмы PHILIPS – главного спонсора e-Ink. Первый промышленный прототип книжки на базе такого экрана представила фирма SONY. Первые экраны на гибкой подложке появятся не раньше 2005-2006 года. Тогда же эти экраны станут цветными.


Продолжается разработка экранов на основе технологии BiNEM от французской фирмы NEMOPTIC (http://www.nemoptic.com/). Правда, и здесь не все так гладко и весело, как хотелось бы. Разработчики пока не готовы твердо сказать, когда их экран пойдет в серию. Тайваньская фирма производитель ЖК- экранов Picvue (http://www.nemoptic.com/company/company1.htm) обещает их массовый выпуск с мая 2003 года. Эта технология вполне конкурентна с e-Ink, так как, предусматривает производство гибких и цветных экранов.


Таким образом, единственно серийно выпускаемыми экранами для электронных книг на начало 2004 года являются: STN-LCD, Сh-LCD и TFT экраны. Последние, применяются в «книгостроении» очень редко, ввиду большого энергопотребления и высокой стоимости, как самого экрана, так и книги в целом (более сложная электронная плата, дорогие литий-ионные батареи большой емкости). В 2002-2003 году было выпущено очень много китайских электронных книг на основе Ch-LCD экранов. Однако, я не думаю, что эти экраны будут столь же популярны и у нас. Основной их недостаток состоит в очень низкой скорости обновления экрана, которая имеет свойство ухудшаться еще больше при снижении окружающей температуры до +15С и ниже. При этом происходит существенное снижение контраста экрана и появление муара ухудшающих читабельность экрана в целом. Кроме того, до сих пор нет нормального черно-белого Ch-LCD экрана. Они все, как правило, окрашены в черно-зеленый или бело-голубой цвет.

Книги на основе STN-LCD – экранов больше популярны на «западе» в основном благодаря REB и «ракете». Эти экраны вполне конкурентны, при условии высокой контрастности экрана. Например, многие любители электронного чтения просто мечтают заполучить старую «Ракету» из-за ее супер контрастного экрана. Вместе с тем STN-LSD экран корейской книги HieBOOK просто ниже любой критики.

Есть надежда, что новая китайская книжка от фирмы Founder Technology Group, Corp сможет продолжить славные традиции Rocket eBOOK.

На основании «реальных» технических возможностей и прежде всего наличия подходящих экранов в 2004 году принципиально возможно наладить выпуск электронных книг класса: Uni BOOK и Power BOOK. Книжки в формате Pocket BOOK появятся в продаже только при наличии экранов в 4.0-4.5 дюйма, о которых я пока ничего не слышал. School BOOK пока придется ждать экрана на гибкой не бьющейся основе.

Следует отметить, что одна из наболевших проблем, связанных с тачскрином решена фирмой WACOM Components (http://www.wacom-components.com/english/index.asp), которая предложила безконтактный индукционный перьевой ввод информации с экрана книги. Это позволяет отказаться от дополнительного многослойного сенсорного экрана ухудшающего читабельность книжки.

«Идеальная» книга формата Uni BOOK в 2004 году могла бы выглядеть следующим образом:

Операционная система:
Linux
Процессор:
RISC 32-66 MHz
Память:
4 Мб RAM (ОЗУ)
32-64 Мб ROM (ПЗУ)

Тип ПЗУ: FlashDisk

Экран:
Черно-белый Toppan e-INK
Размеры: 6 »
Батареи, питание:
2ХАА – батареи на 2 месяца работы.
Слоты расширения:
Compact Flash тип II
Поддержка карт и стандартов:
— CF Type II
Масса, габариты:
250 -300 г.
Коммуникации:
Поддержка стандартов:
— IrDA (ИК-порт)
— USB-порт
Мультимедиа, «фишки»:

Мультимедиа и прочие возможности:
— Динамик
— MP3-плеер
— Стерео-выход

Управление и ввод:
Управление и ввод:
— Сенсорный индуктивный экран/стилус
— Хард-кнопки

«Идеальная» книга формата Power BOOK:

Операционная система:
WinCE, Linux
Процессор:
RISC 200-400 MHz
Память:
32-64 Мб RAM (ОЗУ)
32-64 Мб ROM (ПЗУ)

Тип ПЗУ: FlashDisk

Экран:
Цветной TFT, min 640×480
Размеры: 5’’-8’’
Батареи, питание:
Li -ion– батарея не мение 2200 mAh.
Слоты расширения:
1 — Compact Flash тип II
2 – SD
Поддержка карт и стандартов: CF Type II и SDIO
Масса, габариты:
400-500 г.
Коммуникации:
Поддержка стандартов:
— IrDA (ИК-порт)
— USB-порт
Мультимедиа, «фишки»:
Мультимедиа и прочие возможности:
— Полифонический динамик
— MP3-плеер
— Стерео-выход
— Диктофон, встроенный микрофон
Управление и ввод:
Управление и ввод:
— Сенсорный индуктивный экран/стилус
— Хард-кнопки
— Джойстик

При перепечатке материалов The-eBook | Электронные книги и устройства для чтения, обязательно указывать ссылку на оригинал.

Вы можете прислать нам новости или сообщить что-то очень важное заполнив форму.