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/
fontfont-awesomefontshacktoberfesticon-fonticonic-fontsocticonspatched-fontspatcherpowerlinepythonshellstatusline
5343e43d16
* similar to PR #21 * adds reserved font name info to patched fonts table to better explain some font names |
||
---|---|---|
glyph-source-fonts | ||
images | ||
patched-fonts | ||
temp-generated-fonts-old/DZ | ||
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](https://badge.fury.io/gh/ryanoasis%2Fnerd-fonts.svg)](http://badge.fury.io/gh/ryanoasis%2Fnerd-fonts) *** | **[Fonts](#patched-fonts)** | **[Patcher](#font-patcher)** | |-----------------------------|------------------------------| | [![fonts-logo-small](images/nerd-fonts-character-logo-md.png)](#patched-fonts) | [![patcher-logo-small](images/nerd-fonts-patcher-logo-md.png)](#font-patcher) | ***
- A fontforge python script to patch any font
- Over 20 already patched font families
- Over 1,700 unique combinations/variations of patched fonts (more details)
- Over 900 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
- font-awesome (experimental and work-in-progress)
octicons
- octicons (experimental and work-in-progress)
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 1,700 unique variations/combinations (Power Set) of patched fonts:
- 54 font variations (just counting otf and ttf)
- 32 (2⁵) combinations (1 no flags, 5 flagged options)
- Calculated combinations (32 * 54) = 1,728
- 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)
- usage:
./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