1

Chrome と Firefox のレンダリングが異なる理由を理解するのに苦労しています。以下は、私のプロジェクトの一部を Firefox (上) と Chrome (下) で見た画像です。MathJaxは、ページの読み込み中にすべてをレンダリングし、すべてが処理されてタイプセットされると、ページに表示されます。したがって、これが私のせいか、MathJax のせいかはわかりません。とにかくここに画像があります...

ファイアフォックス クロム

...お気づきでしたら、黒い枠の四角は Chrome では異なり、悪い意味で異なります。なぜこれが起こっているのかについてのアイデアはありますか? 以下はChromeのコンソールからの出力です...

Resource interpreted as font but transferred with MIME type image/svg+xml. /MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Regular.svg#MathJax_Main-Regular:-1
Resource interpreted as font but transferred with MIME type image/svg+xml. /MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Bold.svg#MathJax_Main-Bold:-1
Resource interpreted as font but transferred with MIME type image/svg+xml. /MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Italic.svg#MathJax_Main-Italic:-1
Resource interpreted as font but transferred with MIME type image/svg+xml. /MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Math-Italic.svg#MathJax_Math-Italic:-1
etc...

正方形だけをレンダリングするためのコードは、他の凝ったものをすべて使わずに、比較的単純です...

<div id="square">
   <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
     <mo id="tag0" class="expand">&#x25FB;</mo>
   </math>
</div>

...次に、MathJax にレンダリングするように指示します...

MathJax.Hub.Queue(["Typeset", MathJax.Hub, "square"]);

... そして、MathJax がその機能を実行します (MathJax が行うレンダリングを制御することはできません)。そのため、どこに問題があるのか​​ よくわかりません。

これは非常に奇妙で非常に具体的な質問であることは承知していますが、スタック オーバーフロー コミュニティの誰かが何らかのアイデアを持っているか、以前に MathJax を扱ったことがあることを願っています。ブレーンストーミングがこの問題の解決に役立つことを願っています。

4

3 に答える 3

4

Chrome で表示されているボックスは、「欠けている文字」の記号です。MathJax フォントには U+25FB が含まれていないため、Chrome は不足している記号を表示しています。Firefox が別のフォントの文字を見つけてそれを使用しているようです (または、Firefox を実行しているマシンに STIX フォントがあり、Chrome を実行しているマシンにはなく、MathJax がそれを使用している可能性があります)。ブラウザーは、MathJax フォントにない記号の代替フォントを見つける機能が異なります。

いずれにせよ、U+25FB の代わりに U+25A1 を使用してみて、それがうまく機能するかどうかを確認してください。

ダビデ

于 2011-02-21T18:55:49.583 に答える
1

MathMLはネイティブでChromeに導入され、WebKitはしばらくの間Chromeに取り組んでいます: http ://www.webkit.org/projects/mathml/index.html

この質問はMathJaxのバグとしてマークする必要があると思います。うまくいけば、すぐに、ネイティブソリューションがあるでしょう。

于 2011-02-21T08:22:40.510 に答える
0

本当の答えはわかりませんが、ブラウザー間のレンダリングの違いは新しいことではありません。私は Firefox、Chrome、Opera、IE を (この順序で) 使用していますが、多くの場合、ブラウザーの 1 つが他のブラウザーよりも優れたレンダリングを行います。Firefox には便利なデバッグ プラグインがいくつかあります。それらを試してみてください (Firebug???)。警告: これには多くの労力を費やす可能性があります。CSS のトラブルシューティングに取り掛かる場合は、痛い :)。

于 2011-02-21T05:29:31.457 に答える