OPEN FONT PATCHING WORKFLOW FOLLOWING NERD FONTS RELEASES

Your font.
More symbols.
Same character.

Add Nerd Fonts icons to the typefaces you already use. Keep the source faces, patch every style, validate the result, and get a separate ZIP for each family.

Built around the official Nerd Fonts patcher · TTF and OTF input · local script or Docker Compose

PATCH SESSION VERSIONED
01SOURCE FONT.TTF / .OTF
Ag&
+ ◈ ⌘ ⧉ ✦
02PATCHED FONTNERD FONT
Ag✦
fontsrc/→patched/→releases/*.zip
01ZIP per font family
TTF + OTFNested source files welcome
NF ↗Tracks upstream releases
✓Glyph coverage checked

INSIDE THE PATCH

What actually changes
inside a font?

A font file maps codepoints to drawn shapes called glyphs. The patcher reads the source font, adds icon glyphs from Nerd Fonts collections, writes their mappings, and saves a new font file. Your original file is kept untouched.

A

Shapes

Icon outlines come from the release's glyph files. The Python patcher decides where and how to place them.

B

Codepoints

Each icon gets a codepoint so applications can request it, just as they request a letter.

C

Spacing

Width rules decide whether an icon fits one terminal cell, overhangs, or takes proportional space.

D

Validation

The build checks that thousands of icon codepoints exist before packaging the family.

THE WORKFLOW

From clean source
to terminal-ready.

No manual FontForge session. The repo keeps the patcher, glyph assets, patched faces, and ZIPs in predictable places.

01 ↘

Bring your own font

Place each unpatched family, with its license, in fontsrc/FontName/. Regular, Bold, Italic, and other faces stay together.

02 ↘

Run the guided script

Use the host script or Docker Compose. Select families and confirm the Nerd Fonts version. The same versioned patcher and glyph archive powers either path.

03 ↘

Take the results

Validated faces appear under patched/. Each selected family mode receives a ZIP under releases/ with available font and glyph license notices.

TWO WAYS TO RUN

Choose, confirm,
patch.

Run on Debian/Ubuntu or Homebrew, or use Docker Compose on Windows, Linux, or macOS. Both paths call the same script and create the same outputs. JuliaMono also builds its separately configured Forced variant.

Read the full quickstart

THE ICON FINDER

Find the icon.
Copy its name.
Use your font.

Nerd Fonts' official Icon Finder / Cheat Sheet is the index for the icons added by the patcher. Search by a word such as “branch” or “terminal,” then inspect the icon name and codepoint. Copy the glyph or codepoint into a compatible prompt, editor, or application while selecting your patched font.

01 Search an idea
02 Choose a glyph
03 Use your patched font
Open Nerd Fonts Icon Finder

The finder reflects Nerd Fonts' icon sets. Check the version of your installed patched font when an icon does not render.

A PLACE FOR EVERYTHING

Sources in.
Ready-to-use fonts out.

The upstream patcher and icons stay in a local cache. Generated output is ignored by Git and can be rebuilt from your source files.

INPUT / 01
Aa

fontsrc/

Your original font families and their licenses. Keep these files clean and unpatched.

fontsrc/FontName/
TOOLCHAIN / 02
✦

.cache/

The release ZIP, FontForge patcher, and versioned glyph source files.

.cache/nerd-fonts-X.Y.Z/
FONTS / 03
A✳

patched/

Every validated face, ready for local installation and inspection.

patched/FontName/
ARCHIVES / 04
▣

releases/

One ZIP per family, including the available licensing notices.

FontName-vX.Y.Z.zip

KNOW YOUR WIDTH

The name tells
part of the story.

Upstream Nerd Fonts distinguishes standard, Mono, and Propo styles by how added icons occupy space. This repo's default auto mode chooses between normal and mono patching from the source face.

Understand the naming
NAMEICON WIDTHGOOD FOR
NF Nerd FontCan overhangLarger terminal icons
NFM Nerd Font MonoOne cellStrict terminal grid
NFP Nerd Font PropoVariableGUI and documents
“Forced” is this repo's conflict policy, not an upstream width variant. Propo is not currently exposed by this wrapper.

ONE ICON, THREE LAYOUTS

Width changes where
the next character lands.

NFstandard
│││││
◆AB

Large icon may overhang a following cell.

NFMmono
│││││
◆AB

Icon scales to fit one fixed cell.

NFPpropo
│││││
◆AB

Next character follows the icon's actual width.

Simplified diagrams; real spacing depends on the source font and application. This repo currently builds NF/NFM style modes, not NFP.

TEST BEFORE YOU COMMIT

Not every “mono” font
draws the same grid.

Use Programming Fonts to test a source face with your own code and box characters before patching. Look beyond the family name: check vertical strokes, intersections, ligatures, and whether the next character lands where you expect.

Test fonts on Programming Fonts
01 / ALIGNED PREVIEW

JetBrains Mono

The vertical edges meet the horizontal box strokes in this browser preview.

Screenshot from Programming Fonts: JetBrains Mono draws a Unicode box table with aligned corners and vertical columns, followed by an aligned ASCII border.
Screen capture from Programming Fonts · JetBrains Mono. Same text and size as the comparison.
02 / VISIBLE DRIFT

Lekton

In this preview the Unicode box strokes and the letter cells have different advances; vertical borders step between rows.

Screenshot from Programming Fonts: Lekton preview shows Unicode box corners and vertical bars at different horizontal positions across rows; the simple ASCII border below remains aligned.
Screen capture from Programming Fonts · Lekton. The ASCII +, -, and | border below still aligns.
↗

What to inspect: the top-left corner and the vertical bar beneath it should share an x position. In the Lekton capture they do not. The browser preview measured a Latin M at about 10.5 px and a box-drawing │ at about 12.6 px at this size; JetBrains Mono measured both at about 12.6 px. These captures show unpatched source fonts in one browser, not a verdict on every platform or patched output. A missing glyph may be supplied by a fallback font. Test the final patched font in your own terminal too.

A NOTE ON LICENSES

Patch what you can use.
Share what you can distribute.

The scripts and docs use MIT. Source fonts retain their own terms, and Nerd Fonts glyph sources carry their own notices. Some fonts permit personal patching but prohibit redistribution of modified copies. Check each source license before committing fonts or publishing ZIPs.

Read the license guide

READY WHEN YOU ARE

Give your favorite font
the glyphs it deserves.