[ Домой ] [ О себе ] [ Мое резюме ] [ Мои проекты ] [ Рассказки ] [ Форум ] [ Фото ] [ Написать ]
Русификация графиков Webalizer. Версия 2.1

Список изменений:

Многие для анализа посещаемости своего сайта используют Webalizer. К нему есть языковой файл для русского языка. Но вот незадача - на графиках иероглифы. Причина в использовании для отрисовки надписей функции gdImageString со встроенными шрифтами. Русских шрифтов там нет.

Предлагаемый мною метод представляет собой патч, заменяющий обращения к функции gdImageString на функцию gdImageStringFT, которая позволяет использовать шрифты TrueType. Плюс введены два параметра в конфиге:

Плюс вводится еще одна функция - перекодировка из заданной при конфигурировании кодировки в UTF8. Еще одна беда - длина русских строк больше длины английских. Раздвинуть картинку, чтобы все влезло без серьезного ковыряния кода невозможно (Заданы абсолютные координаты вместо расчета их в процентах от размера картинки). Так что остается сокращать строку.

Патч взять тут: http://www.v-r-s.ru/webalizer-2.01-10-rus.patch-2.gz

Все это тестилось на дистрибутиве Fedora Core 3. Так как в самом дистрибе отсутствует libdg2, поставить из исходников или найти RPM посвежее. Я предпочел первый путь и поставил:

freetype-2.1.10
gd-2.0.33
jpeg-6b
zlib-1.2.3
Для перекодировки поставил libiconv-1.9.2

./configure указал --prefix=/usr, чтобы все встало взамен штатных библиотек.

Установка:

Распакуем исходники webalizer и патч:
tar -zxf webalizer-2.01-10-src.tgz
gzip -d webalizer-2.01-10-rus.patch-2.gz

Наложение патча:
patch -p0 < webalizer-2.01-10-rus.patch-2

cd webalizer-2.01-10

./configure --with-language=russian \
--enable-dns \
--with-gdlib=/usr/lib \
--with-gd=/usr/lib \
--with-encoding=KOI8-R
Файлы со шрифтами берем тут: corefonts.sf.net.

Результат можно увидеть тут: http://traffic.v-r-s.ru/911spb.ru/usage.png

Ссылки:


[ Домой ] [ О себе ] [ Мое резюме ] [ Мои проекты ] [ Рассказки ] [ Форум ] [ Написать ]