У меня возникла проблема, когда я пытаюсь использовать библиотеку Cufon за пределами холста, связанного с Fabric.js. Я пытаюсь создать селектор шрифтов Text в своем приложении, который будет отображать доступные для использования шрифты. Селектор отобразит имя шрифта как образец шрифта (например, Photoshop и т. д.). Итак, чтобы создать примеры имен, я пытаюсь использовать Cufon для замены стиля шрифта, но Fabric.js не позволяет использовать его за пределами холста. Fabric.js показывает текст, который Cufon заменяет внутри холста. Кто-то знает, как это решить? Спасибо.
Использование Cufon за пределами холста, связанного с Fabric.js
Ответы (1)
Я нашел способ использовать Cufon за пределами Fabric.js, но это действительно грязный хак.
Сначала я добавил еще один cufon.js на страницу с github. Затем я открыл его в редакторе и автоматически переименовал «Cufon» в «CufonBase».
Я написал функцию-оболочку для registerFont, которая вызывает ее два раза для Cufon и CufonBase:
var makeWrap = function(fn1, fn2){
return function(){
try{
fn2.apply(this, arguments);
return fn1.apply(this, arguments);
}catch(ex){
ErrorHandler.Exception(ex);
}
};
};
Cufon.registerFont = makeWrap(Cufon.registerFont, CufonBase.registerFont);
Это перезаписывает базовый метод Cufon, который загружает шрифт и также вызывает CufonBase.registerFont, поэтому вам не нужно изменять шрифт js.
И тогда вы можете позвонить:
CufonBase.replace('h1', {fontFamily: 'font_name'});
И это работает для меня.
person
itima
schedule
23.05.2012