1

私はMathJaxを使用して、iphoneなどのモバイルデバイスで表示するように設計されたページに数学記号をレンダリングしています。メタタグを使うとき

<meta name="viewport" content="user-scalable=no, width=device-width" />

これはどういうわけか問題を引き起こします。MathJaxはWebフォントをロードせず、代わりに劣った画像フォントにフォールバックします。この問題は、特定のカットオフよりも大きい幅をピクセル単位で明示的に設定すると解消されます。設定したら

<meta name="viewport" content="user-scalable=no, width=360px" /> 

たとえば、問題なくWebフォントをロードします。だから私は疑問に思います...これに対するエレガントな解決策はありますか?絶対幅を使用したくないのですが、私の本ではWebフォントでレンダリングされたページの優先度がやや高くなっています。

この点で失敗するページの例を次に示します。

<html>
<head>
<meta name="viewport" content="user-scalable=no, width=device-width" />
<script type="text/x-mathjax-config">
    MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
</script>
<script type="text/javascript"
src="https://d3eoax9i5htok0.cloudfront.net/mathjax/latest/MathJax.js?config=TeX-   AMS-MML_HTMLorMML">
</script>
</head>
<body>
<span style="color:green">
$$\sum_{n=0}^\infty x^n$$
</span>
</body>
</html>
4

1 に答える 1

0

この問題は MathJax のバージョン 2.0 で解決されていると思います。ベータ版はhttp://devel.mathjax.org/mathjax/dpvc/v2.0-candidate/MathJax.jsで入手できるので、試してみて、それがうまくいくかどうかを確認していただけますか?

MathJax ユーザー フォーラムのディスカッションも参照してください。推奨される回避策は次のとおりです。

<script type="text/x-mathjax-config">
 MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready", function () {
   var HTMLCSS = MathJax.OutputJax["HTML-CSS"];
   HTMLCSS.Font.testSize = ["10px","12px","15px","9px","8px"];
   document.getElementById("MathJax_Font_Test").style.fontSize = "10px";
 });
 </script>

これにより、Web フォントを検出するときに使用するフォント サイズが変更されます。

于 2012-02-19T18:44:34.773 に答える