From 7fa54dfd9b8ef28bb3253a0deafabfd5b1e69adb Mon Sep 17 00:00:00 2001 From: Nikolay Pultsin Date: Thu, 18 Dec 2014 19:33:24 +0000 Subject: [PATCH] intro ePub auto generation --- assets/data/help/MiniHelp.ru.fb2 | 16 ----- assets/data/help/fb-intro-ru.epub | Bin 16877 -> 0 bytes build.xml | 11 ++- help/generate.py | 63 ++++++++++++++++++ help/html/ru.html | 32 +++++++++ help/proto/container.xml | 6 ++ help/proto/content.opf | 18 +++++ help/proto/fbreader.png | Bin 0 -> 13111 bytes help/proto/style.css | 2 + .../fbreader/src/bookmodel/BookReader.cpp | 2 +- .../fbreader/src/bookmodel/BookReader.h | 3 +- .../src/formats/xhtml/XHTMLReader.cpp | 5 +- .../zlibrary/core/src/xml/ZLXMLReader.cpp | 14 ++++ .../zlibrary/core/src/xml/ZLXMLReader.h | 1 + .../zlibrary/text/src/model/ZLTextModel.cpp | 36 ++++++---- .../zlibrary/text/src/model/ZLTextModel.h | 7 +- .../geometerplus/fbreader/book/BookUtil.java | 4 +- .../text/model/FBReaderSpecialEntry.java | 6 +- .../zlibrary/text/model/ZLTextPlainModel.java | 16 +++-- .../text/view/ZLTextParagraphCursor.java | 1 + 20 files changed, 196 insertions(+), 47 deletions(-) delete mode 100644 assets/data/help/MiniHelp.ru.fb2 delete mode 100644 assets/data/help/fb-intro-ru.epub create mode 100755 help/generate.py create mode 100644 help/html/ru.html create mode 100644 help/proto/container.xml create mode 100644 help/proto/content.opf create mode 100644 help/proto/fbreader.png create mode 100644 help/proto/style.css diff --git a/assets/data/help/MiniHelp.ru.fb2 b/assets/data/help/MiniHelp.ru.fb2 deleted file mode 100644 index 463ed8c4f..000000000 --- a/assets/data/help/MiniHelp.ru.fb2 +++ /dev/null @@ -1,16 +0,0 @@ - -FBReader О программе FBReader ru - -<p>О программе FBReader &FBReaderVersion;</p> -

Эта программа предназначена для чтения электронных книг в форматах ePub и fb2. Если у вас уже есть подходящие книги, положите их на карту памяти в каталог Books. После этого вы найдете свои книги в библиотеке. В FBReader встроена сетевaя библиотека, из которой можно бесплатно скачивать и покупать книги.

-

Для перелистывания страницы коснитесь правой части экрана (или левой, если хотите вернуться на предыдущую страницу). Другие варианты перелистывания – провести по экрану пальцем справа налево, или воспользоваться кнопками регулировки громкости.

-

Вы можете настроить FBReader, чтобы читать так, как удобно именно вам. Цвета, шрифты, каталоги, способы листания, и многое другое можно поменять в диалоге настроек.

-

Обычно управление программой происходит с помощью меню. Если на вашем устройстве нет кнопки Menu, просто нажмите на экран в середине его нижней части.

-

Приятного чтения!

- -

Ссылки

-

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

-

Сообщения о вышедших версиях и другие новости публикуются в twitter'е.

-

Если вы хотите связаться с авторами, напишите нам электронное письмо.

- -
diff --git a/assets/data/help/fb-intro-ru.epub b/assets/data/help/fb-intro-ru.epub deleted file mode 100644 index b7c5bf3d6d819ebde71799a8a8a42ff24615a800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16877 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 BpNs$i diff --git a/build.xml b/build.xml index b544d0176..b0eca4734 100644 --- a/build.xml +++ b/build.xml @@ -55,7 +55,15 @@ - + + + + + + + + +