在我网站的样式表中
.mi, .mo {
font-family: 'Charter', 'MathJax_Math' !important;
}
暂时不考虑在存在理想版本的Charter的情况下这是否始终会为用户带来令人满意的结果(到目前为止,对我而言是可行的),有没有办法确保这将对我可以提供的计算机产生相同的效果?测试一下。显然,对于完全缺乏Charter的用户而言,这会优雅地失败,但是我想知道的是,是否存在缺少使我的版本正常工作的功能的广泛使用的Charters。
对于渲染MathJax,有没有更好或更差的Charter版本?如果是这样,如何找到并测试它们,或者排除能力较弱的版本?
请注意,这不是与页面一起下载Charter的问题。如果用户没有Charter,则可能未附加该宪章,并且可以使用MathJax的默认字体。我想确定的是,拥有Charter的用户将MathJax当作Charter,但是拥有“较差” Charter(如果存在)的用户不会受到惩罚。
最佳答案
MathJax当前不支持类似Charter的字体。
无论Webfont还是本地安装,MathJax仅支持有限数量的字体。 see the docs (under availableFonts
and webFont
)
虽然可以使用!important
覆盖字体,但这将导致排版质量较差。由于浏览器的限制,MathJax无法访问字体的相关指标来正确计算其布局。对于受支持的字体,MathJax将动态加载预编译的字体数据。
当然,您可以使用MathJax development tools在MathJax中添加对Charter的支持,但是IIRC Charter不包含许多数学字符-因此渲染质量将再次变差。
最后,如果只需要数学内容内的文本框即可使用Charter,那么实际上是受支持的。只需通过设置mtextFontInherit = true
将MathJax配置为在文本框中使用周围的字体。