4

context.fillText(...);HTML5 キャンバスがあり、@font-face-font を使用してテキストを書きます。
Firefox (3.6) でページを表示すると、キャンバスの最初のペイントでフォントがまだダウンロードされていないため、テキストが標準フォントで表示されるという問題があります。ここ
で「解決策」を見つけましたが、フォントはキャンバスでのみ使用され、キャンバスはjQueryを使用してajaxでロードおよび表示されるため、機能しません。 timeout を使用しようとするよりも良い解決策はありますか?
setTimeout(repaintCanvas, 500);

4

2 に答える 2

4

私はReigelの答えの助けを借りて解決策を見つけたと思います:

$.get('font/url.ttf', function() {
    // do canvas codes.... cause font is loaded...
});

font-family: 'fontfacename';さらに、キャンバスの親要素にフォントviaを使用します。
フォントが2回読み込まれている可能性があります。わかりません。ただし、2回目のロードがないと、正しく表示されません。

于 2010-08-03T07:53:19.657 に答える
4

まあ、あなたはこれを試すことができます、

$.get('font/url.ttf',function(){
   // do canvas codes.... cause font is loaded...
});
于 2010-08-03T07:38:00.787 に答える