44 KiB
Nerd Fonts to projekt który pozwala łączyć czcionki przydatne developerom z czcionki zawierającymi dużą ilość glifów (ikon). Projekt w szczególności skupia się na dodaniu dużej ilości dodatkowych glifów z popularnych czcionek zawierających ikony, takich jak: Font Awesome ➶, Devicons ➶, Octicons ➶, i innych.
Poniższy diagram Sankey pokazuje aktualne zestawy dostępnych glifów (ikon):
Diagram stworzony przy pomocy @SankeyMATICWażne uwagi
- ścieżki do plików gałęzi
master
nie są stabilne. Zweryfikuj odwołania URI w swoim repozytorium - klonowanie tego repozytorium nie jest rekomendowane jeśli nie zamierzasz tworzyć kontrybucji deweloperskich
Spis treści
- 1 - Ręczna
- 2 - Pobieranie archiwalnych wydań
- 3 - Instalacja skryptów
- 4 - Czcionki Homebrew (macOS (OS X))
- 5 - Klonowanie repozytorium
- 6 - Pobieranie za pomocą Ad Hoc Curl
- 7 - Arch Community Repository (Arch Linux)
- 8 - Spatchuj własną czcionke
- Patcher czcionek
- Musisz spatchować je wszystkie - Patcher czcionek!
- Inne czcionki do spatchowania
- Kontrybucje
Dodatkowe Informacje
TL;DR
Nerd Fonts biorą na warsztat popularne czcionki dla programistów i dodają do nich zestawy glifów. Projekt udostępnia także patcher czcionek pozwalający tworzyć własne zestawy, gdyby wśród już istniejących brakowało pożądanej opcji. Aby uzyskać bardziej szczegółowe informacje zajrzyj do wiki. Jeśli szukasz wtyczki do Vim sprawdź sekcję VimDevIcons ➶.
Opcje Instalacji
Jeśli...
Opcja 1.
chcesz szybko pobrać wybraną czcionke? zajrzyj do katalogupatched-fonts/
Opcja 2.
chcesz pobrać rodzinę czcionek wraz ze wszystkimi wariantami (bold, italic, itp.) zajrzyj do sekcji pobieranie archiwalnych wydańOpcja 3.
chcesz automatycznie zainstalowac lub używać skryptów zajrzyj do sekcji instalacja skryptówOpcja 4.
używasz macOS i chcesz skorzystać z czcionek Homebrew zajrzyj do Czcionki HomebrewOpcja 5.
chcesz mieć pełną kontrolę zajrzyj do sekcji klonowanie RepozytoriumOpcja 6.
chcesz użyć komendycurl
lub korzystać ze skryptów zajrzyj do sekcji pobieranie za pomocą Ad Hoc CurlOpcja 7.
używasz Arch Linux i chcesz skorzystać z pakietów Community zajrzyj do sekcji Arch Community RepositoryOpcja 8.
chcesz spatchować własną czcionkę? Jeżeli tak, to zajrzyj do sekcji patcher fontóczcionek
Funkcje
- Skrypt FontForge Python do patchowania czcionek
- Zawiera opcję tworzenia glifów Monospaced (fixed-pitch, fixed-width) lub double-width (non-monospaced)
- Aby uzyskać więcej szczegółów zajrzyj do sekcji Patcher Czcionek
50
już spatchowanych rodziny czcionek- Ponad
1,571,470
unikalnych kombinacji/wariacji spatchowanych czcionek (więcej szczegółów) - Ponad
9,000
kombinacji glifów/ikon (więcej szczegółów)- Aktualne zestawy glifów zawierają: Powerline with Extra Symbols, Font Awesome, Material Design Icons, Weather, Devicons, Octicons, Font Logos (Formerly Font Linux), Pomicons
- Monospaced (fixed-pitch, fixed-width) lub double-width (non-monospaced) wersje glifów dla każdej czcionki
- To odnosi się do glifów Nerd Fonts, nie koniecznie do czcionki jako całości
- Deweloper/Contributor dostarczył bash script pozwalający re-patchować wszystkie czcionki
Zestawy glifów/ikon
🔍 🔍 Możesz teraz łatwo wyszukiwać glify NerdFonts.com za pomocą Cheat Sheet
Seti-UI + Custom
Bazuje na Seti-UI Icomoon z dodatkowymi niestandardowymi glifami.
🔍 📑 Zobacz zestaw na stronie NerdFonts.com
Devicons
Czcionki zawierające ikony, stworzyne dla deweloperów, jedi programowani (?), ninja, HTTPsterów, ewangelistów i nerdsówsic (?) ). / (repo) / (strona)
🔍 📑 Zobacz zestaw na stronie NerdFonts.com
Font Awesome
Czcionki zawierające ikony, i zestaw narzędzi CSS. / (repo) / (strona)
🔍 📑 Zobacz zestaw na stronie NerdFonts.com
Rozszerzenie Font Awesome
🔍 📑 Zobacz zestaw na stronie NerdFonts.com
Material Design Icons
2000+ ikon w stylu Material Design stworzonych przez społeczność. / (repo) / (strona)
🔍 📑 Zobacz zestaw na stronie NerdFonts.com
Czcionki pogodowe
🔍 📑 Zobacz zestaw na stronie NerdFonts.com
Octicons
🔍 📑 Zobacz zestaw na stronie NerdFonts.com*
* Aby uniknąć konfliktów między zestawami ikon, zostały one zmodyfikowane jako 'Complete' czcionki. Aby zobaczyć oryginalne codepoints zajrzyj do Wiki.
Powerline Extra Symbols
Dodatkowe separatory Powerline i glify numerów kolumn (CN). / (repo)
🔍 📑 Zobacz zestaw na stronie NerdFonts.com
IEC Power Symbols
Dodaje nowe znaki do Unicode / (strona)
🔍 📑 Zobacz zestaw na stronie NerdFonts.com
Czcionki Logo (Formerly Font Linux)
Font-logos to font zawierający ikony z logo popularnych dystrybucji linuksowych i innych programów typu open source do umieszczenia na stronach internetowych. / (repo)
🔍 📑 Zobacz zestaw na stronie NerdFonts.com
Pomicons
8 symboli "Pomodoro Technique"®. / (repo)
🔍 📑 Zobacz zestaw na stronie NerdFonts.com
Nazwy ikon w shell
Download provided .sh
files from bin/scripts/lib/ directory somewhere, recommended locations are ~/.local/share/fonts/
or ~/bin/
.
i_all.sh
- helper pozwalający załadować wszystkie pobrane pliki narazi_dev.sh
- Devicons (198 ikon, 8 bez ustalonej nazwy)i_fa.sh
- Font Awesome (675 icons, 111 aliasów)i_fae.sh
- Font Awesome Extension (170 ikon)i_iec.sh
- IEC Power Symbols (5 ikon)i_logos.sh
- Font Logos (20 ikon)i_oct.sh
- Octicons (172 ikon)i_ple.sh
- Powerline Extra Symbols (37 ikon, 2 aliasy, 16 bez ustalonej nazwy)i_pom.sh
- Pomicons (11 ikon)i_seti.sh
- Seti-UI + Custom (50 ikon, 2 aliasy, 5 bez ustalonej nazwy)
Then source
the required file(s) and output $i_*
variables to see icons:
source ~/.local/share/fonts/i_oct.sh
echo $i_oct_heart
# Output:
# ♥
NOTE: Musisz użyć jednego z Nerd Fontów, aby zobaczyć prawidłowe ikony dla niektórych zestawów ikon (Devicons, Font Awesome Extension, Font Logos), ale inne zestawy powinny również działać z ich standardowymi czcionkami.
Spatchowane czcionki
*RFN = Zarezerwowana nazwa fontu [Reserved Font Name]
Kombinacje
- Ponad
1,485,000
unikalnych wariacji/kombinacji (Power Set) spatchowanych fontów:50
spatchowanych fontów (typefaces)719
spatchowanych rodzin fontów (font families)2,876
'kompletne' wariacje/kombinacje'1,485,410'
możliwe wariacje/kombinacje1,488,286
suma wszystkich kombinacji (2,876 + 1,428,110)
- Kombinacje dla każdego fontu są dowolnymi kombinacjami wariacji
Wariacje
- 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 (Wcześniej Font Linux)
- Powerline Extra Symbols
- IEC Power Symbols
- Pomicons
- Windows Compatibility
Instalacja fontów
Option 1: Download and Install Manually
Najlepsza opcja aby szybko pobrać wybrany font.
Pobierz wybrany spatchowany font
Option 2: Release Archive Download
Najlepsza opcja jeśli potrzebujesz archiwum albo kompletnej rodziny fontów i ich wariantów (Bold, Italic, itp.).
czcionki są dostepne do pobrania jako paczki w sekcji ostatnie wydania
Option 3: Instalacja skryptów
Najlepsza opcja jeśli chcesz zautomatyzować instalacje lub skorzystać ze skryptów.
Uwaga: Tylo dla Linux & macOS (OS X) Uwaga: Od teraz wymaga kolonowania repo
Wszystkie czcionki:
- Instalucje wszystkie spatchowane (Ostrzeżenie: Jest to duża ilość fontów o dużym łączym rozmiarze)
./install.sh
Wybrany font:
- Instaluje pojedynczy font
./install.sh <FontName>
./install.sh Hack
./install.sh HeavyData
Opcja 4: Czcionki Homebrew
Najlepsza opcja jeśli używasz macOS i chcesz skorzystac z Homebrew.
Wszystkie czcionki są dostępne na Homebrew Fonts na macOS (OS X)
brew tap caskroom/fonts
brew install font-hack-nerd-font
Opcja 5: Klonowanie Repo
Najlepsza opcja jeśli potrzebujesz pełnej kontroli, wszystkie lub większość fontów, lub dodajesz kontrybucje deweloperskie.
Klonowanie tego repozytorium nie jest wymagane ani wydajne jeśli interesuje cię ograniczona ilość fontów.
Jeśli jednak chcesz sklonować repo upewnij się, by wykonać shallow clone:
git clone --depth 1
Opcja 6: Pobieranie za pomocą Ad Hoc Curl
Opcja jeśli chcesz skorzystać z komendy
curl
albo ze skryptów.
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
Uwaga: przestarzała ścieżka alternatywna: ~/.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
Opcja 7: Arch Community Repository
Most fonts are available via Arch Community packages. Some special packages are in AUR.
Option 8: Spatchuj własny font
Opcja jeśli chcesz spatchować swój własny font albo stworzyć w pełni niestandardowy spatchowany font.
Użyj dołączonego skryptu Pythona by wygenerować spatchowany font i dodać dodatkowe glify.
Zobacz: Patcher fontów
- użyj tej opcji jeśli nie chcesz korzystać z spatchowanych fontów
- nadal będziesz musiał skopiować wygenerowany font do właściwego katalogu w twoim systemie
Patchowanie wybranych przez ciebie fontów z wykorzystaniem VimDevIcons ➶:
- wymagania: Python 3,
python-fontforge
package (wersja20141231
lub nowsza, zobacz instrukcje instalacji) - alternatywan metoda instalacji na OSX:
brew install fontforge
- Użycie:
./font-patcher PATH_TO_FONT
- Alternatywne użycie: Uruchom patchera za pomocą binarnej czcionki FontForge za pomocą flagi skryptu:
./fontforge -script font-patcher PATH_TO_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)
Przykłady
./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
Musisz spatchować je wszystkie - Patcher fontów!
-
do użytków osób dodających kontrybucje lub deweloperów
-
re-patchuje wszystkie czcionki w niespatchowanym katalogu:
./gotta-patch-em-all-font-patcher\!.sh
- opcjonalnie można ograniczyć do wskazanych wzorów nazw fontów:
./gotta-patch-em-all-font-patcher\!.sh Hermit
Kontrybucje
Zobacz contributing.md
Niestabilne ścieżki plików w gałęzi master
⚠️ Warning: Ścieżki plików mogą się różnić w zależności od wydania (zwłaszcza główne wersje)
Odwołuj się do gałęzi danego release a nie do gałęzi master ponieważ ścieżki są uzaleznione od zmian w każdym z wydań
- Na przykład:
- ✅ Używaj:
https://github.com/ryanoasis/nerd-fonts/blob/0.9.0/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf
- ❌ Zamiast:
https://github.com/ryanoasis/nerd-fonts/blob/
master/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf
- ✅ Używaj:
Inne czcionki do spatchowania
- lista innych ciekawych fontów nadających się do patchowania, które nie mogły zostać włączone do projektu ze względó licencyjnych:
- Input Mono (ograniczenia licencyjne) coming with external hosting :)
- PragmataPro (nie jest darmowy)
- Consolas (prawnie zastrzeżony)
- Operator Mono (nie jest darmowy)
- Dank Mono (nie jest darmowy)
Cel projektu
Zobacz Wiki: Project Purpose
Changelog
Zobacz changelog.md
Licencja
MIT © Ryan L McIntyre