0

(英語が下手でごめんなさい)

昨日、非常に大きなフォントサイズ(200px)で@ font-faceを使用すると、問題が発生しました。FirefoxとChromeではdivのレンダリングが異なります。調査を行った結果、FirefoxとChromeの計算された行の高さが異なるためであり、指定された行の高さが問題を解決できることがわかりました。

しかし、驚いたことに、何もしなかったとしても、セーフモードでFFを開始すると、問題は自然に解決します。(Chromeと同じようにレンダリングされます)それでは、FFをカスタマイズしすぎたためだと思いますか?新しいプロファイルを作成します(アドオンなし、すべてのプラグインを無効にし、すべての設定をデフォルトにリセットします)が、新しく作成されたプロファイルは古いプロファイルと同じように機能し、セーフモードのFFとは異なります。分かりませんか?

4

1 に答える 1

1

セーフモードは、すべてのアドオンをオフにするだけでなく、JITとハードウェアアクセラレーションによるレンダリングもオフにします。

また、Windowsを使用している場合(説明されている動作を前提としている場合)、ハードウェアアクセラレーションによるレンダリングをオフにすると、テキストのDirectWriteレンダリングもオフになり、代わりにGDIが使用されます。

ただし、DirectWriteとGDIは、同じテキストに対して異なるフォントメトリックを使用することになります。たとえば、DirectWriteはサブピクセルのグリフの配置を実行できますが、GDIは実行できません。したがって、セーフモードをオンにすると、行の高さやテキストレイアウトの他のさまざまな側面が変わる可能性があります。

Chromeは最初にGDIを使用することに注意してください。一方、IE 9および10はDirectWriteを使用するため、これらでページがどのように動作するかをテストする価値があります。セーフモードではないFirefoxに似ているに違いない。

于 2013-01-07T05:06:46.720 に答える