> For the complete documentation index, see [llms.txt](https://docs.flatredball.com/gum/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flatredball.com/gum/cli/cli/fonts.md).

# fonts

```
gumcli fonts <project.gumx>
```

Scans all elements and states for font references and generates any missing bitmap font files (`.fnt` + `.png`) in the project's `FontCache/` folder.

The backend used to bake fonts is chosen by the project's **Font Generator** setting (see [Project Properties](/gum/gum-tool/project-properties.md#font-generator)):

* **KernSmith** — cross-platform. Runs on Windows, Linux, and macOS. This is the default for new projects.
* **BMFont** — Windows-only. Runs `bmfont.exe` under the hood; invoking it on Linux or macOS fails with exit code 1.

{% hint style="info" %}
If you need `gumcli fonts` to run in a Linux or macOS CI container, switch the project's Font Generator to **KernSmith** in Project Properties first. Switching wipes and re-creates the FontCache — review the [Font Generator section of Project Properties](/gum/gum-tool/project-properties.md#font-generator) before flipping the setting.
{% endhint %}

## Options

* `<project.gumx>` — Path to the `.gumx` project file

## Examples

```
gumcli fonts MyProject/MyProject.gumx
```

## Notes

* Scans all elements and states for Font + FontSize variable pairs
* Skips fonts whose output files already exist in `FontCache/` — only missing files are generated
* Output files are written to `FontCache/` next to the `.gumx` file

## Exit Codes

| Code | Meaning                                                                                                   |
| ---- | --------------------------------------------------------------------------------------------------------- |
| 0    | All missing fonts generated successfully                                                                  |
| 1    | An error occurred during font generation (including running the **BMFont** backend on a non-Windows host) |
| 2    | Project could not be loaded                                                                               |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.flatredball.com/gum/cli/cli/fonts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
