Font Configuration
Basic Setup
Set your font in config.toml:
[font]
family = "JetBrains Mono"
size = 14 The font name must match what your system reports. ori-term loads Regular, Bold, Italic, and BoldItalic faces automatically from the same family.
Fallback Chains
When a glyph is missing from the primary font, ori-term tries the next font in a fallback chain:
[font]
family = "JetBrains Mono"
fallback = [
"Noto Sans Mono", # Wide Unicode coverage
"Noto Color Emoji", # Emoji
"Symbols Nerd Font", # Nerd Font icons
] Each face variant (Regular, Bold, Italic, BoldItalic) has its own fallback chain. Box drawing, block elements, braille, and Powerline symbols are always available via built-in glyph rendering, regardless of font selection.
OpenType Features
Enable or disable OpenType features per font:
[font.features]
liga = true # Standard ligatures (== != =>)
calt = true # Contextual alternates
kern = true # Kerning
ss01 = true # Stylistic set 1 (font-specific) Feature tags follow the OpenType specification. Available features depend on your font -- check your font's documentation for supported tags.
Size & Scaling
Font size is specified in points. Adjust at runtime with Ctrl+= and Ctrl+-.
ori-term is DPI-aware. On HiDPI displays, fonts are rendered at the appropriate scale factor. Moving a window between monitors with different DPIs triggers automatic rescaling.
Font Synthesis
When a Bold or Italic face is not available in your font family, ori-term synthesizes them automatically. This ensures you always get styled text, though native font faces always look better when available.
Font Discovery
Font rendering is platform-native. ori-term uses each operating system's built-in font system for rendering, discovery, and fallback resolution. Fonts are found the same way other applications on your system find them.
Subpixel rendering (ClearType-style on LCD displays) is enabled by default with automatic display order detection.