Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   русские буквы в графиках js charts (https://javascript.ru/forum/dom-window/5045-russkie-bukvy-v-grafikakh-js-charts.html)

Melichron 10.09.2009 18:30

русские буквы в графиках js charts
 
Здравстуйте!
У меня такая проблема:

есть графики на javascript: http://www.jscharts.com/
Симпотичные и легко прикручиваются к сайту. Вобщем нравятся по всем параметрам. И использовать что-то другое (тем более что-то более тяжелое, типа библиотек) смысла не вижу (и не хочеца).
Но есть одно НО!
js chart не поддерживает русские буквы. Причем не поддерживает как-то странно - он их просто не "рисует":blink: Если в словах есть тире или запятая, то пожалста, а сами буквы - нет.
Его родной файл jscharts.js - сплошная кракозябра закодированная.:-E
Че делать я не знаю. ПОМОЖИТЕ!:help:

Gvozd 10.09.2009 22:11

попробуйте перекодировать все файлы в UTF-8, и отсыласть с сервера с правильными заголовками
больше не знаю

Melichron 10.09.2009 22:52

это я уже пробовал - не помогает.
Я ж говорю, он их как-то по-странному не любит: игнорирует просто.

Gvozd 10.09.2009 23:26

Обратитесь к разработчикам

B~Vladi 11.09.2009 15:03

Для начала раскодируй файл... Может там чего отроешь...

Melichron 11.09.2009 15:32

А как его раскодировать?

B~Vladi 11.09.2009 15:39

Для начала измени eval в начале строки на document.write и скопируй код, который выведет браузер... Затем приведи его в читабельный вид... Для этого есть онлайн сервисы, какие не помню (есть где-то тут на форуме ссылка 100%) или каким-нибудь редактором, который позволяет это делать:)

Kolyaj 11.09.2009 15:39

Цитата:

Сообщение от B~Vladi
Для начала измени eval в начале строки на document.write

Лучше на alert.

B~Vladi 11.09.2009 15:43

Цитата:

Сообщение от Kolyaj
Лучше на alert.

1. Алерт может быть большой и не всё может отображацо.
2. Некоторые браузеры не позволяют выделять в нём текст.

Gvozd 11.09.2009 15:55

Цитата:

Сообщение от B~Vladi
Для начала измени eval в начале строки на document.write

а еще в коде могут быть встроены какие-нибудь теги Inline-ом
поэтому лучше все же именно alert
или textNode создать в конце-концов
console.log для firebug также покатит
в общем вариантов куча
как по мне, то алерт лучше(выделять можно в опере)

Riim 11.09.2009 16:04

http://jsbeautifier.org/

"Detect packers?" наверное как раз через eval прогонит.

Kolyaj 11.09.2009 16:39

Цитата:

Сообщение от B~Vladi
2. Некоторые браузеры не позволяют выделять в нём текст.

Да вроде все.

B~Vladi 11.09.2009 16:47

Цитата:

Сообщение от Kolyaj
Да вроде все.

ИЕ:)

Riim 11.09.2009 16:48

Цитата:

Сообщение от Kolyaj
Да вроде все.

IE, Chrome, Safari

Kolyaj 11.09.2009 16:51

Лузер только сафари, в остальных нужно ctrl+c нажать (как это ни странно).

Riim 11.09.2009 16:54

Kolyaj, но это не выделение текста.

Kolyaj 11.09.2009 17:03

Нам его скопировать надо, а не выделить.

Riim 11.09.2009 17:13

Цитата:

Сообщение от Kolyaj
Цитата:

Сообщение от B~Vladi
Некоторые браузеры не позволяют выделять в нём текст.

Да вроде все.

--

Kolyaj 11.09.2009 17:18

Ну я не акцентировал внимание на том, зачем B~Vladi понадобилось выделять текст, по теме его нужно просто скопировать.

B~Vladi 11.09.2009 17:40

Цитата:

Сообщение от Kolyaj
Ну я не акцентировал внимание на том, зачем B~Vladi понадобилось выделять текст, по теме его нужно просто скопировать.

Я бы никогда не догадался пытацо копировать текст, не выделив его перед этим:blink:
И вообще... Вставить его на страницу намного удобне...

Kolyaj 11.09.2009 17:47

Вот только кто сказал, что заберешь со страницы ты то же, что и вставил туда? Оно же будет парситься как html-код.

B~Vladi 11.09.2009 17:52

Цитата:

Сообщение от Kolyaj
Оно же будет парситься как html-код.

Способов вставить много... И есть такие, которые позволяют это обойти:)
Проблема-то не в этом... Как всегда уходим от темы...

Kolyaj 11.09.2009 18:41

Ревью показал, что есть такой массив
var strokeFont = new Array();
strokeFont["sans-serif"] = {
    ' ': {w:16,n:1,d:[]},
    '!':{w:10,n:4,d:['m',[5,21],'l',[5,7],'m',[5,2],'l',[4,1],[5,0],[6,1],[5,2]]},
    '"':{w:14,n:4,d:['m',[4,21],'l',[4,14],'m',[10,21],'l',[10,14]]},
    '#':{w:21,n:8,d:['m',[11,25],'l',[4,-7],'m',[17,25],'l',[10,-7],'m',[4,12],'l',[18,12],'m',[3,6],'l',[17,6]]},
    '$':{w:20,n:12,d:['m',[16,18],'q',[15,21],[10,21],'q',[5,21],[4,17],'q',[3,12],[7,11],'l',[13,10],'q',[18,9],[17,4],'q',[16,0],[10,0],'q',[4,0],[3,4],'m',[8,25],'l',[6,-4],'m',[14,25],'l',[12,-4]]},
    '%':{w:24,n:12,d:['m',[21,21],'l',[3,0],'m',[7,21],'q',[3,21],[3,17],'q',[3,13],[7,13],'q',[11,13],[11,17],'q',[11,21],[7,21],'m',[17,8],'q',[13,8],[13,4],'q',[13,0],[17,0],'q',[21,0],[21,4],'q',[21,8],[17,8]]},
    // ...
};


Осталось понять принцип кодировки и добавить нужные буквы.


Часовой пояс GMT +3, время: 03:29.