

GitHub - ryanoasis/nerd-fonts: Iconic font aggregator, collection, and patcher....
source link: https://github.com/ryanoasis/nerd-fonts
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

readme.md
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:
Diagram created using @SankeyMATICImportant Notices
master
branch file paths are not considered stable. Verify your repository URI references- cloning this repository is not recommended (due to Repo size) unless you are going to be contributing to development
Table of Contents
- 1 - Manual
- 2 - Release Archive Download
- 3 - Install Script
- 4 - Homebrew Fonts (macOS (OS X))
- 5 - Clone Repo
- 6 - Ad Hoc Curl Download
- 7 - Arch User Repository (AUR) (Arch Linux)
- 8 - Patch Your Own Font
Additional Info
TL;DR
Nerd Fonts takes popular programming fonts and adds a bunch of Glyphs. There is also a font patcher available if your desired font isn't already patched. For more high level information see the wiki. If you are looking for the Vim plugin see VimDevIcons ➶.
Various Download Options for Fonts
If you...
Option 1.
want to quickly grab an individual font download from thepatched-fonts/
directoryOption 2.
want to download a font family package of variations (bold, italic, etc.) see download an archiveOption 3.
want to automate installing or use in scripts see the Install ScriptOption 4.
are on macOS and want to use Homebrew see Homebrew FontsOption 5.
want complete control then see cloning the repoOption 6.
want to use thecurl
command or use in scripts see Ad Hoc Curl DownloadOption 7.
are on Arch Linux and want to use AUR packages see Unofficial Arch User RepositoriesOption 8.
want to patch your own font see the Font Patcher
Features
- A FontForge Python script to patch any font
- Includes an option to create Monospaced (fixed-pitch, fixed-width) or double-width (non-monospaced) glyphs
- For more details see the Font Patcher section
44
already patched font families- Over
1,200,000
unique combinations/variations of patched fonts (more details) - Over
2,500
glyphs/icons combined (more details)- Current glyph sets include: Powerline with Extra Symbols, Font Awesome, Material Design Icons, Weather, Devicons, Octicons, Font Logos (Formerly Font Linux), Pomicons
- Monospaced (fixed-pitch, fixed-width) or double-width (non-monospaced) glyphs version of each font
- This refers to the Nerd Font glyphs themselves not necessarily the Font as a whole
- A Developer/Contributor provided bash script to re-patch all the fonts
Glyph Sets
?? You can now search for glyphs easily on NerdFonts.com via the Cheat Sheet
See Wiki: Glyph Sets and Codepoints for more details
Icon names in shell
Patched Fonts
Font Name
Font Name and Repository
*RFN
EM Size
Status
3270 Nerd Font
3270
NO
1000
Anonymice Nerd Font
Anonymous Pro
NO
2048
Arimo
Arimo
NO
2048
Aurulent Sans Mono Nerd Font
NO
1000
BigBlueTerminal
NO
1200
Bitstream Vera Sans Mono Nerd Font
NO
2048
Blex*
IBM Plex
YES
1000
Code New Roman Nerd Font
NO
2048
Cousine Nerd Font
Cousine
NO
1000
DejaVu Sans Mono Nerd Font
NO
2048
Droid Sans Mono Nerd Font
NO
2048
Fantasque Sans Nerd Font
Fantasque Sans
NO
2048
Fira Code Nerd Font*
Fira Code
YES
1000
Fira Mono Nerd Font*
Fira
YES
1000
Go Mono Nerd Font
Go-Mono
NO
1000
Gohu Nerd Font
Gohu TTF,Gohu
NO
1000
Hack Nerd Font
Hack
NO
2048
Hasklug Nerd Font*
Hasklig
YES
1000
Heavy Data Mono Nerd Font
NO
2048
Hermut Nerd Font
NO
1000
Inconsolata Nerd Font
NO
1000
Inconsolata Go Nerd Font
NO
1000
Inconsolata LGC Nerd Font
NO
1000
Iosevka Nerd Font
Iosevka
YES
1000
#83
Lekton Nerd Font
NO
1000
Literation Mono Nerd Font
Liberation
YES
2048
Meslo Nerd Font
NO
2048
Monofur Nerd Font
NO
2400
Monoid Nerd Font
NO
1536
Mononoki Nerd Font
Mononoki
NO
1024
M+ (MPlus) Nerd Font
NO
1000
Noto
NO
1000
OpenDyslexic
NO
1000
Overpass
NO
1000
ProFont (Windows tweaked) Nerd Font
NO
1200
ProFont (x11) Nerd Font
NO
1000
ProggyClean Nerd Font
NO 2048 Imperfect Roboto Mono
NO
2048
Sauce Code Nerd Font
Source
YES
1000
Shure Tech Mono Nerd Font*
Share Tech Mono
YES
1000
Space Mono Nerd Font
Space Mono
NO
1000
Terminess Nerd Font*
Terminus Font
YES
1000
Tinos
YES
2048
Ubuntu Nerd Font
NO
1000
Ubuntu Mono Nerd Font
*RFN = Reserved Font Name
Combinations
- Over
1,200,000
unique variations/combinations (Power Set) of patched fonts:44
patched font typefaces612
patched font families2,448
'complete' variations/combinations1,264,440
possible variations/combinations1,266,888
total calculated combinations (2,448 + 1,264,440)
- Combinations for each font are any combination of Variations
Variations
- no flags given (defaults to only Seti-UI + Custom and Devicons)
- double (variable/proportional) or single (fixed/monospaced) width glyphs
- Font Awesome
- Font Awesome Extension
- Material Design Icons
- Weather
- GitHub Octicons
- Font Logos (Formerly Font Linux)
- Powerline Extra Symbols
- IEC Power Symbols
- Pomicons
- Windows Compatibility
Font Installation
Option 1: Download and Install Manually
Best option for quickly getting a specific individual font.
Download the specific patched font of your choice
Option 2: Release Archive Download
Best option if you want an archive or complete font family of variations (Bold, Italic, etc.).
Fonts are available for download as packages in the latest release
Option 3: Install Script
Best option if you want to automate installing or for use in scripts.
Note: Only for Linux & macOS (OS X) Note: Requires cloning the repo as of now
All fonts:
- Installs all the patched Fonts (Warning: This is a lot of Fonts adding up to a large size)
./install.sh
Single font:
- Installs a single Font of your choice
./install.sh <FontName> ./install.sh Hack ./install.sh HeavyData
Option 4: Homebrew Fonts
Best option if on macOS and want to use Homebrew.
All fonts are available via Homebrew Cask Fonts on macOS (OS X)
brew tap homebrew/cask-fonts brew cask install font-hack-nerd-font
Option 5: Clone the Repo
Best option for full control, all or most of the fonts, or contributing to development.
Cloning of this repository is not required nor efficient (mostly due to Repository size) if you are simply only interested in a limited set of fonts.
However if you do want to clone the repo be sure to shallow clone:
git clone --depth 1
Option 6: Ad Hoc Curl Download
Option if you want to use the
curl
command or for use in scripts.
Linux
mkdir -p ~/.local/share/fonts cd ~/.local/share/fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf
Note: deprecated alternative paths: ~/.fonts
macOS (OS X)
cd ~/Library/Fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf
Option 7: Unofficial Arch User Repository (AUR)
Option for Arch Linux and wanting to use AUR packages.
The following fonts are available via AUR packages on Arch Linux:
- Nerd Fonts Complete (double-width)
- Nerd Fonts Complete (single-width)
- Nerd Fonts DejaVu Complete
- Nerd Fonts Source Code Pro Complete
- Nerd Fonts Git (out of date)
Option 8: Patch Your Own Font
The option for patching your own font or fully customizing the patched font.
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
- use this option if you do not want to use one of the fonts provided
- you will still need to copy the generated font to the correct font directory on your system
Patching the font of your own choosing for use with the VimDevIcons ➶:
- requires: Python 2 (or Python 3),
python-fontforge
package (version20141231
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] [-l] [-q] [-w] [-c] [--fontawesome]
[--fontawesomeextension] [--fontlinux] [--octicons]
[--powersymbols] [--pomicons] [--powerline]
[--powerlineextra] [--material] [--weather]
[--custom [CUSTOM]] [--postprocess [POSTPROCESS]]
[--removeligs] [--configfile [CONFIGFILE]]
[--progressbars | --no-progressbars] [--careful]
[-ext [EXTENSION]] [-out [OUTPUTDIR]]
font
Nerd Fonts Font Patcher: patches a given font with programming and development related glyphs
* Website: https://www.nerdfonts.com
* Version: 2.0.0
* Development Website: https://github.com/ryanoasis/nerd-fonts
* Changelog: https://github.com/ryanoasis/nerd-fonts/blob/master/changelog.md
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, --mono, --use-single-width-glyphs
Whether to generate the glyphs as single-width not double-width (default is double-width)
-l, --adjust-line-height
Whether to adjust line heights (attempt to center powerline separators more evenly)
-q, --quiet, --shutup
Do not generate verbose output
-w, --windows Limit the internal font name to 31 characters (for Windows compatibility)
-c, --complete Add all available Glyphs
--fontawesome Add Font Awesome Glyphs (http://fontawesome.io/)
--fontawesomeextension
Add Font Awesome Extension Glyphs (https://andrelzgava.github.io/font-awesome-extension/)
--fontlinux, --fontlogos
Add Font Linux and other open source Glyphs (https://github.com/Lukas-W/font-logos)
--octicons Add Octicons Glyphs (https://octicons.github.com)
--powersymbols Add IEC Power Symbols (https://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)
--material, --materialdesignicons, --mdi
Add Material Design Icons (https://github.com/templarian/MaterialDesign)
--weather, --weathericons
Add Weather Icons (https://github.com/erikflowers/weather-icons)
--custom [CUSTOM] Specify a custom symbol font. All new glyphs will be copied, with no scaling applied.
--postprocess [POSTPROCESS]
Specify a Script for Post Processing
--removeligs, --removeligatures
Removes ligatures specified in JSON configuration file
--configfile [CONFIGFILE]
Specify a file path for JSON configuration file (see sample: src/config.sample.json)
--progressbars Show percentage completion progress bars per Glyph Set
--no-progressbars Don't show percentage completion progress bars per Glyph Set
--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
Contributing
See contributing.md
Unstable File Paths
⚠️ Warning: File paths may change based on releases (especially major version bumps)
Reference the release branch and not the master branch because paths are subject to 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
- ❌ Instead of:
https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf
- ✅ Use:
Other Good Fonts to Patch
- a list of additional good fonts to patch that cannot be provided or shared due to the license:
- Input Mono (license restriction)
- Possibly coming with external hosting :)
- PragmataPro (not free)
- Consolas (proprietary)
- Operator Mono (not free)
- Dank Mono (not free)
Project Motivation
Changelog
See changelog.md
License
MIT © Ryan L McIntyre
Recommend
-
146
[MOD] Low-RAM Property Patcher for Android ...
-
68
vim-devicons - :symbols: Adds file type glyphs/icons to popular Vim plugins: NERDTree, vim-airline, Powerline, Unite, vim-startify and more
-
182
What is Patched Sur?...
-
716
Diablo II: Resurrected - Offline Patcher A simple tool that remaps & bypasses Diablo II Resurrected module and then continues to patch connection functions to allow local gameplay. More information about the crc32...
-
162
OpenCore Legacy Patcher A python program for building and booting OpenCore on both legacy and modern Macs, see our in-depth
-
50
What is Patched Sur? Patched Sur is a UI patcher for macOS Big Sur, designed to make it easy to run macOS 11 on unsupported Macs. This patcher hopes to allow any user of any knowledge to patch their Mac, while still giving you freedo...
-
45
Files Permalink Latest commit message Commit time
-
5
Sponsored The Bat Cowl Collection: Creating iconic NFTs Presented by Daz 3D Connect with three of the NFTs’ creators, Ty Duperron, M...
-
2
The Iconic Bored Ape Yacht Club to be Released as a Bitcoin NFT collection February 17, 2023
-
2
Exclusive Collection of Warhol’s Iconic Works Now Available as Security Tokens on Freeport March 30, 2023
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK