如何在Sphinx中使用自定义woff2和oft字体?

时间:2017-12-04 23:41:51

标签: fonts python-sphinx

我知道您使用以下对象指定主题选项:

html_theme_options = {'font_family':'Gotham','head_font_family':'Gotham Ultra'}
在conf.py中

但有时浏览器无法访问像Gotham这样的自定义字体。我在哪里放置自定义字体woff2或otf文件,如何指示Sphinx将其用于标题或其他字体?

2 个答案:

答案 0 :(得分:1)

大多数Sphinx主题没有字体作为可配置选项。您必须通过以下方式自定义主题:

  • 编辑主题模板以包括本地或远程的字体文件
  • 编辑主题的CSS以指定字体样式
  • 如果您在本地加载主题,则可选择将静态资源添加到主题

查看Sphinx中templating的详细信息。

答案 1 :(得分:1)

有两种方法可以这样做。

1。本地覆盖

首先,您可以在本地覆盖样式(和扩展名字体)。要做到这一点,你可以这样做:

  1. 在Sphinx源目录中创建_static目录。根据您是分为source还是build,这通常是docs/_staticdocs/source/_static
  2. _static/中,您创建styles.css并保存字体文件。接下来,定义字体。 E.g:

    @font-face {
        font-family: "Roboto Slab";
        src: url("./RobotoSlab-Regular.ttf");
    }
    

    并设置样式:

    body {
        font-family: "Roboto Slab";
    }
    

    或者,您可以{* 1}}来自第三方:

    @import
  3. 在您的Sphinx配置(@import url('https://fonts.googleapis.com/css?family=Roboto+Slab'); )中,您将Sphinx指向样式表:

    conf.py
  4. 就是这样。

    2。自定义主题

    或者,您可以创建自己的主题:http://www.sphinx-doc.org/en/master/theming.html