URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 59242
[ Назад ]

Исходное сообщение
"Рисунки в SARG"

Отправлено NetDoctor , 16-Авг-05 23:14 
Как сделать подписи в рисунках русскими буквами? Язык и кодировка в sarg.conf выставлены. Пробовал вместо FreeSans.ttf подтыкать другие шрифты - не помогает. Может ли быть проблема в библиотеке GD?

Содержание

Сообщения в этом обсуждении
"Рисунки в SARG"
Отправлено mAdDuke , 17-Авг-05 04:16 
>Как сделать подписи в рисунках русскими буквами? Язык и кодировка в sarg.conf
>выставлены. Пробовал вместо FreeSans.ttf подтыкать другие шрифты - не помогает. Может
>ли быть проблема в библиотеке GD?

Дело, вроде, в freetype, который не поддерживает нашу кодировку.

А что у тебя за ОС? У меня в FreeBSD sarg не собирается с поддержкой картинок, точнее собирается, но все равно их не рисует...


"Рисунки в SARG"
Отправлено NetDoctor , 18-Авг-05 15:58 
Проблема решена полностью. Если есть интересующиеся, выложу объяснения.

"Рисунки в SARG"
Отправлено Дениска , 18-Авг-05 16:07 
>Проблема решена полностью. Если есть интересующиеся, выложу объяснения.
конечно выкладывай, об чем речь. если сейчас нет желающих, то уж потом точно появятся.



"Рисунки в SARG"
Отправлено NetDoctor , 18-Авг-05 20:47 
Итак. FreeBSD 6.0BETA2. Порты свежайшие (CVSUP). Абсолютно всё ставим из портов. На текущий момент в портах имеется sarg-2.0.8. Я взял с сайта 2.0.9. В порте sarg'а правим Makefile:

PORT_VERSION c 2.0.8 на 2.0.9.
к CFLAGS добавляем -DHAVE_ICONV_H=1
к LDFLAGS добавляем -liconv

далее:

make makesum (чтобы обновить distinfo)
make all install clean

В /usr/local/etc/sarg/sarg.conf

Language Russian_koi8
Charset Koi8-r

P.S. В Makefile порта freetype2 есть строка CONFIGURE_ARGS+= --disable-nls
я исправлял на --enable-nls, но не знаю надо ли это было делать.

P.P.S. В исходниках sarg есть файл index.c
В нём есть такой фрагмент:

   if(strcmp(IndexSortOrder,"A") == 0)
//      sprintf(html,"sort -t';' -k 7,7 %s -o %s", wdir_tmp, wdir_tmp2);
      sprintf(html,"sort -t';' +6.5n +6.2M +6.0n '%s' -o '%s'", wdir_tmp, wdir_tmp2);
   else
//      sprintf(html,"sort -t';' -r -k 7,7 %s -o %s", wdir_tmp, wdir_tmp2);
      sprintf(html,"sort -t';' +6.5nr +6.2Mr +6.0nr '%s' -o '%s'", wdir_tmp, wdir_tmp2);

Эта хрень работает неправильно. man sort показывает синтаксис более близкий к закомментированным строкам, но это не помогло. Я полностью закомментировал этот кусок и поставил вместо него

sprintf(html,"cat %s > %s", wdir_tmp, wdir_tmp2);

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