| Crates.io | fontcull-cli |
| lib.rs | fontcull-cli |
| version | 1.0.6 |
| created_at | 2025-12-03 11:54:10.157931+00 |
| updated_at | 2026-01-23 13:10:48.944936+00 |
| description | CLI tool to subset fonts based on actual glyph usage from web pages |
| homepage | https://github.com/bearcove/fontcull |
| repository | https://github.com/bearcove/fontcull |
| max_upload_size | |
| id | 1963920 |
| size | 99,846 |
CLI tool to subset fonts based on actual glyph usage from web pages.
Uses a headless browser to render pages and extract exactly which glyphs are used by each font family, then subsets fonts to include only those glyphs.
cargo install fontcull-cli
Scan a URL and print the unicode range of characters used:
fontcull https://example.com
# Output: U+20-7E,U+A0,U+2019
Subset font files based on glyph usage from a page:
fontcull https://example.com --subset "fonts/*.ttf" --output dist/
Crawl same-origin links to gather glyphs from multiple pages:
fontcull https://example.com --spider-limit 50 --subset "fonts/*.woff2"
Only include glyphs used by specific font families:
fontcull https://example.com --family "Inter,Roboto" --subset fonts/inter.ttf
Always include certain characters even if not detected:
fontcull https://example.com --whitelist "0123456789" --subset fonts/body.ttf
| Option | Short | Description |
|---|---|---|
--subset <PATTERN> |
-s |
Font files to subset (glob patterns supported) |
--output <DIR> |
-o |
Output directory for subset fonts |
--family <NAMES> |
-f |
Only include glyphs from these font families (comma-separated) |
--spider-limit <N> |
Maximum pages to crawl (0 = disabled) | |
--whitelist <CHARS> |
-w |
Characters to always include |
-subset suffix--subset, prints the unicode range to stdoutMIT