# `Expresso.Font`
[🔗](https://github.com/rellen/expresso/blob/main/lib/expresso/font.ex#L1)

The font of the theme, with the bytes of each file in the stylesheet

The document of a deck is one file, and a font cannot be a second file. This
module reads `assets/fonts.css` at compile time. It replaces the path of each
`url()` with a data URI of the file, so a browser needs no network for the
font.

Atkinson Hyperlegible is the font, and the Braille Institute of America gives
it under the SIL Open Font License, Version 1.1. `assets/fonts/OFL.txt` holds
that license, and the license permits this use.

# `css`

```elixir
@spec css() :: String.t()
```

Give the stylesheet of the font, with the bytes of each file in it

`Expresso.Renderer` writes the result into a `style` element of the document.

# `file_count`

```elixir
@spec file_count() :: non_neg_integer()
```

Give the number of files that the stylesheet holds

A test reads this number, so a font file that no rule names gives a failure.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
