A strong and versatile typeface, designed together with Degarism and inspired by industrial-era grotesques. Mona Sans works well across product, web, and print. Made to work well together with Mona Sans's sidekick, Hubot Sans.
Mona Sans is a variable font. Variable fonts enable different variations of a typeface to be incorporated into one single file, and are supported by all major browsers, allowing for performance benefits and granular design control of the typeface's weight, width, and slant.
Usage
For web, we recommend using Mona Sans.woff2. Define the font with a @font-face rule, set its weight and stretch ranges, and use it:
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:
Important Notices
- ./install.ps19 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
TL;DR
Installation Options
- 1 - Manual
- 2 - Release Archive Download
- 3 - Install Script
- 4 - Homebrew Fonts (macOS (OS X))
- 5 - Clone Repo
- 6 - Ad Hoc Curl Download
- 7 - Chocolatey or Scoop (Windows)
- 8 - Arch User Repository (AUR) (Arch Linux)
- 9 - Patch Your Own Font
Features
- Glyph/Icon sets
- Patched Fonts
- Combinations
- Font Patcher
Developer / Contributor
- Font Patcher
- Gotta Patch 'em All Font Patcher!
- Other Good Fonts to Patch
- Contributing
Project Motivation
Additional Info
- Unstable file paths on master
- Changelog
- License
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...
- ./install.sh <FontName> ./install.sh Hack ./install.sh HeavyData0 want to quickly grab an individual font download from the ./install.sh <FontName> ./install.sh Hack ./install.sh HeavyData1 directory
- ./install.sh <FontName> ./install.sh Hack ./install.sh HeavyData2 want to download a font family package of variations (bold, italic, etc.) see download an archive
- ./install.sh <FontName> ./install.sh Hack ./install.sh HeavyData3 want to automate installing or use in scripts see the Install Script
- ./install.sh <FontName> ./install.sh Hack ./install.sh HeavyData4 are on macOS and want to use Homebrew see Homebrew Fonts
- ./install.sh <FontName> ./install.sh Hack ./install.sh HeavyData5 want complete control then see cloning the repo
- ./install.sh <FontName> ./install.sh Hack ./install.sh HeavyData6 want to use the ./install.sh <FontName> ./install.sh Hack ./install.sh HeavyData7 command or use in scripts see Ad Hoc Curl Download
- ./install.sh <FontName> ./install.sh Hack ./install.sh HeavyData8. are on Windows and want to use Chocolatey or Scoop see Unofficial Chocolatey or Scoop Repositories
- ./install.sh <FontName> ./install.sh Hack ./install.sh HeavyData9 are on Arch Linux and want to use AUR packages see Unofficial Arch User Repositories
- ./install.ps1 <FontName> ./install.ps1 Hack ./install.ps1 HeavyData ./install.ps1 FiraCode, Hack ./install.ps1 CascadiaCode -WindowsCompatibleOnly ./install.ps1 DejaVuSansMono -WhatIf0 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
- ./install.ps1 <FontName> ./install.ps1 Hack ./install.ps1 HeavyData ./install.ps1 FiraCode, Hack ./install.ps1 CascadiaCode -WindowsCompatibleOnly ./install.ps1 DejaVuSansMono -WhatIf1 already patched font families
- Over ./install.ps1 <FontName> ./install.ps1 Hack ./install.ps1 HeavyData ./install.ps1 FiraCode, Hack ./install.ps1 CascadiaCode -WindowsCompatibleOnly ./install.ps1 DejaVuSansMono -WhatIf2 unique combinations/variations of patched fonts (more details)
- Over ./install.ps1 <FontName>
./install.ps1 Hack
./install.ps1 HeavyData
./install.ps1 FiraCode, Hack
./install.ps1 CascadiaCode -WindowsCompatibleOnly
./install.ps1 DejaVuSansMono -WhatIf3 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, Codeicons
- 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
See Wiki: Icon names in shell
Patched Fonts
Font NameFont Name and Repositoryver*RFNStatus3270 Nerd Font32703.0.1NO*RFN = Reserved Font Name
Combinations
- Over ./install.ps1 <FontName>
./install.ps1 Hack
./install.ps1 HeavyData
./install.ps1 FiraCode, Hack
./install.ps1 CascadiaCode -WindowsCompatibleOnly
./install.ps1 DejaVuSansMono -WhatIf4 unique variations/combinations (Power Set) of patched fonts:
- ./install.ps1 <FontName> ./install.ps1 Hack ./install.ps1 HeavyData ./install.ps1 FiraCode, Hack ./install.ps1 CascadiaCode -WindowsCompatibleOnly ./install.ps1 DejaVuSansMono -WhatIf5 patched font typefaces
- ./install.ps1 <FontName> ./install.ps1 Hack ./install.ps1 HeavyData ./install.ps1 FiraCode, Hack ./install.ps1 CascadiaCode -WindowsCompatibleOnly ./install.ps1 DejaVuSansMono -WhatIf6 patched font families
- ./install.ps1 <FontName> ./install.ps1 Hack ./install.ps1 HeavyData ./install.ps1 FiraCode, Hack ./install.ps1 CascadiaCode -WindowsCompatibleOnly ./install.ps1 DejaVuSansMono -WhatIf7 'complete' variations/combinations
- ./install.ps1 <FontName> ./install.ps1 Hack ./install.ps1 HeavyData ./install.ps1 FiraCode, Hack ./install.ps1 CascadiaCode -WindowsCompatibleOnly ./install.ps1 DejaVuSansMono -WhatIf8 possible variations/combinations
- ./install.ps1 <FontName> ./install.ps1 Hack ./install.ps1 HeavyData ./install.ps1 FiraCode, Hack ./install.ps1 CascadiaCode -WindowsCompatibleOnly ./install.ps1 DejaVuSansMono -WhatIf9 total calculated combinations (2,876 + 1,428,110)
- 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
- Codicons
- Windows Compatibility
Font Installation
brew tap homebrew/cask-fonts brew install --cask font-hack-nerd-font0
Best option for quickly getting a specific individual font.
Download the specific patched font of your choice
brew tap homebrew/cask-fonts brew install --cask font-hack-nerd-font1
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
brew tap homebrew/cask-fonts brew install --cask font-hack-nerd-font2
Best option if you want to automate installing or for use in scripts.
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
or, in Powershell (Windows only):
./install.ps1
Single font:
- Installs a single Font of your choice
./install.sh <FontName> ./install.sh Hack ./install.sh HeavyData
or, in Powershell (Windows only):
./install.ps1 <FontName> ./install.ps1 Hack ./install.ps1 HeavyData ./install.ps1 FiraCode, Hack ./install.ps1 CascadiaCode -WindowsCompatibleOnly ./install.ps1 DejaVuSansMono -WhatIf
brew tap homebrew/cask-fonts brew install --cask font-hack-nerd-font3
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 install --cask font-hack-nerd-font
brew tap homebrew/cask-fonts brew install --cask font-hack-nerd-font4
Best option for full control, all or some of the fonts, or contributing to development.
A full clone 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.
If you do want to clone the entire repo be sure to shallow clone:
git clone --depth 1
If you want to clone a sub-directory, use brew tap homebrew/cask-fonts brew install --cask font-hack-nerd-font5. The following example requires brew tap homebrew/cask-fonts brew install --cask font-hack-nerd-font6:
git clone --filter=blob:none --sparse git@github.com:ryanoasis/nerd-fonts cd nerd-fonts git sparse-checkout add patched-fonts/JetBrainsMono
brew tap homebrew/cask-fonts brew install --cask font-hack-nerd-font7
Option if you want to use the ./install.sh <FontName> ./install.sh Hack ./install.sh HeavyData7 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" //github.com/ryanoasis/nerd-fonts/raw/HEAD/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf
Note: deprecated alternative paths: brew tap homebrew/cask-fonts brew install --cask font-hack-nerd-font9
macOS (OS X)
cd ~/Library/Fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" //github.com/ryanoasis/nerd-fonts/raw/HEAD/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf
git clone --depth 10
Option for Windows and wanting to use Chocolatey or Scoop.
Chocolatey users can download fonts published to the Chocolatey Community Repository (CCR):
choco install nerd-fonts-hack
Scoop users can download fonts using the Scoop bucket for Nerd Fonts:
./install.ps10
git clone --depth 11
Option for Arch Linux and wanting to use AUR packages.
The following fonts are available via AUR packages on Arch Linux:
Nerd Fonts Complete Release (double-width)
Nerd Fonts Complete Release (single-width) (out of date)
Nerd Fonts Complete Git (has always the newest fixes)
Nerd Fonts Anonymous Pro
Nerd Fonts DejaVu Complete
Nerd Fonts Fira Code
Nerd Fonts Go Mono
Nerd Fonts Hack
Nerd Fonts Inconsolata
Nerd Fonts Jetbrains Mono
Nerd Fonts Liberation Mono
Nerd Fonts Noto
Nerd Fonts Source Code Pro Complete
Nerd Fonts Terminus
Nerd Fonts Victor Mono
The list is not complete, but you can search for a complete list here.
git clone --depth 12
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), git clone --depth 13 package (version git clone --depth 14 or later, see the install instructions)
alternative install method on OSX: git clone --depth 15
alternative method on Linux: Using the AppImage
alternative method using Docker: Docker Hub
Usage:
./install.ps11
Alternative usage: Execute the patcher with the FontForge binary using the script flag:
./install.ps12
Patching fonts using the AppImage:
Note: git clone --depth 16 the AppImage after download. All supplied paths need to be absolute and an explicit output path is required! If everything is located in the same directory, you can use the git clone --depth 17 shorthand.
./install.ps13
Patching fonts with Docker:
./install.ps14
Full options:
./install.ps15
Examples
./install.ps16
Gotta Patch 'em All Font Patcher!
for Contributor or Developer use
re-patches all fonts in the unpatched directory:
./install.ps17
can optionally limit to specific font name pattern:
./install.ps18
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: git clone --depth 18
- ❌Instead of: git clone --depth 19
Other Good Fonts to Patch
Non exhaustive list of fonts that would benefit from being patched but are not included in Nerd Fonts due to their license (proprietary, commercial, etc.):