1
0
mirror of https://github.com/ryanoasis/nerd-fonts.git synced 2024-12-25 20:18:01 +02:00
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 https://nerdfonts.com/
Go to file
2016-11-20 11:46:26 -05:00
.github Adds PR template (fixes #66) 2016-03-19 20:39:22 -04:00
bin/scripts Homebrew Fonts Cask script feedback fixes (WIP) (#72) 2016-11-16 18:19:58 -05:00
images 🎨 Optimized logo filesize 2016-03-19 19:50:37 -04:00
patched-fonts Adds Terminus (Terminess) TTF version patched fonts (partially fixes #23) 2016-11-17 20:13:26 -05:00
src Adds Terminus (Terminess) TTF version source (unpatched) font (partially fixes #23) 2016-11-17 20:11:53 -05:00
.gitignore Adds casks and archives to ignore list 2016-11-13 12:22:40 -05:00
changelog.md Upgrades Font Awesome glyph set to v4.7.0 2016-10-29 18:46:59 -04:00
code_of_conduct.md added Code of Conduct 2015-08-02 16:16:46 -04:00
contributing.md Adds contributing guidelines (fixes #66) 2016-03-19 20:58:04 -04:00
font-patcher Progress bar fixes and tweaks 2016-11-06 11:23:50 -05:00
font-patcher-py3 Updates python 3 version of font patcher to version 0.8.0 2016-05-14 10:11:43 -04:00
install.sh Better installation script 2016-09-02 10:00:18 +02:00
LICENSE v0.1.0 inital port from 'features/1-script-patch-fonts' branch on vim-webdevicons repo 2014-12-04 23:29:54 -05:00
readme.md Removes redundant variations section 2016-11-20 11:46:26 -05:00

Nerd Fonts Logo

GitHub release Gitter   Windows Logo   macOS (OSX) Logo   Linux Logo

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](http://sankeymatic.com/)_

The best way to get the fonts is to download the specific one you want

Cloning of this repository is not required nor the most efficient way to get the fonts, however if you want all the fonts and want to clone be sure to shallow clone:

git clone --depth 1

For more high level information see the wiki. If you are looking for the Vim plugin see VimDevIcons ➶.

Fonts Patcher VimDevIcons ➶
fonts-logo-small patcher-logo-small vim-devicons-logo-small

Features

Important Notices

Table of Contents

Glyph Sets

Seti-UI + Custom

Based off of Seti-UI Icomoon with extra custom glyphs.

image

Devicons

An iconic font made for developers, code jedis, ninjas, HTTPsters, evangelists and nerds(sic). / (repo) / (website)

image

Font Awesome

The iconic font and CSS toolkit. / (repo) / (website)

image image image image

Font Awesome Extension

Simple Font Awesome Extension. / (repo) / (website)

image

Octicons

GitHub's icons. / (repo) / (website)

image

Powerline Extra Symbols

Provides extra Powerline separator glyphs and a column number glyph (CN). / (repo)

image

IEC Power Symbols

Adding new characters into Unicode / (website)

image image

Font Linux

Font-linux is an icon font containing logos of popular linux distributions for inclusion in websites. / (repo)

image

Pomicons

8 symbols for the "Pomodoro Technique"®. / (repo)

image

Usage

Option A

Install any of the already provided patched fonts

Option B

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

Patched Fonts

Font Name Font Name and Repository *RFN EM Size Status
3270 Nerd Font 3270 NO 1000 w2 m2 l2
Anonymice Nerd Font Anonymous Pro NO 2048 w2 m2 l2
Aurulent Sans Mono Nerd Font NO 1000 w2 m2 l2
Bitstream Vera Sans Mono Nerd Font NO 2048 w2 m2 l2
Code New Roman Nerd Font NO 2048 w2 m2 l2
DejaVu Sans Mono Nerd Font NO 2048 w2 m2 l2
Droid Sans Mono Nerd Font NO 2048 w2 m2 l2
Fantasque Sans Nerd Font Fantasque Sans NO 2048 w2 m2 l2
Fura Code Nerd Font Fira YES 1000 w2 m2 l2
Fura Mono Nerd Font Fira YES 1000 w2 m2 l2
Gohu Nerd Font Gohu NO 1000 w2 m2 l2
Hasklug Nerd Font Hasklig YES 1000 w2 m2 l2
Heavy Data Mono Nerd Font NO 2048 w2 m2 l2
Hermut Nerd Font NO 1000 w2 m2 l2
Inconsolata Nerd Font NO 1000 w2 m2 l2
Iosevka Nerd Font Iosevka YES 1000 #83
Knack Nerd Font Hack YES 2048 #70
Lekton Nerd Font NO 1000 w2 m2 l2
Literation Mono Nerd Font Liberation YES 2048 w2 m2 l2
Meslo Nerd Font NO 2048 w2 m2 l2
Monofur Nerd Font NO 2400 w2 m2 l2
Monoid Nerd Font NO 1536 w2 m2 l2
Mononoki Nerd Font Mononoki NO 1024 w2 m2 l2
M+ (MPlus) Nerd Font NO 1000 w2 m2 l2
ProFont (Windows tweaked) Nerd Font NO 1200 w2 m2 l2
ProFont (x11) Nerd Font NO 1000 [FAILING]
ProggyClean Nerd Font NO 2048 [FAILING]
Roboto Mono NO 2048 [FAILING]
Sauce Code Nerd Font Source YES 1000 w2! m2 l2
Shure Tech Mono Nerd Font Share Tech Mono YES 1000 w2! m2 l2
Space Mono Nerd Font Space Mono NO 1000 w2! m2 l2
Terminess Nerd Font Terminus Font YES 1000 #16
Ubuntu Mono derivative Nerd Font NO 1000 w2 m2! l2
Ubuntu Mono Nerd Font NO 1000 w2 m2! l2

*RFN = Reserved Font Name

Combinations

  • Over 5,700 unique variations/combinations (Power Set) of patched fonts:
  • 102 unpatched font variations (otf and ttf)
  • 56 combinations
  • Calculated combinations (56 * 102) = 5,712
  • Combinations for each font are any combination of (plus no flags option) Variations

Variations

Font Installation

Put any font you would like to use into the ~/.local/share/fonts (Linux) or ~/Library/Fonts/(OS X) folder. For example:

Linux

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

deprecated alternative paths: ~/.fonts

OS X

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

Font Install Script

  • Linux & Mac OS X

Install all fonts:

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

Install a single font:

./install.sh <FontName>
./install.sh Hack
./install.sh HeavyData

Nerd Fonts Patcher

Patching the font of your own choosing for use with the VimDevIcons:

  • requires: python2, 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] [-q] [-w] [-c] [--fontawesome]
                    [--fontawesomeextension] [--fontlinux] [--octicons]
                    [--powersymbols] [--pomicons] [--powerline]
                    [--powerlineextra] [--careful] [-ext [EXTENSION]]
                    [-out [OUTPUTDIR]]
                    font

Patches a given font with programming and web development related glyphs
(mainly for https://github.com/ryanoasis/vim-devicons)

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, --use-single-width-glyphs
                        Whether to generate the glyphs as single-width not
                        double-width (default is double-width)
  -q, --quiet, --shutup
                        Do not generate verbose output
  -w, --windows, --limit-font-name-length
                        Limit the internal font name to 31 characters (for
                        Windows compatibility)
  -c, --complete        Add all available Glyphs
  --fontawesome         Add Font Awesome Glyphs (http://fortawesome.github.io
                        /Font-Awesome)
  --fontawesomeextension
                        Add Font Awesome Extension Glyphs
                        (http://andrelgava.github.io/font-awesome-extension)
  --fontlinux           Add Font Linux Glyphs (https://github.com/Lukas-W
                        /font-linux)
  --octicons            Add Octicons Glyphs (https://octicons.github.com)
  --powersymbols        Add IEC Power Symbols (http://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)
  --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

Unstable File Paths

| Unstable file paths warning |

| Reference the release branch and not the master branch because paths are subject change for each release | | For example: | | Use: https://github.com/ryanoasis/nerd-fonts/blob/0.9.0/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf | | Not: 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 I cannot provide or share due to the license:
  • Input Mono (license restriction)
    • Possibly coming with external hosting :)
  • PragmataPro (not free)
  • Consolas (proprietary)

Project History

Motivation (Original Rationale)

  • Originally created for use with vim-devicons vim plugin to add glyphs (icons) as labels for files based on the filetype extension or entire path. This project began as a part of the vim-devicons repo but soon it became apparent it did not belong tied to the vim plugin. I thought it may benefit others more as a separate project and allow a wider range of uses. This project started before I knew about Fontconfig provided solution, although a patched font still has some benefits over the Fontconfig.

  • project and repository previously known as 'nerd-filetype-glyphs-fonts-patcher' and 'font-nerd-icons'

Contributing

See contributing.md

Changelog

See changelog.md

License

MIT © Ryan L McIntyre