nerd-fonts/readme.md

12 KiB

nerd fonts

[![GitHub version][img-version-badge]][badge-version] [![Join the chat at https://gitter.im/ryanoasis/nerd-fonts][img-gitter-badge]][badge-gitter] [![Flattr this git repo][img-flattr-badge]][badge-flattr]
Fonts Patcher
fonts-logo-small patcher-logo-small

Table of Contents

Glyph Sets

Seti-UI + Custom

  • Seti-UI / icomoon plus misc custom glyphs image

devicons

font-awesome

octicons

  • octicons (experimental and work-in-progress) image

Pomicons

powerline-extra-symbols

  • Work In Progress... :) 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 Plus Nerd File Types 1000 [TEST]
Anonymice Powerline Plus Nerd File Types Anonymous Pro 2048 [TEST]
Aurulent Sans Mono Plus Nerd File Types 1000 [TEST]
Bitstream Vera Sans Mono Plus Nerd File Types 2048 [TEST]
DejaVu Sans Mono Plus Nerd File Types 2048 [TEST]
Droid Sans Mono for Powerline Plus Nerd File Types 2048 [TEST]
Fira Mono for Powerline Plus Nerd File Types 1000 [TEST]
Heavy Data Mono for Powerline Plus Nerd File Types 2048 [TEST]
Hermut Plus Nerd File Types 1000 [TEST]
Inconsolata for Powerline Plus Nerd File Types 1000 [TEST]
Knack Plus Nerd File Types Hack 2048 [TEST]
Lekton for Powerline Plus Nerd File Types 1000 [TEST]
Literation Mono for Powerline Plus Nerd File Types Liberation 2048 [TEST]
Meslo for Powerline Plus Nerd File Types 2048 [TEST]
Monofur for Powerline Plus Nerd File Types 2400 [TEST]
M+ (MPlus) for Powerline Plus Nerd File Types 1000 [TEST]
ProFont (Windows tweaked) for Powerline Plus Nerd File Types 1200 [TEST]
ProFont (x11) for Powerline Plus Nerd File Types 1000 [FAIL]
ProggyCleanTT Plus Nerd File Types 2048
Sauce Code Powerline Plus Nerd File Types Source 1000 [TEST]
Terminess for Powerline Plus Nerd File Types Terminus Font 1000 FAIL
Ubuntu Mono derivative Powerline Plus Nerd File Types 1000 [TEST]
Ubuntu Mono Plus Nerd File Types 1000 [TEST]

Combinations

  • Over 1,800 unique variations/combinations (Power Set) of patched fonts:
  • 58 font variations (just counting otf and ttf)
  • 32 (2⁵) combinations (1 no flags, 5 flagged options)
  • Calculated combinations (32 * 58) = 1,856
  • Combinations for each font are any combination of (plus no flags option):

Glyphs Combined

image

Diagram created using @SankeyMATIC

Font Install Script

  • 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]
                    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)

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

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

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