1
0
mirror of https://github.com/ryanoasis/nerd-fonts.git synced 2024-12-07 17:06:25 +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-04-18 21:17:10 -04:00
.github Adds PR template (fixes #66) 2016-03-19 20:39:22 -04:00
glyph-source-fonts Updates Font Awesome to version v4.5.0 (fixes #48) 2016-03-19 14:27:21 -04:00
images 🎨 Optimized logo filesize 2016-03-19 19:50:37 -04:00
patched-fonts Font directory clean-up (Fira Code) 2016-04-18 21:17:10 -04:00
source Bash Script and markdown to generate readmes per patched font directory (fixes #52) 2016-04-17 14:00:03 -04:00
unpatched-sample-fonts Font directory clean-up (Fira Code) 2016-04-18 21:17:10 -04:00
.gitignore Ensure 'Input Mono' never commited per License and Author request 2015-11-10 20:17:15 -05:00
changelog.md Updates changelog for v0.6.1 2016-02-04 17:27:59 -05: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 Attempt to fix duplicate fonts in fontbook on osx (fixes #56, #61) 2016-03-28 14:11:22 -04:00
font-patcher-py3 Attempt to fix duplicate fonts in fontbook on osx (fixes #56, #61) 2016-03-28 14:11:22 -04:00
gotta-patch-em-all-font-patcher!.sh Updates version info for 0.7.0 2016-03-20 12:07:57 -04:00
install.sh Fix font_dir on linux to be ~/.local/share/fonts as the previous was deprecated. 2016-01-06 09:27:27 +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 Update readme.md 2016-03-20 15:56:48 -04:00
standardize-and-complete-readmes.sh Bash Script and markdown to generate readmes per patched font directory (fixes #52) 2016-04-17 14:00:03 -04:00

nerd fonts

GitHub version Join the chat at https://gitter.im/ryanoasis/nerd-fonts Flattr this git repo

Nerd Fonts is a project that attempts to patch as many developer targeted and/or used fonts as possible. The patch is to specifically add a high number of additional glyphs from popular 'iconic fonts' such as Font Awesome, Devicons, Octicons, and others.

For more high level info see the wiki. Looking for the Vim plugin see vim-devicons ➶.

image

Diagram created using @SankeyMATIC


Fonts Patcher Vim Plugin ➶
fonts-logo-small patcher-logo-small vim-devicons-logo-small

Features

| Unstable file paths warning: To avoid font file references breaking on releases please read |

Table of Contents

Glyph Sets

Seti-UI + Custom

Based off of Seti-UI Icomoon with additional custom glyphs added from various sources.

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

Octicons

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

image

Pomicons

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

image

Powerline Extra Symbols

Provides additional Powerline separator glyphs and a column number glyph (CN). / (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 additional new glyphs

See: Font Patcher for usage

Patched Fonts

Font Name Reserved Font Name EM Size Status
3270 Nerd Font 1000 [TEST]
Anonymice Powerline Nerd Font Anonymous Pro 2048 [TEST]
Aurulent Sans Mono Nerd Font 1000 [TEST]
Bitstream Vera Sans Mono Nerd Font 2048 [TEST]
DejaVu Sans Mono Nerd Font 2048 [TEST]
Droid Sans Mono for Powerline Nerd Font 2048 [TEST]
Fira Mono for Powerline Nerd Font 1000 [TEST]
Heavy Data Mono for Powerline Nerd Font 2048 [TEST]
Hermut Nerd Font 1000 [TEST]
Inconsolata for Powerline Nerd Font 1000 [TEST]
Knack Nerd Font Hack 2048 #70
Lekton for Powerline Nerd Font 1000 [TEST]
Literation Mono for Powerline Nerd Font Liberation 2048 [TEST]
Meslo for Powerline Nerd Font 2048 [TEST]
Monofur for Powerline Nerd Font 2400 [TEST]
M+ (MPlus) for Powerline Nerd Font 1000 [TEST]
ProFont (Windows tweaked) for Powerline Nerd Font 1200 [TEST]
ProFont (x11) for Powerline Nerd Font 1000 [FAILING]
ProggyCleanTT Nerd Font 2048 [FAILING]
Sauce Code Powerline Nerd Font Source 1000 [TEST]
Terminess for Powerline Nerd Font Terminus Font 1000 #16
Ubuntu Mono derivative Powerline Nerd Font 1000 [TEST]
Ubuntu Mono Nerd Font 1000 [TEST]

Combinations

  • Over 2,000 unique variations/combinations (Power Set) of patched fonts:
  • 57 font variations (just counting otf and ttf)
  • 36 combinations (Powerline Extra included by default currently)
  • Calculated combinations (36 * 57) = 2,052
  • Combinations for each font are any combination of (plus no flags option):

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 alternate 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

Installs all of the patched Fonts (Warning: This is a lot of Fonts adding up to a large size)

  • Linux & Mac OS X
./install.sh

Examples

./install.sh
All fonts installed to /home/ryan/.fonts

Nerd Fonts Patcher

Patching the font of your own choosing for use with the vim-devicons vim plugin:

  • requires: python2, python-fontforge package (version 20141231 or later, see the install instructions)
  • can alternately be installed on OSX via: brew install fontforge
  • Usage:
./font-patcher PATH_TO_FONT
  • Alternate usage: Alternately the patcher can be run through the FontForge binary using the script flag:
./fontforge -script font-patcher PATH_TO_FONT
usage: font-patcher [-h] [-s] [-q] [-w] [--fontawesome] [--octicons]
                    [--pomicons] [--powerline] [--powerlineextra] [--careful]
                    [-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 be patched (e.g.
                        Inconsolata.otf)

optional arguments:
  -h, --help            show this help message 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 a maximum of 31
                        characters (for safe Windows compatiblity)
  --fontawesome         Add Font Awesome Glyphs (http://fortawesome.github.io
                        /Font-Awesome/)
  --octicons            Add Octicons Glyphs (https://octicons.github.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
  -out [OUTPUTDIR], --outputdir [OUTPUTDIR]
                        The directory to output the patched font file to

Examples

./font-patcher unpatched-sample-fonts/Droid\ Sans\ Mono\ for\ Powerline.otf
./font-patcher unpatched-sample-fonts/Droid\ Sans\ Mono\ for\ Powerline.otf -s -q
./font-patcher unpatched-sample-fonts/Droid\ Sans\ Mono\ for\ Powerline.otf --use-single-width-glyphs --quiet
./font-patcher unpatched-sample-fonts/Droid\ Sans\ Mono\ for\ Powerline.otf -w
./font-patcher unpatched-sample-fonts/Droid\ Sans\ Mono\ for\ Powerline.otf --windows --quiet
./font-patcher unpatched-sample-fonts/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!

  • re-patches all fonts in the unpatched directory
  • mostly for Contributor/Dev use only
  • can optionally limit to specific font pattern (second example)
./gotta-patch-em-all-font-patcher\!.sh
./gotta-patch-em-all-font-patcher\!.sh Hermit

Unstable file paths

| Unstable file paths warning |

| Please make sure to reference via the release branch and not the master branch because paths are subject to being improved/changed per release | | For example (paths shorted for demonstation purposes): | | Instead of: https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/DroidSansMono/< font_path >.otf | | Please use: https://github.com/ryanoasis/nerd-fonts/blob/0.7.0/patched-fonts/DroidSansMono/< font_path >.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
    • Coming soon with external hosting :)
  • PragmataPro

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

Other

  • project/repo previously known as 'nerd-filetype-glyphs-fonts-patcher', 'font-nerd-icons'

License

see LICENSE