Need help with nerd-fonts?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

ryanoasis
25.0K Stars 1.8K Forks MIT License 1.0K Commits 169 Opened issues

Description

Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more

Services available

!
?

Need anything else?

Contributors list

No Data

Nerd Fonts Logo

Iconic font aggregator, collection, and patcher

[Releases][release]   |   Fonts   |   Font Patcher   |   [Wiki Documentation][wiki]   |   [Stickers][stickers]   |   [VimDevIcons][vim-devicons]

[![GitHub release][img-version-badge]][repo] [![Gitter][img-gitter-badge]][gitter] [![Build Status][img-travis-ci]][travis-ci] [![Code of Conduct][coc-badge]][coc] [![PRs Welcome][prs-badge]][prs] Nerd Fonts - OS Support [![Twitter][twitter-badge]][twitter-intent]

Nerd Fonts is a project that patches developer targeted fonts with a high number of glyphs (icons). Specifically to add a high number of extra glyphs from popular 'iconic fonts' such as Font Awesome ➶, Devicons ➶, Octicons ➶, and others.

The following Sankey flow diagram shows the current glyph sets included:

@SankeyMATIC Diagram

Diagram created using @SankeyMATIC

Important Notices

Table of Contents

TL;DR

Installation Options * 1 - Manual * 2 - Release Archive Download * 3 - Install Script * 4 - Homebrew Fonts (macOS (OS X)) * 5 - Clone Repo * 6 - Ad Hoc Curl Download * 7 - Arch User Repository (AUR) (Arch Linux) * 8 - Patch Your Own Font

Features * Glyph/Icon sets * Patched Fonts * Combinations * Font Patcher

Developer / Contributor * Font Patcher * Gotta Patch 'em All Font Patcher! * Other Good Fonts to Patch * Contributing

Project Motivation

Additional Info * Unstable file paths on master * Changelog * License

TL;DR

Nerd Fonts takes popular programming fonts and adds a bunch of Glyphs. There is also a font patcher available if your desired font isn't already patched. For more high level information see the wiki. If you are looking for the Vim plugin see VimDevIcons ➶.

Various Download Options for Fonts

If you...

Features

Glyph Sets

:mag: :mag: You can now search for glyphs easily on NerdFonts.com via the Cheat Sheet

See Wiki: Glyph Sets and Codepoints for more details

Icon names in shell

See Wiki: Icon names in shell

Patched Fonts

| Font Name | Font Name and Repository |*RFN | EM Size | Status | |:--------------------------------------------------|:----------------------------------|:-----|:--------|:------------------| | 3270 Nerd Font | 3270 | NO | 1000 | w m2 l | | Agave | Agave | NO | 2048 | w m2 l | | Anonymice Nerd Font | Anonymous Pro | NO | 2048 | w m2 l | | Arimo | Arimo | NO | 2048 | w m2 l | | Aurulent Sans Mono Nerd Font | | NO | 1000 | w m2 l | | BigBlueTerminal | | NO | 1200 | w m2 l | | Bitstream Vera Sans Mono Nerd Font | | NO | 2048 | w m2 l | | Blex* | IBM Plex Mono | YES | 1000 | w m2 l | | Caskaydia Cove Nerd Font* | Cascadia Code | YES | 2048 | w m2 l | | Code New Roman Nerd Font | | NO | 2048 | w m2 l | | Cousine Nerd Font | Cousine | NO | 1000 | w m2 l | | DaddyTimeMono | DaddyTimeMono | NO | 1024 | w m2 l | | DejaVu Sans Mono Nerd Font | | NO | 2048 | w m2 l | | Droid Sans Mono Nerd Font | | NO | 2048 | w m2 l | | Fantasque Sans Nerd Font | Fantasque Sans | NO | 2048 | w m2 l | | Fira Code Nerd Font | Fira Code | NO | 1000 | w m2 l | | Fira Mono Nerd Font | Fira | NO | 1000 | w m2 l | | Go Mono Nerd Font | Go-Mono | NO | 1000 | w m2 l | | Gohu Nerd Font | Gohu TTF,Gohu| NO | 1000 | w m2 l | | Hack Nerd Font | Hack | NO | 2048 | w m2 l | | Hasklug Nerd Font* | Hasklig | YES | 1000 | w m2 l | | Heavy Data Mono Nerd Font | | NO | 2048 | w m2 l | | Hurmit Nerd Font | | NO | 1000 | w m2 l | | iM-Writing* | iA-Writer | YES | 1000 | w m2 l | | Inconsolata Nerd Font | | NO | 1000 | w m2 l | | Inconsolata Go Nerd Font | | NO | 1000 | w m2 l | | Inconsolata LGC Nerd Font | | NO | 1000 | w m2 l | | Iosevka Nerd Font | Iosevka | NO | 1000 | #83 | | JetBrains Mono | JetBrains Mono| NO | 1000 | w m2 l | | Lekton Nerd Font | | NO | 1000 | w m2 l | | Literation Mono Nerd Font* | Liberation | YES | 2048 | w m2 l | | Lilex Nerd Font | Lilex | NO | 2000 | w2 m2 l | | Meslo Nerd Font | | NO | 2048 | w m2 l | | Monofur Nerd Font | | NO | 2400 | w m2 l | | Monoid Nerd Font | | NO | 1536 | w m2 l | | Mononoki Nerd Font | Mononoki | NO | 1024 | w m2 l | | M+ (MPlus) Nerd Font | | NO | 1000 | w m2 l | | Noto | | NO | 1000 | w m2 l | | OpenDyslexic | | NO | 1000 | w m2 l | | Overpass | | NO | 1000 | w m2 l | | ProFont (Windows tweaked) Nerd Font | | NO | 1200 | w m2 l | | ProFont (x11) Nerd Font | | NO | 1000 | w m2 l | | ProggyClean Nerd Font | | NO | 2048 | Imperfect | | Roboto Mono | | NO | 2048 | w m2 l | | Sauce Code Nerd Font | Source | YES | 1000 | w m2 l | | Shure Tech Mono Nerd Font* | Share Tech Mono | YES | 1000 | w m2 l | | Space Mono Nerd Font | Space Mono | NO | 1000 | w m2 l | | Terminess Nerd Font* | Terminus Font | YES | 1000 | w m2 l | | Tinos | | NO | 2048 | w m2 l | | Ubuntu Nerd Font | | NO | 1000 | w m2 l | | Ubuntu Mono Nerd Font | | NO | 1000 | w m2 l | | Victor Mono | Victor Mono | NO | 1000 | w m2 l |

*RFN = Reserved Font Name

Combinations

  • Over
    1,436,000
    unique variations/combinations (Power Set) of patched fonts:
    • 51
      patched font typefaces
    • 702
      patched font families
    • 2,808
      'complete' variations/combinations
    • 1,436,292
      possible variations/combinations
    • 1,439,100
      total calculated combinations (2,808 + 1,436,292)
  • Combinations for each font are any combination of Variations

Variations

Font Installation

Option 1: Download and Install Manually

Best option for quickly getting a specific individual font.

Download the specific patched font of your choice

Option 2: Release Archive Download

Best option if you want an archive or complete font family of variations (Bold, Italic, etc.).

Fonts are available for download as packages in the latest release

Option 3: Install Script

Best option if you want to automate installing or for use in scripts.

Note: Only for Linux & macOS (OS X) Note: Requires cloning the repo as of now

All fonts:

  • Installs all the patched Fonts (Warning: This is a lot of Fonts adding up to a large size)
./install.sh

Single font:

  • Installs a single Font of your choice
./install.sh 
./install.sh Hack
./install.sh HeavyData

Option 4: Homebrew Fonts

Best option if on macOS and want to use Homebrew.

All fonts are available via Homebrew Cask Fonts on macOS (OS X)

brew tap homebrew/cask-fonts
brew cask install font-hack-nerd-font

Option 5: Clone the Repo

Best option for full control, all or most of the fonts, or contributing to development.

Cloning of this repository is not required nor efficient (mostly due to Repository size) if you are simply only interested in a limited set of fonts.

However if you do want to clone the repo be sure to shallow clone:

sh
git clone --depth 1

Option 6: Ad Hoc Curl Download

Option if you want to use the

curl
command or for use in scripts.

Linux

mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf

Note: deprecated alternative paths:

~/.fonts

macOS (OS X)

cd ~/Library/Fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf

Option 7: Unofficial Arch User Repository (AUR)

Option for Arch Linux and wanting to use AUR packages.

The following fonts are available via AUR packages on Arch Linux:

Option 8: Patch Your Own Font

The option for patching your own font or fully customizing the patched font.

Use the provided Python command line script to generate a patched font from your own font to get the extra new glyphs

See: Font Patcher for usage

  • use this option if you do not want to use one of the fonts provided
  • you will still need to copy the generated font to the correct font directory on your system

Nerd Fonts Patcher

Patching the font of your own choosing for use with the VimDevIcons ➶: * requires: Python 2 (or Python 3),

python-fontforge
package (version
20141231
or later, see the install instructions) * alternative install method on OSX:
brew install fontforge
* Usage:
./font-patcher PATH_TO_FONT
  • Alternative usage: Execute the patcher with the FontForge binary using the script flag:
./fontforge -script font-patcher PATH_TO_FONT
usage: font-patcher [-h] [-v] [-s] [-l] [-q] [-w] [-c] [--fontawesome]
                    [--fontawesomeextension] [--fontlinux] [--octicons]
                    [--powersymbols] [--pomicons] [--powerline]
                    [--powerlineextra] [--material] [--weather]
                    [--custom [CUSTOM]] [--postprocess [POSTPROCESS]]
                    [--removeligs] [--configfile [CONFIGFILE]]
                    [--progressbars | --no-progressbars] [--careful]
                    [-ext [EXTENSION]] [-out [OUTPUTDIR]]
                    font

Nerd Fonts Font Patcher: patches a given font with programming and development related glyphs

positional arguments: font The path to the font to patch (e.g., Inconsolata.otf)

optional arguments: -h, --help show this help message and exit -v, --version show program's version number and exit -s, --mono, --use-single-width-glyphs Whether to generate the glyphs as single-width not double-width (default is double-width) -l, --adjust-line-height Whether to adjust line heights (attempt to center powerline separators more evenly) -q, --quiet, --shutup Do not generate verbose output -w, --windows Limit the internal font name to 31 characters (for Windows compatibility) -c, --complete Add all available Glyphs --fontawesome Add Font Awesome Glyphs (http://fontawesome.io/) --fontawesomeextension Add Font Awesome Extension Glyphs (https://andrelzgava.github.io/font-awesome-extension/) --fontlinux, --fontlogos Add Font Linux and other open source Glyphs (https://github.com/Lukas-W/font-logos) --octicons Add Octicons Glyphs (https://octicons.github.com) --powersymbols Add IEC Power Symbols (https://unicodepowersymbol.com/) --pomicons Add Pomicon Glyphs (https://github.com/gabrielelana/pomicons) --powerline Add Powerline Glyphs --powerlineextra Add Powerline Glyphs (https://github.com/ryanoasis/powerline-extra-symbols) --material, --materialdesignicons, --mdi Add Material Design Icons (https://github.com/templarian/MaterialDesign) --weather, --weathericons Add Weather Icons (https://github.com/erikflowers/weather-icons) --custom [CUSTOM] Specify a custom symbol font. All new glyphs will be copied, with no scaling applied. --postprocess [POSTPROCESS] Specify a Script for Post Processing --removeligs, --removeligatures Removes ligatures specified in JSON configuration file --configfile [CONFIGFILE] Specify a file path for JSON configuration file (see sample: src/config.sample.json) --progressbars Show percentage completion progress bars per Glyph Set --no-progressbars Don't show percentage completion progress bars per Glyph Set --careful Do not overwrite existing glyphs if detected -ext [EXTENSION], --extension [EXTENSION] Change font file type to create (e.g., ttf, otf) -out [OUTPUTDIR], --outputdir [OUTPUTDIR] The directory to output the patched font file to

Examples

./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf -s -q
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf --use-single-width-glyphs --quiet
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf -w
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf --windows --quiet
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf --windows --pomicons --quiet
./font-patcher Inconsolata.otf --fontawesome
./font-patcher Inconsolata.otf --fontawesome --octicons --pomicons
./font-patcher Inconsolata.otf

Gotta Patch 'em All Font Patcher!

  • for Contributor or Developer use

  • re-patches all fonts in the unpatched directory:

    ./gotta-patch-em-all-font-patcher\!.sh
    
  • can optionally limit to specific font name pattern:

    ./gotta-patch-em-all-font-patcher\!.sh Hermit
    

Contributing

See contributing.md

Unstable File Paths

:warning: Warning: File paths may change based on releases (especially major version bumps)

Reference the release branch and not the ~~master~~ branch because paths are subject to change for each release

  • For example:
    • :whitecheckmark: Use: https://github.com/ryanoasis/nerd-fonts/blob/0.9.0/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf
    • :x: Instead of: https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf

Other Good Fonts to Patch

  • a list of additional good fonts to patch that cannot be provided or shared due to the license:

Project Motivation

See Wiki: Project Purpose

Changelog

See changelog.md

License

MIT © Ryan L McIntyre

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.