# Font

Application wide font settings.

::: warning
Changes to font settings require an application restart to take effect.
:::

::: info
If Halloy is unable to load the specified font, stretch, & weight, an fallback font may be used.  If the font looks wrong, double-check the family name and that the font family has the specified stretch & weight.
:::

## `family`

Monospaced font family to use.

::: warning
Variable-weight fonts are not currently supported.
:::

```toml
# Type: string
# Values: any string
# Default: not set
#
# Note: With the default `iosevka-font` feature enabled, Halloy
# uses Iosevka Term by default. Without that feature, Halloy falls back
# to the system monospace font.

[font]
family = "Comic Mono"
```

## `stretch`

Font stretch.

```toml
# Type: string
# Values: "ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", and "ultra-expanded"
# Default: "normal"

[font]
stretch = "semi-condensed"
```

## `size`

Font size.

```toml
# Type: integer
# Values: any positive integer
# Default: 13

[font]
size = 13
```

## `line_height`

Line height (relative to the font size). Changing this also requires a restart to take effect.

```toml
# Type: number
# Values: any positive float
# Default: 1.3

[font]
line_height = 1.1
```

## `weight`

Font weight.

```toml
# Type: string
# Values: "thin", "extra-light", "light", "normal", "medium", "semibold", "bold", "extra-bold", and "black"
# Default: "normal"

[font]
weight = "light"
```

## `bold_weight`

Bold font weight.  If not set, then the font weight three steps above the regular font weight (e.g. font weight `"light"` → bold font weight `"semibold"`).

```toml
# Type: string
# Values: "thin", "extra-light", "light", "normal", "medium", "semibold", "bold", "extra-bold", and "black"
# Default: not set

[font]
bold_weight = "semibold"
```

## `only_emojis_size`

Font size for messages that contain only emojis.  If not set, then the regular font size will be used.

```toml
# Type: integer
# Values: any positive integer
# Default: not set

[font]
only_emojis_size = 18
```
