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

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

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

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

В теме участвуют: ModulMaker (8) Тимофей (5) rigelzion (4) SamuelAKim (3)

rigelzion
25/09/11 23:30

Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ [re: ВСЕМ]Help admins  

Обновил скрипт для создания Индексного файла (ini) модулей Словарей и Стронга - добавлена поддержка заголовков в Юникоде.
Работает с ASCII (ANSI X3.4), UTF-8 (на всякий случай, хотя не поддерживается Цитатой) и UTF-16 little endian. Кодировку определяет автоматически по BOMу.
В тексте скрипта только заменить "greek.htm", "greek.idx" и "Греческий лексикон Стронга (с) Bob Jones University\r\n" на необходимые названия.

<?
$title = "Греческий лексикон Стронга (с) Bob Jones University\r\n";
$lines = file("greek.htm");
$count = count($lines);

$fp = fopen("greek.idx", "w");

$offset = 0;

if(substr($lines[0],0,2)=='яю')

// обработка UTF-16, little endian
{echo"Кодировка UTF-16, little endian";
fwrite($fp,b"\xFF\xFE".$con);
fwrite($fp, iconv("WINDOWS-1251", "UTF-16LE", $title));

// обработка UTF-16, little endian - первая строка
if(substr($lines[0],2,7)=="<".b"\x00".'h'.b"\x00".'4'.b"\x00".'>')
{
$n=10;
while (substr($lines[0],$n,9)<>"<".b"\x00".'/'.b"\x00".'h'.b"\x00".'4'.b"\x00".'>')
{
fwrite($fp,substr ($lines[0],$n,1));
$n++;
}
fwrite($fp, (iconv("UTF-8", "UTF-16LE", "\r\n").iconv("UTF-8", "UTF-16LE", ($offset + 1)).iconv("UTF-8", "UTF-16LE", "\r\n")));
}

// обработка UTF-16, little endian - последующие строки
for($i=0;$i<$count;$i++)
{
if(substr($lines[$i],1,7)=="<".b"\x00".'h'.b"\x00".'4'.b"\x00".'>')
{
$n=9;
while (substr($lines[$i],$n,9)<>"<".b"\x00".'/'.b"\x00".'h'.b"\x00".'4'.b"\x00".'>')
{
fwrite($fp,substr ($lines[$i],$n,1));
$n++;
}
fwrite($fp, (iconv("UTF-8", "UTF-16LE", "\r\n").iconv("UTF-8", "UTF-16LE", ($offset + 1)).iconv("UTF-8", "UTF-16LE", "\r\n")));
}
$offset += strlen($lines[$i]);
}
fclose($fp);exit;}



if(substr($lines[0],0,2)=='юя')

// обработка UTF-16, big endian
{print"ERROR - кодировка UTF-16, big endian не поддерживается";fclose($fp);exit;}


if(substr($lines[0],0,3)=='п»ї')

// обработка UTF-8
{ echo"Кодировка UTF-8";
fwrite($fp,b"\xEF\xBB\xBF".$con);
fwrite($fp, iconv("WINDOWS-1251", "UTF-8", $title));
if(substr($lines[0],3,4)=='<h4>')
fwrite($fp, strip_tags(trim(substr($lines[0],3)))."\r\n".$offset."\r\n");}
else {echo"Кодировка ASCII (ANSI X3.4)";
fwrite($fp, $title);}

// обработка UTF-8 и ASCII
for($i=0;$i<$count;$i++)
{
if(substr($lines[$i],0,4)=='<h4>')
fwrite($fp, strip_tags(trim($lines[$i]))."\r\n".$offset."\r\n");

$offset += strlen($lines[$i]);
}


fclose($fp);

?>




Вся ветвь
ЗаголовокАвторОтослано
*Создание словарей в Unicode для "Цитаты" версии 6.0+ SamuelAKim   28/02/11 10:29
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ rigelzion   25/09/11 23:30
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ SamuelAKim   26/09/11 08:58
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ rigelzion   31/08/11 22:14
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ rigelzion   31/08/11 21:40
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ rigelzion   21/07/11 19:51
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ SamuelAKim   26/08/11 20:09
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ ModulMaker   23/07/11 08:12
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ Тимофей   28/02/11 10:39
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ ModulMaker   08/07/11 16:31
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ Тимофей   08/07/11 16:41
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ ModulMaker   08/07/11 18:11
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ Тимофей   08/07/11 18:16
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ ModulMaker   08/07/11 18:34
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ Тимофей   08/07/11 18:51
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ ModulMaker   08/07/11 19:31
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ Тимофей   08/07/11 19:42
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ ModulMaker   20/07/11 00:24
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ ModulMaker   09/07/11 21:56
.*Re: Создание словарей в Unicode для "Цитаты" версии 6.0+ ModulMaker   08/07/11 19:03
Перейти на