MathML 字体

为了使数学公式渲染效果良好,需要使用具有适当 Unicode 覆盖范围和 Open Font Format 特性的字体。此页面介绍了用户如何安装此类数学字体,以便在浏览器中正确显示 MathML。

安装说明

一般来说,建议安装 *Latin Modern Math*(使用 Computer Modern 样式,在数学公式中很流行)和 *STIX Two Math*(它具有对科学字符的大量 unicode 覆盖范围)。在接下来的部分中,您将找到在各种操作系统中安装这些字体的详细说明。

Windows

按如下方式安装 *Latin Modern Math* 和 *STIX Two Math* 字体

  1. 下载 latinmodern-math-1959.zip
  2. 打开 ZIP 存档,进入 latinmodern-math-1959 目录,然后进入 otf 目录。您将找到一个 latinmodern-math 字体文件。
  3. 打开 latinmodern-math 字体文件,然后点击 **安装** 按钮。
  4. 下载 static_otf.zip
  5. 打开 static_otf.zip ZIP 存档,然后进入 static_otf 目录。在这些文件里,您将找到一个 STIXTwoMath-Regular 文件。
  6. 打开 STIXTwoMath-Regular 文件,然后点击 **安装** 按钮。如果需要,您也可以对目录中的其他字体文件执行相同的操作。

**注意:** *Cambria Math* 默认安装在 Windows 上,应该能够确保 MathML 渲染效果相对较好。

macOS

按如下方式安装 *Latin Modern Math* 字体

  1. 下载 latinmodern-math-1959.zip
  2. 解压缩 ZIP 存档,进入 latinmodern-math-1959 目录,然后进入 otf 目录。您将找到一个 latinmodern-math 字体文件。
  3. 双击 latinmodern-math 字体文件,然后从打开的窗口中点击 **安装字体** 按钮。

**注意:** 如果您使用的是 macOS Ventura(版本 13)或更高版本,那么 *STIX Two Math* 已经预先安装,您可以跳过以下步骤。

按如下方式安装 *STIX Two Math* 字体

  1. 下载 static_otf.zip
  2. 打开 static_otf.zip ZIP 存档,然后进入 static_otf 目录。在这些文件里,您将找到一个 STIXTwoMath-Regular.otf 文件。
  3. 打开 STIXTwoMath-Regular.otf 文件,然后从打开的窗口中点击 **安装字体** 按钮。如果需要,您也可以对目录中的其他字体文件执行相同的操作。

**注意:** 从 OS X Lion(版本 10.7)开始,预装了 *STIX* 的一个旧版本。虽然某些浏览器能够使用它,但强烈建议您按照上面的说明操作,以获得最佳的数学渲染效果。

Linux

以下是在流行的 Linux 发行版上执行的命令,以便从您的软件包管理器安装 *Latin Modern Math* 和 *STIX Two Math* 字体。如果您的 Linux 发行版没有提供这些字体的专用软件包,则还会提供其他方法。

基于 Debian 的发行版(包括 Ubuntu 和 Mint)

bash
sudo apt-get install fonts-lmodern fonts-stix

基于 Fedora 的发行版

bash
sudo dnf install texlive-lm-math stix-math-fonts

基于 openSUSE 的发行版

bash
sudo zypper install texlive-lm-math stix-fonts

Arch Linux

bash
sudo pacman -S otf-latinmodern-math otf-stix

TeXLive 软件包

如果您的 Linux 发行版没有提供 *Latin Modern Math* 和 *STIX* 字体的软件包,请考虑安装包含 *Latin Modern Math* 和 *XITS* 字体的 texlive 软件包。例如,在 Mageia 上

bash
sudo urpmi texlive-dist texlive-fontsextra

但是,您可能需要确保您的系统知道这些字体。添加一个指向 TeXLive 的 opentype 目录的 fontconfig 配置 /etc/fonts/conf.avail/09-texlive-fonts.conf,例如

xml
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <dir>/your/path/to/texmf-dist/fonts/opentype</dir>
</fontconfig>

最后,将此配置文件添加到系统字体位置列表中,并重新生成 fontconfig 缓存

bash
ln -sf /etc/fonts/conf.avail/09-texlive-fonts.conf /etc/fonts/conf.d/
fc-cache -sf

上游软件包

如果没有软件包可供您的 Linux 发行版使用,或者您只是想安装上游软件包,请尝试以下操作

  1. 下载 latinmodern-math-1959.zipstatic_otf.zip
  2. 如果 ~/.fonts 不存在,请创建它,并将 latinmodern-math.otfSTIXTwoMath-Regular.otf 放置到该目录中。
  3. 运行 fc-cache -f 以重新生成 fontconfig 缓存。

Android

您必须使用 MathML-fonts 附加组件

**注意:** Noto Sans Math 提供了对数学符号的良好 Unicode 覆盖范围,并且 Google 计划添加对数学布局功能的支持

其他系统

在其他系统上,请考虑使用您的软件包管理器安装一个 具有 MATH 表的字体。请注意,这些字体通常与 TeX 发行版(如 TeX Live)一起提供,但您可能需要按照特定说明操作,以使您的系统知道这些字体。作为最后的手段,请安装 MathML 字体附加组件

高级设置

在接下来的部分中,您将找到有关安装和配置 MathML 字体的其他有用技巧。

阿拉伯数学字母符号

目前,只有很少的字体包含阿拉伯数学字母符号的适当字形。如果您需要使用这些字符,我们建议您安装 *XITS* 或 Amiri 字体。

无需管理员权限安装

如果您需要在没有管理员权限的系统上安装字体,最简单的选择是使用 MathML-fonts 附加组件 中的数学字体。请注意,使用附加组件并不是最佳选择,因为它会强制您的 Gecko 浏览器在您访问的每个页面上加载一个 CSS 样式表,以及在所有包含 MathML 内容的页面上加载 Web 数学字体。

在 UNIX 系统上的一个更好的选择是将 Latin Modern MathSTIX 的 OTF 文件安装到某个本地字体文件夹中,并在必要时对其运行 fc-cache。在 macOS 和 Linux 上,标准路径分别是 ~/Library/Fonts/~/.fonts

具有 MATH 表的字体

您实际上可以安装任何 数学 OpenType 字体 并将它们用于 MathML 渲染。某些浏览器在字体首选项菜单中提供了一种方法来配置 MathML 的默认字体。或者,您可以尝试使用 MathML-fontsettings 附加组件