Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/7sDream/fontfor
Find fonts which can show a specified character and preview them in terminal or browser.
https://github.com/7sDream/fontfor
character cli font utilities
Last synced: 3 months ago
JSON representation
Find fonts which can show a specified character and preview them in terminal or browser.
- Host: GitHub
- URL: https://github.com/7sDream/fontfor
- Owner: 7sDream
- License: gpl-3.0
- Created: 2020-01-03T17:46:21.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-06-09T05:26:16.000Z (5 months ago)
- Last Synced: 2024-08-12T01:44:38.353Z (3 months ago)
- Topics: character, cli, font, utilities
- Language: Rust
- Homepage:
- Size: 371 KB
- Stars: 160
- Watchers: 4
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: COPYING
Awesome Lists containing this project
README
# FontFor
[![license-badge]][license-file] [![version-badge]][crates-io-page] [![ci-badge]][github-actions-page]
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][which_fonts_support-github], 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
```bash
cargo install -f fontfor
```Or download binary from release page.
## Usage
### Basic
```bash
$ 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][verbose-mode-screenshot] 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`][moon-render-github] mode:
![tui-moon-mode]
## LICENSE
GPLv3 or later.
See [COPYING][COPYING-file].
[license-badge]: https://img.shields.io/crates/l/fontfor?style=flat-square
[license-file]: https://github.com/7sDream/fontfor/blob/master/COPYING
[version-badge]: https://img.shields.io/crates/v/fontfor?style=flat-square
[crates-io-page]: https://crates.io/crates/fontfor
[ci-badge]: https://github.com/7sDream/fontfor/workflows/CI/badge.svg
[github-actions-page]: https://github.com/7sDream/fontfor/actions
[which_fonts_support-github]: https://github.com/7sDream/which_fonts_support
[verbose-mode-screenshot]: https://rikka.7sdre.am/files/22ea7500-525b-47ba-9c4e-6ef963999983.png
[browser-preview-screenshot]: https://rikka.7sdre.am/files/8f27f97b-a9b5-4fac-b922-594d188f648c.png
[tui-ascii-10-mode]: https://rikka.7sdre.am/files/34340b12-f554-4a08-9f2a-3c97ba1c2bd4.png
[tui-ascii-70-mode]: https://rikka.7sdre.am/files/bab9bc92-88fd-4be0-b9dc-e138723bb125.png
[tui-mono-mode]: https://rikka.7sdre.am/files/ee09bac8-ad1c-434d-8ec1-2b71411aac71.png
[tui-moon-mode]: https://rikka.7sdre.am/files/d8b690c7-ac0a-42e5-9b91-7c7e134100e6.png
[moon-render-github]: https://github.com/7sDream/moon-render
[COPYING-file]: https://github.com/7sDream/fontfor/blob/master/COPYING