41 KiB
Nerd Fonts è un progetto che modifica i font mirati agli sviluppatori con un elevato numero di glifi (icone). In particolare per aggiungere un numero elevato di glifi extra da popolari 'font iconici' come Font Awesome ➶, Devicons ➶, Octicons ➶, ed altri.
Il seguente diagramma di flusso Sankey mostra gli attuali set di glifi inclusi:
Informazioni Importanti
- I path dei file presenti nel branch
master
non sono considerati stabili. Verificate sempre le referenze degli URI nel vostro repository - Clonare questo repository non è consigliato (a causa delle sue dimensioni) a meno che non vogliate contribuire allo sviluppo
Sommario
- 1 - Manuale
- 2 - Download degli Archivi di Release
- 3 - Script d’Installazione
- 4 - Homebrew Fonts (macOS (OS X))
- 5 - Clonare il Repo
- 6 - Download Ad Hoc con Curl
- 7 - Arch Community Repository(Arch Linux)
- 8 - Modifica il tuo Font
- Font Patcher
- Gotta Patch 'em All Font Patcher!
- Altri Font che Possono Essere Modificati
- Come Contribuire
Altre Informazioni
TL;DR
Nerd Fonts prende i font più popolari fra i programmatori e li modifica aggiungendoci una serie di glifi. È inoltre disponibile un font patcher se il font che desiderate non è già stato modificato. Per informazioni più approfondite potete leggere la wiki. Se invece state cercando il plugin per vim guardate VimDevIcons ➶.
Opzioni di Download dei Font Disponibili
Se tu...
Opzione 1.
vuoi scaricare rapidamente un unico font, fallo dalla cartellapatched-fonts/
Opzione 2.
vuoi scaricare un insieme di varianti di una famiglia di font (grassetto, italico, ecc.) guarda come scaicare un archivioOpzione 3.
vuoi automatizzare l’installazione o l’uso in uno script guarda come farlo con lo Script d’InstallazioneOpzione 4.
sei su macOS e preferisci usare Homebrew, guarda come fare con Homebrew FontsOpzione 5.
vuoi il controllo completo, guarda come clonare il repoOpzione 6.
vuoi usare il comandocurl
o utilizzarlo nei tuoi script, guarda le istruzioni per Ad Hoc Curl DownloadOpzione 7.
sei su Arch Linux e preferisci usare i pacchetti Community, guarda come fare con gli Arch Community RepositoriesOpzione 8.
vuoi modificare un font in tuoi possesso, guarda come usare il Font Patcher
Caratteristiche
- Uno scropt di FontForge scritto in Python per modificare qualsiasi font
- Include un’opzione per creare glifi Monospaziati (passo fisso, larghezza fissa) o glifi doppia larghezza (non monospaziati)
- Per maggiori dettagli leggi la sezione Font Patcher
50
famiglie di font modificati già presenti- Più di
1.571.470
combinazioni/variazioni uniche dei font modificati (maggiori dettagli) - Più di
9.000
glifi/icone in tutto (maggiori dettagli)- I set di glifi correnti includono: Powerline con Simboli Extra, Font Awesome, Material Design Icons, Weather, Devicons, Octicons, Font Logos (Formerly Font Linux), Pomicons
- Versioni dei glifi Monospaziati (passo fisso, larghezza fissa) o a doppia larghezza (non monospaziati) per ogni font
- Questo si riferisce ai glifi aggiunti da Nerd Font non necessariamente al font nella sua interezza
- Uno script bash fornito agli sviluppatori/contributori per modificare tutti i font
Set di Glifi
🔍 🔍 Ora puoi cercare i glifi con facilità su NerdFonts.com attraverso il Cheat Sheet
Leggi la Wiki: Set di Glifi e Codepoints per maggiori dettagli
Nomi delle Icone per la shell
Leggi la Wiki: Nomi delle Icone per la shell
Font Modificati
*NFR = Nome Font Riservato
Combinazioni
- Più di
1,485,000
variazioni/combinazioni uniche (Power Set) di font modificati:50
caratteri font modificati719
famiglie font modificate2,876
variazioni/combinazioni 'complete''1,485,410'
variazioni/combinazioni possibili1,488,286
combinazioni tatali calcolate (2,876 + 1,428,110)
- Le combinazioni per ogni font sono qualsiasi combinazione delle Variazioni
Variazioni
- se nessun parametro viene passato (default a solo Seti-UI + Personalizzato e Devicons)
- glifi a spazio doppio (variabile/proporzionale) o singolo (fisso/monospaziato)
- Font Awesome
- Font Awesome Extension
- Material Design Icons
- Weather
- GitHub Octicons
- Font Logos (Formerly Font Linux)
- Powerline Extra Symbols
- IEC Power Symbols
- Pomicons
- Compatibilità con Windows
Installazione dei Font
Opzione 1: Download ed Installazione Manuale
È l’opzione migliore per ottenere rapidamente uno specifico font singolo.
Scarica il font modificato che desideri
Opzione 2: Scarica l‘Archivio della Release
È l’opzione migliore se volete un archivio o una famiglia font completa con le sue variazioni (grassetto, italico, ecc.).
I font sono disponibili per il download come archivi nelle release recenti
Opzione 3: Script d’Installazione
È l‘opzione migliore se volete automatizzare l’installazione o per usarlo nei tuoi script.
Nota: Solamente per Linux e macOS (OS X) Nota: Richiede di clonare il repo al commit corrente
Tutti i Font:
- Installa tutti i font modificati (Attenzione: Il totale dei font è molto alto ed occupano molto spazio su disco)
./install.sh
Font Singolo:
- Installa un singolo font di vostra scelta
./install.sh <NomeFont>
./install.sh Hack
./install.sh HeavyData
Opzione 4: Homebrew Fonts
È l‘opzione migliore se stai usando macOS e vuoi utilizzare Homebrew.
Tutti i font sono disponibili via la Homebrew Cask su macOS (OS X)
brew install font-hack-nerd-font
Opzione 5: Clonare il Repo
È l‘opzione migliore per avere il controllo completo, tutti o la maggioranza dei font, o per contribuire allo sviluppo.
Clonare questo repository non è richiesto o efficiente (vista la dimensione del repository) se siete interessati in un insieme limitato di font.
Tuttavia, se volete clonare il repository, assicuratevi di fare un clone shallow:
git clone --depth 1
Opzione 6: Download Ad Hoc con Curl
Opzione se volete utilizzare il comando
curl
o per l’utilizzo negli script.
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/HEAD/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf
Nota: path alternativo deprecato: ~/.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/HEAD/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf
Opzione 7: Arch Community Repositories
Most fonts are available via Arch Community packages. Some special packages are in AUR.
Opzione 8: Modifica il tuo Font
Opzione per modificare il tuo font o personalizzare completamente il font modificato.
Utilizza lo script da linea di comando in Python per generare un font modificato partendo da uno in tuo possesso per aggiungere i glifi extra
Leggi: Font Patcher per come invocarlo
- usa questa opzione se non vuoi utilizzare uno dei font già presenti
- dovrai comunque copiare il font generato nella cartella dei font corretta per il tuo sistema
Modificare il font di tua scelta per utilizzare i VimDevIcons ➶:
- richiede: Python 3, il modulo
python-fontforge
(versione20141231
o successiva, leggi le istruzioni d’installazione) - metodi d’installazione alternativo su OSX:
brew install fontforge
- Utilizzo:
./font-patcher PATH_DEL_FONT
- Utilizzo alternativo: Esegui il patcher con il binario di FontForge usando l’opzione seguente:
./fontforge -script font-patcher PATH_DEL_FONT
Nerd Fonts Patcher v3.0.2 (4.4.0) (ff 20230101)
usage: font-patcher [-h] [-v] [-s] [-l] [-q] [-c] [--careful] [--removeligs] [--postprocess [POSTPROCESS]] [--configfile [CONFIGFILE]] [--custom [CUSTOM]]
[-ext [EXTENSION]] [-out [OUTPUTDIR]] [--glyphdir [GLYPHDIR]] [--makegroups [{-1,0,1,2,3,4,5,6}]] [--variable-width-glyphs]
[--has-no-italic] [--progressbars | --no-progressbars] [--debug [{0,1,2,3}]] [--dry] [--xavgcharwidth [XAVGWIDTH]] [--fontawesome]
[--fontawesomeextension] [--fontlogos] [--octicons] [--codicons] [--powersymbols] [--pomicons] [--powerline] [--powerlineextra]
[--material] [--weather]
font
Nerd Fonts Font Patcher: patches a given font with programming and development related glyphs
* Website: https://www.nerdfonts.com
* Version: 3.0.2
* Development Website: https://github.com/ryanoasis/nerd-fonts
* Changelog: https://github.com/ryanoasis/nerd-fonts/blob/-/changelog.md
positional arguments:
font The path to the font to patch (e.g., Inconsolata.otf)
options:
-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
-c, --complete Add all available Glyphs
--careful Do not overwrite existing glyphs if detected
--removeligs, --removeligatures
Removes ligatures specificed in JSON configuration file
--postprocess [POSTPROCESS]
Specify a Script for Post Processing
--configfile [CONFIGFILE]
Specify a file path for JSON configuration file (see sample: src/config.sample.json)
--custom [CUSTOM] Specify a custom symbol font, all glyphs will be copied; absolute path suggested
-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
--glyphdir [GLYPHDIR]
Path to glyphs to be used for patching
--makegroups [{-1,0,1,2,3,4,5,6}]
Use alternative method to name patched fonts (recommended)
--variable-width-glyphs
Do not adjust advance width (no "overhang")
--has-no-italic Font family does not have Italic (but Oblique)
--progressbars Show percentage completion progress bars per Glyph Set (default)
--no-progressbars Don't show percentage completion progress bars per Glyph Set
--debug [{0,1,2,3}] Verbose mode (optional: 1=just to file; 2*=just to terminal; 3=display and file)
--dry Do neither patch nor store the font, to check naming
--xavgcharwidth [XAVGWIDTH]
Adjust xAvgCharWidth (optional: concrete value)
Symbol Fonts:
--fontawesome Add Font Awesome Glyphs (http://fontawesome.io/)
--fontawesomeextension
Add Font Awesome Extension Glyphs (https://andrelzgava.github.io/font-awesome-extension/)
--fontlogos, --fontlinux
Add Font Logos Glyphs (https://github.com/Lukas-W/font-logos)
--octicons Add Octicons Glyphs (https://octicons.github.com)
--codicons Add Codicons Glyphs (https://github.com/microsoft/vscode-codicons)
--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)
Esempi
./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!
-
per l’utilizzo da parte degli Sviluppatori o Contributori
-
ri applica le modifiche a tutti i font nella cartella degli originali:
./gotta-patch-em-all-font-patcher\!.sh
- può essere limitato opzionalmente con un nome di font specifico:
./gotta-patch-em-all-font-patcher\!.sh Hermit
Come Contribuire
Leggi il file contributing.md
Path dei File Instabili
⚠️ Attenzione: I path dei file possono cambiare in base alle release (specialmente al passaggio di una versione maggiore )
Fai sempre riferimento al branch release e non al branch master perché i path possono essere soggetti a cambiamenti ad ogni release
- Per esempio:
- ✅ Utilizza:
https://github.com/ryanoasis/nerd-fonts/blob/0.9.0/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf
- ❌ Al posto di:
https://github.com/ryanoasis/nerd-fonts/blob/
master/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf
- ✅ Utilizza:
Altri Font che Possono Essere Modificati
- una lista di altri font interessanti che non possono essere aggiunti per via delle loro licenze:
- Input Mono (restrizione della licenza)
- Potrebbe essere inserito in futuro attraverso un hosting esterno :)
- PragmataPro (font a pagamento)
- Consolas (propietario)
- Operator Mono (font a pagamento)
- Dank Mono (font a pagamento)
Motivazioni del Progetto
Leggi la Wiki: Motivazioni del Progetto
Changelog
Leggi il file changelog.md
Licenza
MIT © Ryan L McIntyre