#font #svg #macro #api-bindings #text

nerd_font

Enumerated contents of the JetBrainsMono Nerd Font

3 releases

new 0.2.5 Feb 4, 2025
0.2.4 Feb 4, 2025

#1322 in Text processing

MIT license

1.5MB
2.5K SLoC

JetbrainsMono Nerd Font

Crates.io Build Status docs.rs License

This crate provides an enum of all the glyphs in the JetbrainsMono Nerd Font.
Additionally, it provides a way to load the font, and QOL features for using the font in iced.

See https://www.nerdfonts.com/ for more information

I am not affiliated with Nerd Fonts, nor do I have any rights to the JetbrainsMono Nerd Font.
This crate is published with a copy of the font, and its license, as allowed by the license.

See Symbols for the list of available icons, including their names, codepoints and a preview image.

Example

use nerd_font::{Icon, load_font};

//
// You can access the icon by name, and get the postfix name, or codepoint
// You can also hover over the icon to see information about it, and a preview of the icon (as inline svg)
assert_eq!(Symbols::, "fa-arrow_left");
let codepoint = Icon::FaArrowLeft as u32;

//
// You can also search for glyphs, and extract data about the font
let font = load_font();
let icon = font.glyph_named("fa-arrow_left").unwrap();
let svg = icon.svg_preview(); // The same as the inline svg in the hover

If you use iced there are some QOL features built-in:

// `nerd_font::FONT_BYTES` is the raw bytes of the font, for loading into iced
// You need to activate the `iced` feature to use these features
let text_widget = Symbols::dev::Android.into_text(24); // A text widget with the icon, in the font, size 24
let widget = Symbols::dev::Android.into_element(); // A text widget with the icon, in the default font size

Features

svg-preview

Default: On
Provides a preview of the icon in the hover documentation, as an inline SVG.

iced

Default: Off
Provides some QOL features for using the font in iced, including a font definition, and conversion to an iced Text widget.

Dependencies

~3–27MB
~429K SLoC