[РЕШЕНО] Крокозябры при выводе PNG
Moderator: DenisBY
-
- Znuny newbie
- Posts: 15
- Joined: 25 Dec 2010, 03:11
- Znuny Version: 2.4.7
- Location: Europe/Kiev
[РЕШЕНО] Крокозябры при выводе PNG
При выводе отчётов в PDF, PNG, CSV, используется UTF-8, как указана локаль OTRS. При выводе PNG при этом на рисунке, вместо надписей, крокозябры из-за несоответствия кодировки.
Локаль машины: en_US.UTF-8 (люблю английский в логах и сообщениях системы)
Посоветуйте, пожалуйста, куда копать?
(Простите за создание топика не в разделе помощи)
Локаль машины: en_US.UTF-8 (люблю английский в логах и сообщениях системы)
Посоветуйте, пожалуйста, куда копать?
(Простите за создание топика не в разделе помощи)
OTRS 3.0.11 (RPM) + ITSM with PostgreSQL 8.1 on Centos 5.7 x86_64 on both production and testing machines.
-
- Znuny newbie
- Posts: 15
- Joined: 25 Dec 2010, 03:11
- Znuny Version: 2.4.7
- Location: Europe/Kiev
Re: [РЕШЕНО] Крокозябры при выводе PNG
1. Установить X11 Font subsystem.
2.Установить шрифты TTF, к примеру, DejaVu LGC.
3. В /Kernel/System/Stats.pm вставить настройку шрифтов для элемента GD::Graph , в часть # build plot data
2.Установить шрифты TTF, к примеру, DejaVu LGC.
3. В /Kernel/System/Stats.pm вставить настройку шрифтов для элемента GD::Graph , в часть # build plot data
Code: Select all
# build plot data
my @PData = ( $HeadArrayRef, @StatArray );
my ( $XSize, $YSize ) = split( m{x}x, $Param{GraphSize} );
my $graph = $GDBackend->new( $XSize || 550, $YSize || 350 );
# Added 20101226 9:05
$graph->set_title_font("/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf",12);
$graph->set_legend_font("/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf",8);
$graph->set_x_label_font("/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf",8);
$graph->set_y_label_font("/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf",8);
#end of added
$graph->set(
OTRS 3.0.11 (RPM) + ITSM with PostgreSQL 8.1 on Centos 5.7 x86_64 on both production and testing machines.
Re: [РЕШЕНО] Крокозябры при выводе PNG
так же стоит добавить:
$graph->set_x_axis_font("/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf",7);
$graph->set_y_axis_font("/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf",7);
$graph->set_x_axis_font("/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf",7);
$graph->set_y_axis_font("/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf",7);
-
- Znuny newbie
- Posts: 15
- Joined: 25 Dec 2010, 03:11
- Znuny Version: 2.4.7
- Location: Europe/Kiev
Re: [РЕШЕНО] Крокозябры при выводе PNG
Спасибо, про оси я тогда забыл. Но на них русских букв не было, а шрифт по-умолчанию смотрелся неплохо.так же стоит добавить:
$graph->set_x_axis_font("/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf",7);
$graph->set_y_axis_font("/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf",7);
OTRS 3.0.11 (RPM) + ITSM with PostgreSQL 8.1 on Centos 5.7 x86_64 on both production and testing machines.
Re: [РЕШЕНО] Крокозябры при выводе PNG
Добрый день. Возникла точно такая же проблема. Кракозябры в png. OTRS v. 3.0.10, установлен из исходников на Linux Debian Lenny. Все модули perl, кроме поддержки китайского, установлены. Попробовал добавить указанные строки:
Однако при построении отчета ругается на несуществующие методы set_legend_font, set_x_label_font и т.д.
Code: Select all
$graph->set_title_font("/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf",12);
$graph->set_legend_font("/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf",8);
$graph->set_x_label_font("/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf",8);
$graph->set_y_label_font("/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf",8);
-
- Znuny newbie
- Posts: 15
- Joined: 25 Dec 2010, 03:11
- Znuny Version: 2.4.7
- Location: Europe/Kiev
Re: [РЕШЕНО] Крокозябры при выводе PNG
Попробуйте проверить, все ли необходимые модули Perl собраны по списку, указанному в инструкции по ручной установке (подозреваю, что не установлены GD, GD::Graph).VladDV wrote: Однако при построении отчета ругается на несуществующие методы set_legend_font, set_x_label_font и т.д.
Возможно, само название модуля есть в сообщении об ошибке.
OTRS 3.0.11 (RPM) + ITSM with PostgreSQL 8.1 on Centos 5.7 x86_64 on both production and testing machines.
Re: [РЕШЕНО] Крокозябры при выводе PNG
Так я проверял командой ./bin/otrs.CheckModules.pl, на всех модулях стоит OK.
А вот ошибка такая Can't locate object method "set_legend_font" via package "GD::Graph::pie". Получается он требует модуль, которого нет в списке требований. Сейчас попробую поставить, спасибо за хорошую мысль.
А вот ошибка такая Can't locate object method "set_legend_font" via package "GD::Graph::pie". Получается он требует модуль, которого нет в списке требований. Сейчас попробую поставить, спасибо за хорошую мысль.
Re: [РЕШЕНО] Крокозябры при выводе PNG
Установил - не помогло. Та же ошибка...
-
- Znuny newbie
- Posts: 15
- Joined: 25 Dec 2010, 03:11
- Znuny Version: 2.4.7
- Location: Europe/Kiev
Re: [РЕШЕНО] Крокозябры при выводе PNG
Функции имеются ввиду из: http://cpan.uwinnipeg.ca/htdocs/GDGraph ... ph.pm.htmlVladDV wrote:Установил - не помогло. Та же ошибка...
У графика типа "пирог" действительно нет тех функций, которые вы хотите вызвать.
OTRS 3.0.11 (RPM) + ITSM with PostgreSQL 8.1 on Centos 5.7 x86_64 on both production and testing machines.
Re: [РЕШЕНО] Крокозябры при выводе PNG
Значит решение в этой теме не подходит? Получается, что для одного вида графиков оно заработает, зато другие виды вообще перестанут работать...
-
- Znuny newbie
- Posts: 15
- Joined: 25 Dec 2010, 03:11
- Znuny Version: 2.4.7
- Location: Europe/Kiev
Re: [РЕШЕНО] Крокозябры при выводе PNG
Если речь идёт об универсальном решении, то указанное мной таковым не является, а не работает оно лишь для вида "пирог", каковой у меня не используется.VladDV wrote:Значит решение в этой теме не подходит? Получается, что для одного вида графиков оно заработает, зато другие виды вообще перестанут работать...
Я надеюсь, что указанное мной решение может помочь натолкнуть вас на правильный ход мысли. Вид графика, который строится, можно проверять, и не вызывать несуществующие методы.
OTRS 3.0.11 (RPM) + ITSM with PostgreSQL 8.1 on Centos 5.7 x86_64 on both production and testing machines.
Re: [РЕШЕНО] Крокозябры при выводе PNG
Теперь понятно. Просто в перле не силен, сразу не увидел, что функций нет только для пирога. Спасибо за помощь! Буду допиливать.