Fabric.jsに関連付けられているキャンバスの外でCufonlibを使用しようとすると、ここで問題が発生します。アプリケーションで、使用可能なフォントを表示するテキストフォントセレクターを作成しようとしています。セレクターは、フォントのサンプルとしてフォント名を表示します(Photoshopなど)。したがって、サンプル名を作成するために、Cufonを使用してフォントスタイルを置き換えようとしていますが、Fabric.jsではキャンバスの外部での使用は許可されていません。Fabric.jsは、Cufonがキャンバス内で置き換えるテキストを表示します。誰かがこれをどのように解決するか知っていますか?ありがとう。
1 に答える
1
fabric.js の外で Cufon を使用する方法を見つけましたが、それは本当に汚いハックです。
最初に、別の cufon.js を github からページに追加しました。次に、エディターで開き、「Cufon」の名前を「CufonBase」に自動変更しました。
Cufon と CufonBase に対して 2 回呼び出す registerFont のラッパー関数を作成しました。
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);
これにより、フォントをロードして CufonBase.registerFont も呼び出す Cufon の基本メソッドが上書きされるため、フォント js を変更する必要はありません。
そして、あなたは呼び出すことができます:
CufonBase.replace('h1', {fontFamily: 'font_name'});
そして、それは私のために働きます。
于 2012-05-23T10:33:41.947 に答える