[![Crate](https://img.shields.io/crates/v/freek)](https://crates.io/crates/freek) [![API](https://docs.rs/freek/badge.svg)](https://docs.rs/freek/) ![Minimum rustc version](https://img.shields.io/badge/rustc-1.37+-lightgray.svg) ![Downloads](https://img.shields.io/crates/d/freek) [![License](https://img.shields.io/crates/l/freek)](https://www.gnu.org/licenses/gpl-3.0.txt) A pure Rust library for encoding [Freedesktop Icon Themes](https://wiki.archlinux.org/index.php/Icons). # Overview An icon theme is a set of icons that share a common look and feel. The user can then select the icon theme that they want to use, and all apps use icons from the theme. The initial user of icon themes is the icon field of the desktop file specification, but in the future it can have other uses (such as mimetype icons). From a programmer perspective an icon theme is just a mapping. Given a set of directories to look for icons in and a theme name it maps from icon name and nominal icon size to an icon filename. # Supported Image Formats | Format | Supported? | |--------|------------------------------------------------------------------------| | `png` | All supported color types | | `jpeg` | Baseline and progressive | | `gif` | Yes | | `bmp` | Yes | | `webp` | Lossy(Luma channel only) | | `svg` | [Static SVG Full 1.1](https://github.com/RazrFalcon/resvg#svg-support) | # Build Requirements `Freek` relies on [`harfbuzz_rs`](https://crates.io/crates/harfbuzz_rs), wich means [CMake](https://cmake.org/) is required to be installed for it build. # License `Freek` is made available under the [GPLv3 License](https://www.gnu.org/licenses/gpl-3.0.txt). # Contribution Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be licensed as above, without any additional terms or conditions. Feel free to help out! Contributions are welcomed 😃