Font management and text shaping for par-term terminal emulator.
This crate provides:
- Font loading with system font discovery and fallback chains
- Unicode range-specific font mappings (e.g., CJK, emoji)
- HarfBuzz-based text shaping via rustybuzz for ligatures and complex scripts
- Grapheme cluster detection for proper Unicode rendering
Architecture
The FontManager orchestrates font loading and glyph lookup across a
priority-ordered chain of fonts:
- Primary font (with bold/italic/bold-italic variants)
- Unicode range-specific fonts
- System fallback fonts
The TextShaper provides HarfBuzz-based text shaping with LRU caching
for performance.