Подготовка и чтение русского текста для PalmTop'ов и КПК
Чтение ebooks на Palm с помощью iSilo
---------------------------------------------------------------
From: Max T (maximt@online.ru)
----------------------
Для чтения ebooks на Palm удобно пользоваться программой iSilo
(http://www.isilo.com) Она обеспечивает лучшее сжатие текстов, чем
пальмовский формат DOC, сохраняет форматирование, иллюстрации и линки внутри
файла и между документами.
Конвертер (бесплатный) есть для платформ Win32, Mac OS, Linux Intel, Free
BSD Intel, Solaris Sparc (см. тут http://www.isilo.com/download.htm).
Читалка для Palm есть в двух версиях: бесплатная облеченная (но вполне
функциональная) и полная, которая стоит денег. Скачать можно там же.
Конвертер может работать с plain-text и HTML файлами. Для чтения книг из
библиотеки Мошкова удобнее всего оказалось делать так: через оглавление
файла (иконка рядом с названием) выйти на линк на файл в формате HTML,
скопировать URL и вставить в конвертер iSilo. Тогда а) в Palm'е сохраниться
форматирование текста, выделение глав, итд и б) абзацы будут начинаться с
красной строки и *не* будут разделены пустыми строками.
При подготовке текстов в HTML из других источников для разделения абзацев
вместо тэгов <P> лучше пользоваться комбинацией
<BR>
Абзацы получатся с красной строкой и без лишнего промежутка.
Для удобства чтения файл iSilo можно разметить закладками, например по
главам, разделам и пр. см. http://www.isilo.com/support/html.htm#bookmarks
Подготовка русского текста для PalmTop'а
From: Mark Geyzer
Date: 13 Jun 2000
Я немного поигрался со своим Palm-ом и смог загрузить русский текст. В
первую очередь, если Palm не настроен на русский алфавит (мой случай), можно
сгрузить CyrHack с сайта http://palm.tucows.com , категория 'Hacks'. Для его
запуска нужен HackMaster - там же.
Для чтения на Palm я использую MobiBook, а для преобразования формата
на PC - MobiBook Publisher. Оба последних доступны на http://www.mobipocket.com
Для преобразования вначале надо сохранить web-страницу в текстовом
формате. Затем запустить Publisher 'One step conversion', и построить
Palm-текст. Я отменил опцию сжатия - по-моему, сжатие портит текст.
Загрузить созданный файл в Palm - и читать в удовольствие.
Максим Борисов. Программы для чтения книг PDA - PocketPC
(помимо, соответственно, встроенных - PocketWord (txt), Pocket Internet
Explorer (html) и MS Reader (lit))
Самые популярные сторонних производителей:
1) MobiPocket (for PalmOS, for Windows CE) (free download at
http://www.mobibook.com/download.htm) - бесплатная, помимо собственного
формата *.prc открывает txt (причем, по-видимому, частями, потому что в
отличие от Word практически моментально - это очень ценно, вордом романы не
особенно почитаешь в txt) и html (причем тоже быстро в отличие от IE и,
главное, игнорирует все "украшательства" типа таблиц, картинок и т.д. -
только текст, размеры, начертания - простейшие тэги - то есть можно читать
романы как они есть в lib.ru - не разбивая на кусочки и не переформатируя,
чтоб влезало в экран).
Недостатки - все время пропихивает вперед свой собств. книжный формат
(для того и сделана), поэтому чтобы читать txt и html приходится затрачивать
лишние усилия, кроме того, html порядком глючил и не сохранялись нужные
настройки (особенно в прежних версиях). Да, есть эмуляция на десктоп, как у
MS Reader, только у меня лично она не работает - да и ни к чему она по сути
:-)
2) Starbuck http://www.thumbsupsoft.com/maphtm/starbuck.html - эта
штука шароварная. Без собственного формата, txt и html. Большие плюсы -
возможен полноэкранный режим (в последнем MobiPocket, кстати, - тоже), без
полей, возможен автоскролинг, весь лист можно поворачивать с шагом 90 град.
Просмотр html можно настраивать - с сохранением элементов дизайна и без них,
но ссылки какого-то черта не работают :-(.
С шароварностью можно мириться - через какое-то время выбрасывает из
текста с просьбой заплатить, кажется, 10 $ - но тут же можно нажать OK и
соответствующую иконку программы и продолжить чтение (на iPaq у меня - два
нажатия подряд на "джойстик" - и открывается на том же месте). Еще вроде бы
время от времени придется скачивать новый экземпляр программы, чтоб
продолжала работать - ну или переводить системное время назад.
Ну в общем я пользуюсь теперь больше MobiPocket, а MS Reader - только
на оставшиеся в lit книжки...
3) Собственно, с MS Reader: во-первых, рекомендуется бесплатно заказать
по почте у Парагона Paragon FontFix (ну или вручную подменить
нерусифицированный шрифт) - чтобы _все_ нормально читать, во-вторых,
собственные книжки в lit можно изготавливать либо ReaderWorks Standard (из
txt и html), либо специальным плагином под Word от MS (и то и другое
скачивается бесплатно... есть и более обстоятельные описания, как это делать
- и с lib.ru прежде всего :-), - если нету, могу эти ссылки посмотреть, там,
собственно, и сколько-то книг в lit...
From: "Oleg Orlov"
To:
Sent: Friday, August 30, 2002 3:45 PM
> Может кто-то читает книги с lib.ru на карманном
> ПК с помощью халиридера. Вот скриптик, который
> качает текст, немного чистит его и зипует.
> Использовать:
> libru.py http://www.lib.ru/DOWLATOW/chemodan.txt
> Конечно, прокси нужно прописать свой, или
> закомментировать initproxy().
import sys, re, StringIO, gzip, zipfile, urllib2
def initproxy():
proxy_support = urllib2.ProxyHandler({"http" : "http://user:password@proxy.domain.ru:3128"})
opener = urllib2.build_opener(proxy_support,urllib2.HTTPHandler)
urllib2.install_opener(opener)
def doprepare(text):
text = text.replace("\024", "").replace("\025",".\r\n").replace("\241","")
text = re.sub(r"[ \t]+", " ", text)
text = re.sub(r"[\f\v]+", "\r\n", text)
text = re.sub(r"(?s)-{63,}.{1,500}-{63,}", "\r\n", text, 1)
parags = [re.sub(r"\s+", " ", p) for p in re.split(r"(?m)^\s", text)]
text = "\r\n ".join(parags)
return text
def download(url):
data = urllib2.urlopen(url + ".gz").read()
return data
def handleurl(url):
inname = url.split("/")[-1]
text = gzip.GzipFile(fileobj = StringIO.StringIO(download(url))).read()
zf = zipfile.ZipFile(inname.split('.')[0] + ".zip", "w")
info = zipfile.ZipInfo(inname)
info.compress_type = zipfile.ZIP_DEFLATED
zf.writestr(info, doprepare(text))
if __name__ == '__main__':
initproxy()
handleurl(sys.argv[1])
Last-modified: Thu, 05 Sep 2002 14:32:13 GMT