#font #cross-platform #command-line #command-line-utilities #applications #install #typography

app fontup

A cross-platform command line application that makes installing and uninstalling fonts a blast!

3 releases

0.1.2 Nov 30, 2023
0.1.1 Nov 30, 2023
0.1.0 Nov 30, 2023

#11 in #typography

MIT license

120KB
460 lines

🚀 FontUp 🚀

Build License: MIT Crates.io Crates.io

FontUp is a cross-platform command line application that makes installing and uninstalling fonts a blast! 💥

🌟 Features 🌟

  • Install and uninstall fonts on both Unix-like and Windows systems. 🖥️
  • Temporary font installation and uninstallation on Windows. ⏳
  • Runs asynchronously, and is extremely fast. 🏃
  • Error checking to ensure fonts are installed and uninstalled correctly. ✔️
  • Prints sorted duration list of installed fonts in a neat colorized table. 🦋

🛠️ Usage 🛠️

First, add FontUp to your Cargo.toml:

[dependencies]
fontup = "0.1.2"

📥 Install Fonts 📥

Use the --install argument to specify one or more font files that you want to install. You can provide multiple files by separating them with spaces.

📝 Note: Use quotes if your file paths include spaces.

fontup --install /path/to/font1.ttf /path/to/font2.ttf

This will install the fonts located at /path/to/font1.ttf and /path/to/font2.ttf.

📤 Uninstall Fonts 📤

The --uninstall argument is used to specify one or more font files that you want to uninstall. You can provide multiple files by separating them with spaces.

fontup --uninstall /path/to/font1.ttf /path/to/font2.ttf

This will uninstall the fonts located at /path/to/font1.ttf and /path/to/font2.ttf.

⏱️ Temporary Installation ⏱️

📝 Note: This is a Windows only feature.

The --temp is a boolean flag that indicates whether font installation is temporary. Once your system reboots the font will be automagically removed.

fontup --install /path/to/font1.ttf --temp
fontup --uninstall /path/to/font1.ttf --temp

📁 Font Folders 📁

Installs all the fonts found in specified folder

fontup --folder /path/to/folder

📦 Dependencies 📦

This utility depends on the following Rust crates:

  • chrono: 0.4 - Comprehensive support for working with date and time.
  • colored: 2.0.4 - Coloring terminal text output.
  • cli-table: 0.4.7 - Creating and displaying tables in the command line.
  • dirs: 3.0.2 - Finding platform-specific, user-accessible directories.
  • path-slash: 0.2.1 - Converting file paths to and from slash paths.
  • structopt: 0.3.26 - Handling command line arguments by defining a struct.
  • ttf-parser: 0.20.0 - High-level, safe, zero-allocation TrueType font parser.
  • tokio: 1 (with full features) - Event-driven, non-blocking I/O platform for writing asynchronous applications.

Windows Specific Dependencies

  • winapi: 0.3 (with winuser feature) - Raw FFI bindings to all of Windows API.
  • winreg: 0.52.0 - Rust bindings to the Windows Registry API.

🙏 Acknowledgements 🙏

This project uses the Fira Code font, which is licensed under the SIL Open Font License, Version 1.1.

📜 License 📜

The MIT License (MIT). See License File for more information.

Dependencies

~9–18MB
~218K SLoC