44 KiB
Nerd Fonts to projekt który pozwala łączyć fonty przydatne developerom z fontami 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 fontów 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 - Fonty Homebrew (macOS (OS X))
- 5 - Klonowanie repozytorium
- 6 - Pobieranie za pomocą Ad Hoc Curl
- 7 - Arch User Repository (AUR) (Arch Linux)
- 8 - Spatchuj własny font
- Patcher fontów
- Musisz spatchować je wszystkie - Patcher fontów!
- Inne Fonty do spatchowania
- Kontrybucje
Dodatkowe Informacje
TL;DR
Nerd Fonts biorą na warsztat popularne fonty dla programistów i dodają do nich zestawy glifów. Projekt udostępnia także patcher fontów 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ć wybrany font zajrzyj do katalogupatched-fonts/
Opcja 2.
chcesz pobrać rodzinę fontów wraz ze wszystkimi wariantami (bold, italic, itp.) zajrzyj do sekcji pobieranie archiwalnych wydańOpcja 3.
chcesz automate zainstalowac lub używać skryptów zajrzyj do sekcji instalacja skryptówOpcja 4.
używasz macOS i chcesz skorzystać z fontów Homebrew zajrzyj do Fonty 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 AUR packages zajrzyj do sekcji nieoficjalne Arch User Repository (AUR)Opcja 8.
chcesz spatchować własny font zajrzyj do sekcji patcher fontów
Funkcje
- Skrypt FontForge Python do patchowania fontów
- 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 fontów
50
już spatchowane rodziny fontów- Ponad
1,571,470
unikalnych kombinacji/wariacji spatchowanych fontów (więcej szczegółów) - Ponad
2,400
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żdego fontu
- To odnosi się do glifów Nerd Font, nie koniecznie do fontu jako całości
- Deweloper/Contributor dostarczył bash script pozwalający re-patchować wszystkie fonty
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
Font zawierający ikony, stworzyny dla deweloperów, jedi programowani, ninja, HTTPsterów, ewangelistów i nerdsówsic). / (repo) / (strona)
🔍 📑 Zobacz zestaw na stronie NerdFonts.com
Font Awesome
Font zawierający ikony, i zestaw narzędzi CSS. / (repo) / (strona)
🔍 📑 Zobacz zestaw na stronie NerdFonts.com
Font Awesome Extension
🔍 📑 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
Weather
🔍 📑 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' fonty. 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
Font Logos (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_linux.sh
- Font Linux (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 Linux), ale inne zestawy powinny również działać z ich standardowymi czcionkami.
Spatchowane fonty
*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.).
Fonty 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
Waszystkie fonty:
- Instalucje wszystkie spatchowane fonty (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: Fonty Homebrew
Najlepsza opcja jeśli używasz macOS i chcesz skorzystac z Homebrew.
Wszystkie fonty są dostępne na Homebrew Fonts na macOS (OS X)
brew tap caskroom/fonts
brew install --cask 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/master/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/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf
Opcja 7: Nieoficjalne Arch User Repository (AUR)
Opcja dla Arch Linux jeśli chcesz wykorzystać AUR packages.
Następujące fonty są dostępne za pośrednictwem AUR packages na 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)
- Nerd Fonts Fira Code
- Nerd Fonts Terminus
- Nerd Fonts Liberation Mono
- Nerd Fonts Go Mono
- Nerd Fonts Anonymous Pro
- Nerd Fonts Noto
- Nerd Fonts Inconsolata
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 2 (lub 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
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 specificed 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
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 fonty 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 Fonty 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