Typography
The project uses two font families: Inter for all UI and body text, and Iosevka for monospaced content. Both are open source under the SIL Open Font License 1.1.
Inter
Inter is a typeface designed specifically for computer screens. It features tall x-height, clean geometry, and excellent readability at all sizes. The variable font version is used, providing all weights from a single file.
- License: SIL Open Font License 1.1
- Usage: Headings, body text, UI elements, navigation
- Weights: 300 (Light) through 800 (Extrabold)
Recommended weights
| Weight | Name | Usage |
|---|---|---|
| 400 | Regular | Body text, paragraphs |
| 500 | Medium | Subtle emphasis, labels |
| 600 | Semibold | Subheadings, navigation items |
| 700 | Bold | Headings, strong emphasis |
| 800 | Extrabold | Hero titles, primary headings |
Iosevka
Iosevka is a narrow, monospaced typeface designed for programming. Its compact width allows more content per line without sacrificing readability.
- License: SIL Open Font License 1.1
- Usage: Code blocks, inline code, terminal output, technical identifiers
- Weights: 400 (Regular), 700 (Bold)
Inter — Headings
H1 — The Ideal desktop
H2 — Data-centric design
H3 — Compositor architecture
H4 — Configuration guide
H5 — Plugin system
Inter — Body
The Ideal desktop environment puts your data first. Instead of switching between applications, you work directly with information. Files, notes, and tasks are organized semantically, not by which app created them.
Inter — Weights
Light 300 — The quick brown fox jumps over the lazy dog
Regular 400 — The quick brown fox jumps over the lazy dog
Medium 500 — The quick brown fox jumps over the lazy dog
Semibold 600 — The quick brown fox jumps over the lazy dog
Bold 700 — The quick brown fox jumps over the lazy dog
Extrabold 800 — The quick brown fox jumps over the lazy dog
Iosevka — Code
Inline: compositor.enable(wayland)
# Iosevka in code blocks
fn main() {
let config = Config::load("~/.config/ideal");
let compositor = Compositor::new(&config);
compositor.run();
}Usage guidelines
- Use Inter for all non-code content. Do not mix other sans-serif fonts.
- Use Iosevka exclusively for code, commands, file paths, and technical identifiers.
- Prefer Regular (400) for body text. Use heavier weights sparingly for emphasis and hierarchy.
- Avoid weights below 400 for body text — they may be hard to read on some screens.