barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

пятница, 18 апреля 2014 г.

Raphael: Paper.print() и шрифты

В Paper.print() используется шрифт, получаемый с помощью Paper.getFon():
var txt = r.print(10, 50, "print", r.getFont("Tahoma"), 30).attr({fill: "#fff"});
Проблема в том, что по-умолчанию доступных шрифтов нет вообще. Чтобы  тот же самый Tahoma стал доступен, его нужно сначала зарегистрировать вызовом Raphael.registerFont(). Возникает вопрос: откуда взять сам шрифт для регистрации? Ответ - его нужно куфонизировать из обычного ttf-шрифта (или otf и пр.), т.е. выполнить преобразование глифов шрифта в svg-шные path-ы. Сделать это можно с помощью онлайн-приложения http://cufon.shoqolate.com/generate/. Получаемый на выходе js-файл нужно немного подправить, заменив в нем объект Cufon, в котором регистрируется шрифт, на Raphael. После подключения данной js-ки шрифт можно использовать в getFont().

Комментариев нет:

Отправить комментарий