Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

字体源

Martin 可以根据 MapLibre 文本渲染的需要从 otf、ttf 和 ttc 字体提供字形范围。Martin 会动态即时生成它们。 字形范围生成会被缓存,此缓存的大小可以通过配置文件中的 fonts.cache_size_mb 进行配置。

API

字体范围可用于单个字体或多个字体的组合。字体名称区分大小写,应与目录中发布的字体文件中的字体名称匹配。确保对字体名称进行 URL 转义,因为它们通常包含空格。

字体请求
模式/font/{name}/{start}-{end}
示例/font/Overpass%20Mono%20Bold/0-255

组合字体请求

组合多个字体时,如果第一个列出的字体中有可用的字形,则字形范围将包含该字形,如果第一个字体中没有该字形,则回退到下一个字体,依此类推。如果所有字体都不包含该字形,则字形范围将为空。

带回退的组合字体请求
模式/font/{name1},…,{nameN}/{start}-{end}
示例/font/Overpass%20Mono%20Bold,Overpass%20Mono%20Light/0-255

目录

Martin 将在 /catalog 端点显示所有可用字体。

curl http://127.0.0.1:3000/catalog
{
  "fonts": {
    "Overpass Mono Bold": {
      "family": "Overpass Mono",
      "style": "Bold",
      "glyphs": 931,
      "start": 0,
      "end": 64258
    },
    "Overpass Mono Light": {
      "family": "Overpass Mono",
      "style": "Light",
      "glyphs": 931,
      "start": 0,
      "end": 64258
    },
    "Overpass Mono SemiBold": {
      "family": "Overpass Mono",
      "style": "SemiBold",
      "glyphs": 931,
      "start": 0,
      "end": 64258
    }
  }
}

从 CLI 使用

可以使用一个或多个 --font 参数从 CLI 配置字体文件或目录。

martin --font /path/to/font/file.ttf --font /path/to/font_dir

从配置文件配置

可以使用 fonts 键从配置文件配置字体目录。

# 字体配置
fonts:
  # *.otf、*.ttf 和 *.ttc 字体文件和目录的列表,递归搜索。
  - /path/to/font/file.ttf
  - /path/to/font_dir