findfont-rs
A cross-platform Rust library to find font files in system font directories.
Features
- Multi-platform support (Linux/macOS/Windows)
- Searches standard system font directories
- Supports common font formats: TTF, TTC, OTF
- Automatic font variant detection (Light, Medium)
- Simple and intuitive API
Installation
Add to your Cargo.toml:
[]
= "0.1"
Usage
Basic usage:
use find;
With error handling:
use find;
Supported Platforms
Linux
~/.fonts/~/.local/share/fonts//usr/local/share/fonts//usr/share/fonts/- XDG_DATA_HOME and XDG_DATA_DIRS locations
macOS
~/Library/Fonts//Library/Fonts//System/Library/Fonts/- System supplemental fonts
Windows
%windir%\Fonts%LOCALAPPDATA%\Microsoft\Windows\Fonts
Search Logic
- Checks for exact filename matches with extensions in this order:
.ttf.ttc.otf
- If no exact match found, checks for common variants:
{font_name} Light.{ext}{font_name} Medium.{ext}
- Returns first match found in system font directories
Note: Search is case-sensitive and uses platform-specific path separators
Limitations
- Does not parse font files to verify actual font names
- Limited variant detection (only Light/Medium)
- First match in search order is returned
- Doesn't handle font collections (.ttc) differently
Contributing
Contributions are welcome! Please open an issue or PR for:
- Additional font variants
- Improved search algorithms
- More comprehensive test coverage
- Platform-specific enhancements
License
MIT/Apache