Font Tool¶
Automatic font tracking with data-driven rankings. Every time you apply, like, dislike, or note a font, it's logged. Rankings emerge from your actual usage patterns.
Quick Start¶
font change # Interactive picker with previews
font like "reason" # Like current font
font dislike # Dislike without message
font note "text" # Add note to current font
font rank # See rankings
font log # View history
Commands¶
Viewing¶
font current- Show active fontfont list- List available fontsfont rank- Font rankings by likes/dislikesfont log- View complete history with file locations
Applying Fonts¶
font change- Interactive picker with previews (fzf + image previews)font apply <font>- Apply by name (auto-logs)font random- Random from all fonts
Tracking¶
font like [message]- Like current font with optional reasonfont dislike [message]- Dislike current font with optional reasonfont note <message>- Add note to current font (message required)font reject <message>- Reject current font with reason (hides from lists)font rejected- Show all rejected fonts with reasons
All tracking actions automatically log to per-platform history files. Rejected fonts are hidden from font list and the interactive picker to avoid rediscovery.
Utilities¶
font generate-previews- Pre-generate all preview images for instant browsingfont clear-cache- Clear preview image cache
Data & History¶
Font history is stored in ~/.config/font/ (symlinked to dotfiles for cross-machine sync):
~/.config/font/
├── history-macos.jsonl
├── history-arch.jsonl
├── history-wsl.jsonl
├── rejected-fonts-macos.json
├── rejected-fonts-arch.json
└── font-info.json
Zero merge conflicts: Each platform writes to its own history and rejection files.
Cross-platform rankings: font rank combines data from all platforms to show fonts you like across all your machines.
Auto-recovery: If you delete history files, they're automatically recreated on next use.
View file locations with font log.
How It Works¶
Each action appends a timestamped JSON record (in UTC):
{"ts":"2025-11-26T17:24:03+00:00","platform":"macos","font":"Fira Code","action":"like","message":"Great ligatures"}
Rankings aggregate likes/dislikes to calculate scores:
Fonts are then sorted by score descending, then by last usage date.
Workflow¶
Start testing a new font:
font change # Pick a font interactively
# Use it for actual work
font like "Good weight" # Like it
font note "Works well for prose" # Add observations
After testing several fonts:
Switch to a random font:
See Also¶
- Nerd Fonts Explained - What Nerd Fonts are and why they matter
- Font Weights and Variants - Understanding Bold/Italic/Light variants
- Terminal Fonts Guide - Why monospace matters for terminals
- Font Comparison - Detailed comparison of font families