fontfor

Crates.iofontfor
lib.rsfontfor
version0.4.3
sourcesrc
created_at2020-01-03 17:53:23.458609
updated_at2024-05-10 12:15:51.416145
descriptionfind fonts which can show a specified character and preview them in terminal or browser
homepagehttps://github.com/7sDream/fontfor
repositoryhttps://github.com/7sDream/fontfor
max_upload_size
id194841
size164,830
7sDream (7sDream)

documentation

README

FontFor

license-badge version-badge ci-badge

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, without unsafe. Safety
  • 🚀️ Mmap to load font file. Fast
  • 🚀️ Only parse font table we need, not all bytes of font file. Faster
  • 🖥 Support preview in terminal and browser. Friendly

Install or Update

cargo install -f fontfor

Or download binary from release page.

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
  • 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.

add more -v, or -vv to show font file and face index.

Preview in Browser

Add -p flag to enable browser preview:

browser-preview-screenshot

Preview in Shell

Add -t flag to enter tui mode for preview in shell:

tui-mono-mode

And you can change render mode to ASCII(10 Level):

tui-ascii-10-mode

ASCII(70 Level):

tui-ascii-70-mode

Or moon-render mode:

tui-moon-mode

LICENSE

GPLv3 or later.

See COPYING.

Commit count: 170

cargo fmt