The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Русские символы в rrdtool"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Русские символы в rrdtool"  +/
Сообщение от auto_tips on 01-Фев-07, 11:22 
При отображении строк в RRD используется кодировка UTF-16, в которой есть таблица русских символов,
соответствующая таблице CP1251, только со смещением.
Чтобы rrdgraph смог отображать русские символы на графиках
необходимо внести изменения в файл src/rrd_afm.h. Находим в нем строчку

   #define afm_fix_osx_charset(x) (x)

и заменяем на

   #define afm_fix_osx_charset(x) \
     ( (x) >= 128 && (x) <= 255 ? (x) + 0x0350 : (x))

Таким образом, если в строке встречается символ с кодом между 127 и 256, то к нему применяется смещение 0x0350.
Строки необходимо записывать в CP1251 (я использую vim с libiconv).

Для работы с KOI8 необходима еще таблица перестановок из KOI8 в CP1251

Для этого в файл src/rrd_afm.c добавляем описание таблицы
const unsigned char afm_koi2win[128] = {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,184,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,254,224,225,246,228,229,244,227,245,232,233,234,235,236,237,238,239,255,240,241,242,243,230,226,252,251,231,248,253,249,247,250,222,192,193,214,196,197,212,195,213,200,201,202,203,204,205,206,207,223,208,209,210,211,198,194,220,219,199,216,221,217,215,218};

а в src/rrd_afm.h такие строки

   extern const unsigned char afm_koi2win[128];
   #define afm_fix_osx_charset(c) \
     ( (c) >= 128 && (c) <= 255 ? afm_koi2win[(c) - 128] + 0x0350 : (c))


URL:
Обсуждается: http://www.opennet.ru/tips/info/1366.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Русские символы в rrdtool"  +/
Сообщение от x0x01 on 01-Фев-07, 11:22 
есть несколько другой путь, использовать при рендере графика русский koi8 ttf шрифт:
--font DEFAULT:10:/usr/share/fonts/koi8-ttf/TIMESI8.TTF
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Русские символы в rrdtool"  +/
Сообщение от denis (??) on 03-Фев-07, 14:39 
Или в юникоде писать просто :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Русские символы в rrdtool"  +/
Сообщение от const86 (ok) on 04-Фев-07, 22:15 
> Или в юникоде писать просто :)

И как только вам такое в голову могло придти...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Русские символы в rrdtool"  +/
Сообщение от blzz on 21-Фев-07, 00:09 
а значение переменной LANG сильно влияет на символы в графиках? у меня rrdtool+hotsanic великолепно на ru_RU.UTF-8 рисует
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Русские символы в rrdtool"  +/
Сообщение от Андрей email(??) on 30-Мрт-09, 16:30 
Помогите, пожалуйста, решить проблему. У меня на графиках вместо кирилицы рисуются перечеркнутые по диоганали прямоугольники. Подбор шрифтов результата не принес. Нашел здесь http://forums.cacti.net/about27938.html&highlight=cyrillic, что проблему можно решить с помощью функции, но, что за функция непонятно.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Русские символы в rrdtool"  +/
Сообщение от BH on 15-Апр-09, 13:39 
К чему изобретать велосипед, когда с помощью переменных окружения назначается нужная локаль. Пиши хоть по китайски.

Вот пример с "русскими" графиками: http://live.daemony.org/freebsd/rrdtools-usage-for-server-st...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Русские символы в rrdtool"  +/
Сообщение от kostya (??) on 18-Май-09, 01:26 
>К чему изобретать велосипед, когда с помощью переменных окружения назначается нужная локаль.
>Пиши хоть по китайски.
>
>Вот пример с "русскими" графиками: http://live.daemony.org/freebsd/rrdtools-usage-for-server-st...

Чёт не работает!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Русские символы в rrdtool"  +/
Сообщение от leo70 email(??) on 18-Авг-09, 16:40 
rrdtool 1.3 + UTF8 система + UTF8 ttf шрифт нормально отображает русский на картинке. Если rrdtool 1.2 ниже то строку передаваемую rrdtool надо перекодировать в koi8r (например iconv) + шрифты koi8r
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру