FontFor
Find fonts which can show a specified character and preview them in browser.
This is port from my early python script called which_fonts_support, but with some improvements:
- Write in Rust, safe and faster
- Use
Fontconfig
library instead of depends onfc-list
command installed - Support preview in shell (powered by
FreeType
), no browser needed
Dependencies
This program needs Fontconfig
and FreeType
library to run, and some of their deps needs cmake
to compile, so we need to install them before compile:
- macOS:
brew install cmake freetype fontconfig
- Linux: Please refer to the docs of your Linux distribution to figure out how to install them
- Win: Do not support Windows for now
Install or Update
cargo install -f fontfor
Usage
Basic
$ fontfor א
Font(s) support the character "א"(U+05D0, 1488, 0xD7 0x90):
Arial with 4 styles
Arial Hebrew with 3 styles
Arial Hebrew Desk Interface with 3 styles
Arial Hebrew Scholar with 3 styles
Arial Unicode MS with 1 style
Corsiva Hebrew with 2 styles
Courier New with 4 styles
DejaVu Sans with 8 styles
FreeMono with 4 styles
FreeSans with 4 styles
FreeSerif with 4 styles
HanaMinA with 1 style
LastResort with 1 style
Lucida Grande with 2 styles
Microsoft Sans Serif with 1 style
New Peninim MT with 4 styles
Raanana with 2 styles
TW-Kai with 1 style
TW-Sung with 1 style
Tahoma with 2 styles
Times New Roman with 4 styles
Character Input Format
You can use the following formats for the character:
- Character:
א
- Unicode scalar value
U+XXXXXX
:U+5d0
,U+05d0
,U+0005d0
- Direct input
- Dec format:
1488
- Oct format:
0o2720
- Binary format:
0b010111010000
- Dec format:
- UTF8 bytes:
0xd790
Show All Font Styles
add -v
flag to show all font style.
We don't show screenshot picture here because it's a bit long.
Preview in Browser
Add -p
flag to enable browser preview:
Preview in Shell
Add -t
flag to enter tui mode for preview in shell:
And you can change render mode to ASCII(10 Level):
ASCII(70 Level):
Or moon-render
mode:
LICENSE
GPLv3 or later.
See COPYING.