如何在 Sphinx 构建环境中使用 webfont?

如何在 Sphinx 构建环境中使用 webfont?

我正在为 sphinx 构建一个扩展,以在文档中包含 fontawesome 图标。如果它也可以在 LaTeX 版本中工作,那就太好了。我最初的工作依赖于“fontawesome5”包,但由于我们现在正在转向 fa6,我想依赖从 NPM 下载的 Web 字体。

语境

  • 构建器是 LaTeX(可以在 conf.py 中更改,但这会导致 RDT 中出现许多错误)
  • 我有 .ttf 格式的所有字体
  • 我有所有字形的 unicode

我看见https://tex.stackexchange.com/a/627541/261930以下命令正是我所需要的:

\newfontfamily{\fa}{Font Awesome 6 Free-Solid-900.ttf}

但它在我的 RDT 环境中从来都不起作用(崩溃 + 无法访问日志)。这真的能行吗?如果可以,我应该安装什么才能让它在我的本地机器上运行?(然后我可以相应地调整 RDT 环境)

答案1

谢谢你的开端àscd,我终于让它发挥作用了:

正如您所提到的,第一步是转到 XeLaTex 编译器:

# conf.py
latex_engine = "xelatex"

然后使用 fontspec 包:

# conf.py

setup(app):
    # [...]
    app.add_latex_package("fontspec")

最后将命令添加到前言中:

# conf.py

latex_elements["preamble"] += dedent(
    r"""
    \newfontfamily{\solid}{fa-solid-900.ttf}
    \newfontfamily{\regular}{fa-regular-400.ttf}
    \newfontfamily{\brands}{fa-brands-400.ttf}
    """
)

我现在可以在 Sphinx 构建的乳胶输出中使用以下命令。

{\solid\symbol{"F07B}}

如果人们不想像我一样挣扎,我写了 2 个 sphinx 扩展:

它们支持 html 和 latex 构建

相关内容