7sDream / fontfor

Find fonts which can show a specified character and preview them in terminal or browser.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Find fonts which can show a specified character and preview them in terminal or browser.

License:GNU General Public License v3.0


Languages

Language:Rust 97.2%Language:CSS 1.2%Language:JavaScript 0.8%Language:HTML 0.8%