49 KiB
Nerd Fonts - это проект, который улучшает шрифты с большим количеством глифов (значков). В частности, добавляет большое количество значков из популярных 'символьных шрифтов', таких как Font Awesome, Devicons, Octicons и других.
На следующей Sankey-диаграме показаны текущие наборы глифов:
Диаграма создана с помощью @SankeyMATICВажные Замечания
- Пути к файлам ветки
master
нестабильны. Проверить свою ссылку на репозиторий - Клонировать этот репозиторий не рекомендуется (из-за его размеров), если Вы не собираетесь участвовать в разработке
Содержание
- 1 - Руководство
- 2 - Архив Выпусков
- 3 - Установочный Скрипт
- 4 - Шрифты Homebrew (macOS (OS X))
- 5 - Клонировать репозиторий
- 6 - Скачать Ad Hoc Curl
- 7 - Chocolatey или Scoop (Windows)
- 8 - Arch Linux Repository (Community, AUR)
- 9 - Исправить свой собственный шрифт
Разработчикам / Контрибьютерам
- Улучшитель Шрифтов
- Прокачай все шрифты!
- Другие хорошие шрифты для улучшения
- Сотрудничество в разработке
Дополнительная информация
TL;DR
Nerd Fonts использует популярные программные шрифты и добавляет кучу Значков. Существует также Исправитель шрифтов, если нужный Вам шрифт ещё не исправлен. Более подробную информацию смотрите в wiki. Если Вы ищете плагин Vim, смотрите VimDevIcons.
Различные варианты загрузки шрифтов
Если Вы...
Вариант 1.
хотите быстро взять отдельный шрифт, то скачайте из директорииpatched-fonts/
Вариант 2.
хотите скачать пакет вариаций (bold, italic и т.д.) семейства шрифтов, смотрите скачать архивВариант 3.
хотите автоматизировать установку или использовать в скриптах, смотрите установка скриптомВариант 4.
пользователь macOS и хотите использовать Homebrew, смотрите Homebrew FontsВариант 5.
хотите полный контроль, смотрите клонировать репозиторийВариант 6.
хотите использоватьcurl
команду или использовать её в скриптах, смотрите Ad Hoc Curl DownloadOption 7.
если вы пользуетесь Windows и хотите использовать Chocolatey или Scoop смотрите Неофициальные репозитории Chocolatey или ScoopВариант 8.
пользователь Arch Linux и хотите использовать Community packages, смотрите Arch Community RepositoriesВариант 9.
хотите улучшить свой собственный шрифт, смотрите Улучшитель Шрифтов
Особенности
- Python скрипт FontForge для улучшения любого шрифта
- Включена возможность создания Моноширинных (с фиксированным шагом, с фиксированной шириной) или двойных (не моноширинных) глифов
- Для получения дополнительной информации смотрите раздел Улучшитель шрифтов
53
улучшенных семейства шрифтов- Более
9,000
комбинаций глифов/значков (больше информации)- Текущие наборы глифов включают: Powerline with Extra Symbols, Font Awesome, Devicons, Octicons, Font Logos, Pomicons
- Моноширинная (фиксированный шаг, фиксированная ширина) или "двойные (не моноширинные) глифы" версии каждого шрифта
- Это относится к самим символам Nerd Font, не обязательно ко всему шрифту в целом
- Разработчик/Помощник предоставил bash скрипт для повторного исправления всех шрифтов
Наборы значков
🔍 🔍 Теперь Вы можете легко искать глифы на NerdFonts.com через Cheat Sheet
Смотрите Wiki: Glyph Sets and Codepoints for more details
Наименования значков в оболочке
Исправленные Шрифты
*RFN = Reserved Font Name
Вариации
- не указаны флаги (по умолчанию Seti-UI + Custom и Devicons)
- двойная (variable/proportional) или обычная (fixed/monospaced) ширина символов
- Font Awesome
- Font Awesome Extension
- Material Design Icons
- Weather
- GitHub Octicons
- Font Logos (Ранее известный как Font Linux)
- Powerline Extra Symbols
- IEC Power Symbols
- Pomicons
- Codicons
Установка
Вариант 1: Скачать и установить вручную
Лучший вариант для быстрого получения конкретного индивидуального шрифта.
Скачайте конкретный улучшенный шрифт на Ваш выбор
Вариант 2: Скачать журнал версий
Лучший вариант, если вам нужен архив или полное семейство шрифтовых вариаций (Bold, Italic и т.д.).
Шрифты доступны для скачивания в виде пакетов в последней версии
Вариант 3: Установить скрипт
Лучший вариант, если вы хотите автоматизировать установку или использовать в скриптах.
Замечание: Необходимо клонировать текущее состояние репозитория
Все шрифты:
- Установить все улучшенные шрифты (Замечание: Многие шрифты занимают много памяти)
./install.sh
или используя Powershell (только на Windows):
./install.ps1
Один шрифт:
- Установка одного шрифта по Вашему выбору
./install.sh <FontName>
./install.sh Hack
./install.sh HeavyData
или используя Powershell (только на Windows):
./install.ps1 <FontName>
./install.ps1 Hack
./install.ps1 HeavyData
./install.ps1 FiraCode, Hack
./install.ps1 DejaVuSansMono -WhatIf
Вариант 4: Homebrew Fonts
Лучший вариант, если у Вас macOS и Вы хотите использовать Homebrew.
Все шрифты доступны через Homebrew Cask на macOS (OS X)
brew install font-hack-nerd-font
Вариант 5: Клонировать Репозиторий
Лучший выбор для полного контроля всех или большинства шрифтов, или для помощи в разработке.
Клонирование этого репозитория не требуется и неэффективно, если Вас интересует только ограниченный набор шрифтов.
Однако, если Вы хотите клонировать репозиторий, обязательно выполните мелкое клонирование:
git clone --depth 1
Если вы хотите клонировать суб-директорию, используйте git sparse-checkout
. Для выполнения необходим Git v2.26
:
git clone --filter=blob:none --sparse git@github.com:ryanoasis/nerd-fonts
cd nerd-fonts
git sparse-checkout add patched-fonts/JetBrainsMono
Вариант 6: Скачать Ad Hoc Curl
Вариант для тех, кто хочет использовать
curl
команды или для использования в скриптах.
Linux
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts && curl -fLO https://github.com/ryanoasis/nerd-fonts/raw/HEAD/patched-fonts/DroidSansMono/DroidSansMNerdFont-Regular.otf
Внимание: устаревшие альтернативные пути: ~/.fonts
macOS (OS X)
cd ~/Library/Fonts && curl -fLO https://github.com/ryanoasis/nerd-fonts/raw/HEAD/patched-fonts/DroidSansMono/DroidSansMNerdFont-Regular.otf
Вариант 7: Неофициальные репозитории Chocolatey или Scoop
Вариант для пользователей Windows которые хотят использовать Chocolatey или Scoop.
Пользователи Chocolatey могут скачать опубликованные шрифты в репозиторий Chocolatey Community Repository (CCR):
choco install nerd-fonts-hack
Scoop users can download fonts using the Scoop bucket for Nerd Fonts:
scoop bucket add nerd-fonts
scoop install Hack-NF
Вариант 8: Arch Community Repository
Большинство шрифтов доступно в официальных репозиториях Arch Community packages. Дополнительные пакеты доступны в AUR.
Вариант 9: Улучшить Свой Шрифт
Опция для исправления Вашего собственного шрифта или полная настройка улучшенного шрифта.
Используйте Python-скрипт для командной строки, чтобы создавать улучшенный шрифт из вашего собственного шрифта с дополнительными новыми символами.
Смотрите: Font Patcher для использования
- используйте эту опцию, если вы не хотите использовать один из предоставленных шрифтов
- Вас всё равно придётся копировать созданный шрифт в корректную директорую шрифтов в Вашей системе
Исправление шрифта по собственному выбору:
-
Используя скрипт
- Скачайте скрипт и дополнительные файлы archive и распакуйте архив
- Скачать только скрипт
font-patcher
не достаточно. - Зависимости: Fontforge, Python 3, и пакеты
python-fontforge
,argparse
- Fontforge может быть установлен как пакет
- или на OSX с помощью
brew install fontforge
- или как AppImage
- Использование (рекоменд.):
fontforge -script font-patcher PATH_TO_FONT
- Использование напрямую (более удобный способ, если он у вас сработает):
./font-patcher PATH_TO_FONT
-
Используя Fontforge AppImage
Заметка: выполните
chmod u+x
на AppImage-файле после загрузки. Все пути должны быть абсолютными и необходимо явное задание пути для готовых файлов! Если все располагается в одной директории, вы можете использовать$PWD
.
./FontForge.AppImage -script $PWD/font-patcher $PWD/BaseFont.ttf -out /tmp
-
Используя docker
docker run --rm -v /path/to/fonts:/in:Z -v /path/for/output:/out:Z nerdfonts/patcher [OPTIONS]
Все параметры:
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)
Примеры
./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 Inconsolata.otf --fontawesome
./font-patcher Inconsolata.otf --fontawesome --octicons --pomicons
./font-patcher Inconsolata.otf
./FontForge.AppImage -script /tmp/nerdfonts/font-patcher /tmp/nerdfonts/CascadiaMonoPL-Semibold.ttf --fontawesome -out /tmp
./FontForge.AppImage -script $PWD/font-patcher $PWD/CascadiaMonoPL-Semibold.ttf --octicons -out $HOME
docker run --rm -v ~/myfont/patchme:/in:Z -v ~/myfont/patched:/out:Z nerdfonts/patcher
docker run --rm -v ~/Desktop/myfont/patchme:/in:Z -v ~/Desktop/myfont/patched:/out:Z nerdfonts/patcher --fontawesome
Обычно следует использовать параметр --complete
.
Давайте прокачаем все шрифты!
-
для использования Контрибьюторами или Разработчиками
-
улучшайте все шрифты в 'неулучшенном' каталоге:
./gotta-patch-em-all-font-patcher\!.sh
-
можно задать определенный шаблон имени шрифта:
./gotta-patch-em-all-font-patcher\!.sh Hermit
-
or to specific directory name start:
./gotta-patch-em-all-font-patcher\!.sh /Heavy
Full options:
Usage: ./gotta-patch-em-all-font-patcher!.sh [OPTION] [FILTER]
OPTION:
-c, --checkfont Create the font(s) in check-fonts/ instead
-t, --keeptime Try to preserve timestamp of previously patched
font in patched-fonts/ directory
-v, --verbose Show more information when running
-i, --info Rebuild JUST the readmes
-j, --jobs Run up to 8 patch processes in parallel
-h, --help Show this help
FILTER:
The filter argument to this script is a filter for the fonts to patch.
The filter is a regex (glob * is expressed as [^/]*, see `man 7 glob`)
All font files that start with that filter (and are ttf, otf, or sfd files) will
be processed only.
Example ./gotta-patch-em-all-font-patcher\!.sh "iosevka"
Process all font files that start with "iosevka"
If the argument starts with a '/' all font files in a directory that matches
the filter are processed only.
Example ./gotta-patch-em-all-font-patcher\!.sh "/iosevka"
Process all font files that are in directory "iosevka"
Сотрудничество в разработке
Смотрите contributing.md
Нестабильные пути к файлам
⚠️ Предупреждение: Пути файлов могут изменяться в зависимости от релизов (особенно после крупных релизов)
Ссылка на ветвь release, а не на ветку master, потому что пути изменяются для каждой версии
- Например:
- ✅ Используйте:
https://github.com/ryanoasis/nerd-fonts/blob/0.9.0/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf
- ❌ Вместо:
https://github.com/ryanoasis/nerd-fonts/blob/
master/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf
- ✅ Используйте:
Другие Хорошие Шрифты Для Улучшения
- список дополнительных хороших шрифтов для исправления, которые я не могу предоставить или поделиться из-за лицензии:
- Input Mono
- PragmataPro
- Consolas
- Operator Mono
- Dank Mono
Мотивация Проекта
Смотрите Wiki: Project Purpose
Журнал Изменений
Смотрите changelog.md
Лицензия
Смотрите LICENSE