mirror of
https://github.com/ryanoasis/nerd-fonts.git
synced 2024-12-01 16:55:57 +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/
fontfont-awesomefontshacktoberfesticon-fonticonic-fontsocticonspatched-fontspatcherpowerlinepythonshellstatusline
glyph-source-fonts | ||
images | ||
patched-fonts | ||
unpatched-sample-fonts | ||
.gitignore | ||
changelog.md | ||
code_of_conduct.md | ||
font-patcher | ||
gotta-patch-em-all-font-patcher!.sh | ||
install.sh | ||
LICENSE | ||
readme.md |
[![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 |
---|---|
- A fontforge python script to patch any font
- Over 20 already patched font families
- Over 2,000 unique combinations/variations of patched fonts (more details)
- Over 1,000 glyphs/icons combined (more details)
- Originally created for use with vim-devicons ➶ vim plugin
Table of Contents
Glyph Sets
Seti-UI + Custom
- Seti-UI / icomoon plus misc custom glyphs
devicons
font-awesome
octicons
Pomicons
powerline-extra-symbols
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
- use this option if you do not want to use one of the fonts provided
Patched Fonts
- Variations include:
- extra glyphs that are double or single (monospaced) width
- Font Awesome
- GitHub Octicons
- Pomicons
- Full Windows Compatibility (WIP)
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):
- Monospaced extra glyphs
- Windows Compatible
- Font Awesome
- GitHub Octicons
- Pomicons
Glyphs Combined
Diagram created using @SankeyMATIC
Font Install Script
-
Linux & Mac OS X
./install.sh
Examples
./install.sh
All fonts installed to /home/ryan/.fonts
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
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