Skip to content

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

License

Notifications You must be signed in to change notification settings

7sDream/fontfor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3010c7b ยท Jan 9, 2025
Dec 5, 2024
Jan 9, 2025
May 8, 2024
Jan 18, 2020
May 10, 2024
Dec 30, 2019
Jan 9, 2025
Jan 9, 2025
Nov 15, 2023
Nov 13, 2023
Sep 22, 2024

Repository files navigation

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.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages