2

假设我有一个 HTML5 文档,其中包含一些 MathML。我设置了页面正文的字体,但它不会更改用于 MathML 字符的字体:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Example of MathML embedded in an HTML5 file</title>
    <meta charset="utf-8" />
  </head>
  <body style="font-family: courier;">
    Quadratic formula
    <math><mrow>
      <mi>x</mi>
      <mo>=</mo>
      <mfrac>
        <mrow>
          <mo form="prefix">−&lt;/mo>
          <mi>b</mi>
          <mo>&PlusMinus;</mo>
          <msqrt>
            <msup>
              <mi>b</mi>
              <mn>2</mn>
            </msup>
            <mo>−&lt;/mo>
            <mn>4</mn>
            <mo>&InvisibleTimes;</mo>
            <mi>a</mi>
            <mo>&InvisibleTimes;</mo>
            <mi>c</mi>
          </msqrt>
        </mrow>
        <mrow>
          <mn>2</mn>
          <mo>&InvisibleTimes;</mo>
          <mi>a</mi>
        </mrow>
      </mfrac>
    </mrow></math>
  </body>
</html>

这将在 courier 中显示文本“二次公式”,但 MathML 保持默认页面字体。如何更改用于 MathML 的字体?

4

2 回答 2

4

您可能应该在 Mozilla Developer Network 上阅读此文档。我猜以下段落适用于您的情况:

数学公式使用由特定 Unicode 字符表示的各种符号。如果安装了合适的 Unicode 字体,Mozilla 可以显示这些符号中的任何一个。此外,根据 W3C CSS2 关于字体的建议,作者可以指定他们喜欢的特定字体的有序列表(使用 CSS 的 font-family 属性),以确保 Mozilla 的字体引擎将在指定字体时寻找替代字体在特定用户的系统上找不到字体。

其中一位 MozillaMathML开发人员似乎经常写博客。最近有两篇文章你会感兴趣:

  1. 安装数学字体
  2. 关于数学字体

结果似乎是,为了保证良好的渲染MathML,您需要您的用户安装MathJaxSTIXAsana Math字体。

于 2012-08-06T23:19:25.150 回答
1

它在 jsfiddle 中呈现 courier:http: //jsfiddle.net/jalbertbowdenii/8VKJg/ 你使用的是什么浏览器/操作系统?

在小提琴中包含 MathJax.js 可以正确呈现:


<script src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML"
async>
</script>
正确渲染 MathJax.js 的 jsfiddle

于 2012-08-06T23:20:42.933 回答