2

Fabric.jsに関連付けられているキャンバスの外でCufonlibを使用しようとすると、ここで問題が発生します。アプリケーションで、使用可能なフォントを表示するテキストフォントセレクターを作成しようとしています。セレクターは、フォントのサンプルとしてフォント名を表示します(Photoshopなど)。したがって、サンプル名を作成するために、Cufonを使用してフォントスタイルを置き換えようとしていますが、Fabric.jsではキャンバスの外部での使用は許可されていません。Fabric.jsは、Cufonがキャンバス内で置き換えるテキストを表示します。誰かがこれをどのように解決するか知っていますか?ありがとう。

4

1 に答える 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 に答える