Открытый христианский форум JesusChrist.ru

Библия | Книги | Словари | Софт | Аудио, BQT, Евангелизм, JCQ, Молитва

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

Общие разделы
   >> "Цитата из Библии"
Просмотров: 28655 Просмотреть ВСЕ ветвиСледующая ветвь*

В теме участвуют: cepreu (11) CONDOR (6) fflatx (6) WarmongeR (5) Dj_Dolphin (4) ModulMaker (4) ValeryZ (4) VladimirY (4) AlekId (2) atapin (2) DavidFoG (2) kalemas (2) Тимофей (1) Янис_Голубев (1)

fflatx
агностик
17/05/11 09:57

Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword [re: ВСЕМ]Help admins  

Здравствуйте.
Я использую Linux.
Когда потребовалась программа для чтения библии, естественно, первым вариантом стал sword.
Но, оказалось, что очень мало модулей на русском языке.
Поиск привел на данный форум (и в данную тему), где упоминалась идея конвертации.
"Цитата" привлекла в первую очередь большим количеством ссылок на параллельные места Писания.

Стало интересно решить эту задачу.
Первоначально написал конвертер на скриптовом языке BASH (просто из любопытства - получится или нет).
Получилось, только работает крайне медленно: отдельная книга (один Html-файл) обрабатывается около 4 минут (вроде бы терпимо),
но за три часа обработалось всего 10 книг из 66.

Тогда было решено писать конвертер на компилируемом языке.
Поскольку Си я знаю плохо (только осваиваю), для более быстрого получения результата был выбран Free Pascal.
Так появился конвертер модулей. В данное время это такая довольно сырая бета. Дорабатываю.

В качестве входных данных программа принимает путь к папке с файлом bibleqt.ini, из которого берутся все основные настройки.
Там же должны находиться и html-файлы с текстом. Также можно указать (опционально) путь к папке с файлами параллельных мест (TSK).
На выходе получается два файла: xml-файл в формате OSIS и conf-файл. Проверка (валидация) xml-файла может быть выполнена с помощью утилиты xmllint.
Модуль sword получается с помощью утилиты osis2mod.


Возможности:
1. Обработка библейских текстов.
2. Обработка номеров Стронга (опционально).
3. Обработка ссылок на параллельные места (опционально).

Программа работает значительно быстрее скриптового варианта. 66 книг обрабатывается за полторы минуты.

Разумеется, программа не лишена недостатков. Большинство ограничений связано с возможностями самого Sword'а.
Некоторые другие ограничения (не связанные со Sword'ом) будут устранены в дальнейшем.


Трудности и ограничения:
1. Корректно обрабатываются только канонические книги.
Возможность обрабатывать неканонические книги присутствует, но отключена по умолчанию.
По той простой причине, что sword имеет проблемы с неканоническими книгами.
2. Не тестировал конвертацию обычных текстов (не библейских). Впрочем, данная задача не потребует больших изменений.
3. Пока имеются сложности с пользовательскими тегами, в виду отсутствия четкого стандарта у "Цитаты".
Задачу обработки тегов решаю в данное время.
4. Входные файлы должны быть в кодировке UTF-8. Программа рассчитана прежде всего на линуксоидов, а для них перекодировать сотню файлов трудностей не представляет, я думаю. Посему, перекодировкой не заморачивался. У учетом перехода "Цитаты" на Юникод эта проблема станет не актуальной.
Вообще-то, технически кодировка может быть любой, но sword все равно перекодирует в UTF-8. Поэтому для уменьшения рисков лучше перекодировать заранее.
5. Версификация. Это самая большая проблема. Sword требует версификацию. Если она не указана, по умолчанию используется KJV. Это не всегда подходит. К сожалению, (или к счастью) в "Цитате" версификация отсутствует, как таковая. Или я ошибаюсь? Наличие в bibleqt.ini параметра, отражающего используемую версификацию, упростило бы задачу.
6. Пока не знаю, как будут обрабатываться тексты на языках, отличных от латинницы и кириллицы.
Опять-таки не вижу никаких препятствий, но не проверял.
7. Полученный модуль по разному отражается в разных оболочках sword.
Ссылки на параллельные места порой занимают очень много места (всю страницу), В связи с этим они убраны в теги <note>. Это позволяет не отображать постоянно длинную цепочку ссылок на всю страницу, а показывать ее по щелчку мыши на значке сноски. Данная особенность обрабатывается не всеми оболочками. Например BibleTime не воспринимает тег <note> (по крайней мере, виденная мной версия).
Sword for Windows нормально отражает примечания и ссылки, но не воспринимает нужную версификацию, используя по умолчанию KJV.
Кстати, где-то здесь упоминались проблемы со Sword, когда на странице появляется лишняя строчка (из другой главы). Эта проблема у меня вылезает только в Sword for Windows. При этом другая оболочка совершенно нормально отображает тот же самый модуль. Так что, не последнюю роль в деле качественного отображения текстов играет оболочка.
Лучший результат показывает sword версии 1.6.1 или 1.6.2 (т.к. понимает версификацию по Синоду) с оболочкой xiphos (aka GnomeSword).


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



Вся ветвь
ЗаголовокАвторОтослано
*Конвертер модулей из формата "Цитата из Библии" в формат Sword cepreu   27/03/10 15:19
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword cepreu   15/12/11 18:28
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword cepreu   28/09/11 16:50
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword Dj_Dolphin   21/09/11 08:01
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword Янис_Голубев   13/09/11 21:20
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword cepreu   03/08/11 11:50
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword Dj_Dolphin   06/09/11 15:00
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword cepreu   07/09/11 00:11
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword Dj_Dolphin   21/09/11 07:51
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword Dj_Dolphin   11/09/11 18:08
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword Тимофей   03/08/11 11:53
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword cepreu   06/09/11 02:30
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword cepreu   04/07/11 13:25
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword WarmongeR   23/07/11 08:22
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword WarmongeR   31/05/11 19:41
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword ModulMaker   27/05/11 11:16
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword fflatx   27/05/11 12:10
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword ModulMaker   27/05/11 12:24
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword ModulMaker   27/05/11 12:23
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword fflatx   27/05/11 12:58
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword ModulMaker   27/05/11 13:17
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword fflatx   27/05/11 14:29
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword fflatx   27/05/11 10:47
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword fflatx   17/05/11 09:57
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword CONDOR   17/05/11 14:51
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword fflatx   18/05/11 00:20
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword WarmongeR   22/05/11 07:14
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword CONDOR   18/05/11 19:33
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword WarmongeR   18/05/11 19:26
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword WarmongeR   15/05/11 13:01
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword DavidFoG   27/03/11 13:39
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword cepreu   17/04/10 04:37
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword AlekId   17/04/10 17:07
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword atapin   03/05/10 04:55
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword cepreu   07/05/10 00:40
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword atapin   07/05/10 01:22
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword cepreu   07/05/10 14:40
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword DavidFoG   27/03/11 13:38
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword VladimirY   17/04/10 11:01
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword AlekId   17/04/10 01:34
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword kalemas   15/04/10 20:00
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword CONDOR   15/04/10 22:40
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword kalemas   18/04/10 16:18
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword VladimirY   27/03/10 22:32
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword ValeryZ   27/03/10 19:08
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword VladimirY   27/03/10 22:30
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword ValeryZ   28/03/10 00:46
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword CONDOR   28/03/10 05:24
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword ValeryZ   28/03/10 09:07
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword CONDOR   28/03/10 17:23
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword cepreu   28/03/10 10:48
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword ValeryZ   28/03/10 19:45
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword CONDOR   28/03/10 17:21
.*Re: Конвертер модулей из формата "Цитата из Библии" в формат Sword VladimirY   28/03/10 01:34
Перейти на