如何从MathJax中的其他位置加载字体?

时间:2017-11-15 18:32:38

标签: javascript fonts mathjax

MathJax根据其库设计强制执行目录结构。与库捆绑在一起的字体与一些Javascript配置和其他组件一起位于子目录中。

我想从磁盘上的其他位置提供字体,但我没有看到允许我这样做的任何配置值。我已经检查了documentation,虽然我看到了加载完整库和配置的不同方法,但我还没有看到如何隔离字体。

如何从MathJax中的其他位置加载字体?

编辑:这是一个客户端解决方案;我们在浏览器中执行此操作。我们正在使用TeX-AMS_CHTML.js配置,该配置使用CommonHTML呈现策略。在配置(缩小)中,看起来可以编辑MathJax.OutputJax.fontDir吗?

2 个答案:

答案 0 :(得分:2)

您想要覆盖CommonHTML webfontDir。尝试

<script type="text/x-mathjax-config">
MathJax.Hub.Register.StartupHook('CommonHTML Jax Ready", function () {
  MathJax.OutputJax.CommonHTML.webfontDir = 'myURL/myDontDirectory';
});
</script>

其中myURL/myFontDirectory是包含字体的目录的完整URL。如果URL域与加载MathJax的页面域不同,则可能需要为fonts目录设置访问控制以允许跨域访问。有关详细信息,请参阅shared installations上的MathJax文档。

答案 1 :(得分:0)

从v3开始,使用以下内容:

<script type="text/javascript">
window.MathJax = {
  startup: {
    ready: () => {
      MathJax.config.chtml.fontURL = "/your-path/es5/output/chtml/fonts/woff-v2";
      MathJax.config.chtml.font.options.fontURL = "/your-path/es5/output/chtml/fonts/woff-v2";
      MathJax.startup.defaultReady();
    }
  }
}
</script>
<script type="text/javascript" src="/your-path/es5/tex-mml-chtml.js"></script>