47 KiB
Nerd Fonts це проект, який виправляє шрифти для розробників за допомогою великої кількісті гліфів (інакше кажучи іконок). Спеціально для додавання великої кількості додаткових гліфів від популярних 'іконних шрифтів' таких як Font Awesome ➶, Devicons ➶, Octicons ➶, та інших.
Наступна Sankey flow діаграма показує включені поточні набори гліфів:
Діаграма, створена за допомогою @SankeyMATICВажливі повідомлення
- шляхи до файлів в гілці
master
не вважаються стабільними. Verify your repository URI references - клонування цього репозиторію не рекомендується (через розміри репозиторію) якщо тільки ви не плануєте розвивати проект
Зміст
- 1 - Посібник
- 2 - Архів завантажень релізів
- 3 - Установчі скрипти
- 4 - Нативні шрифти (macOS (OS X))
- 5 - Клонування репозиторію
- 6 - Конкретний випадок завантаження за допомогою Curl
- 7 - Репозиторій користувачів Arch (Community) (Arch Linux)
- 8 - Налаштуйте свій власний шрифт
- Патчер шрифтів
- Збираємося патчить їх всіх, Патчер Усіх Шрифтів!
- Інші хороші шрифти для патча
- Розвиток проекту
Додаткова інформація
Надто довго. Не читав
Nerd Fonts використовує популярні програмні шрифти і додає купу Значків. Існує також патчер шрифтів, якщо бажаний шрифт ще не виправлений. Для отримання більш детальної інформації дивись wiki. Якщо ви шукаєте плагін Vim, дивись VimDevIcons ➶.
Різні параметри завантаження шрифтів
Якщо ви...
Варіант 1.
бажаю швидко завантажити індивідуальний шрифт зpatched-fonts/
каталогуВаріант 2.
бажаю завантажити пакет варіацій сімейства шрифтів (жирний, курсив, тощо), дивись завантажити архівВаріант 3.
бажаю автоматизувати встановлення або використання в скриптах, дивись Встановити скриптиВаріант 4.
Я на macOS та бажаю використовувати нативні шрифти, дивись Нативні ШрифтиВаріант 5.
бажаю повний контроль, дивись клонування репозиторіїВаріант 6.
бажаю використовуватиcurl
команду або використовувати в скриптах дивись Конкретний випадок завантаження за допомогою CurlВаріант 7.
Я на Arch Linux та бажаю використовувати Community packages, дивись Неофіційні репозиторії користувачів ArchВаріант 8.
Бажаю пропатчити власний шрифт, дивись Патчер шрифтів
Особливості
- FontForge Python script щоб патчити будь-який шрифт
- Включає можливість створення Monospaced (фіксованої ширини) чи подвійної ширини (non-monospaced) glyphs
- Докладніше дивись розділ Патчер шрифтів
50
вже виправлені сімейства шрифтів- Понад
1,571,470
унікальних комбінацій / варіацій пропатченних шрифтів (детальніше) - Понад
9,000
гліфів / іконок у поєднанні (детальніше)- Поточні набори гліфів включають: Powerline with Extra Symbols, Font Awesome, Material Design Icons, Weather, Devicons, Octicons, Font Logos (Раніше Font Linux), Pomicons
- Monospaced (фіксованої ширини) чи подвійної ширини (non-monospaced) версія кожного шрифту
- Це стосується Nerd Font гліфів, але не обов'язково Шрифту в цілому
- Розробник/Контриб'ютор постачає bash скріпт щоб повторно пропатчити всі шрифти
Набори гліфів
🔍 🔍 Тепер ви можете легко шукати гліфи на NerdFonts.com за допомогою Cheat Sheet
Дивись Wiki: Набори гліфів та Коди детальніше
Імена іконок в shell
Дивись Wiki: Імена іконок в shell
Пропатченні шрифти
*RFN = Зарезервоване ім'я шрифту
Комбінації
- Понад
1,485,000
унікальні варіанти / комбінації (Power Set) пропатченних шрифтів:50
пропатченних типів шрифтів719
пропатченних сімейств шрифтів2,876
'завершених' варіацій / комбінацій1,485,410
можливих варіацій / комбінацій1,488,286
загальна кількість обчислених комбінацій (2,876 + 1,485,410)
- Комбінації для кожного шрифту - це будь-яка комбінація варіації
Варіації
- Не дано додаткових параметрів (базові параметри 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 (Раніше Font Linux)
- Powerline Extra Symbols
- IEC Power Symbols
- Pomicons
- Сумісність з Windows
Встановлення шрифту
Варіант 1: Завантажити та встановити самостійно
Найкращий варіант для швидкого завантаження індивідуального шрифта.
Завантажте конкретний пропатченний шрифт на ваш вибір
Варіант 2: Завантажити реліз архіву
Найкращий варіант, якщо ви хочете archive або повне сімейство шрифтів в варіації (жирний, курсивний тощо)
Шрифти доступні для завантаження як пакети в останньому релізі
Варіант 3: Встановити скрипти
Найкращий варіант, якщо ви хочете автоматизувати встановлення або для використання в скриптах.
Примітка: Лише для Linux та macOS (OS X) Примітка: необхідне клонування репозиторію станом на даний час
Усі шрифти:
- Встановлює всі пропатченні шрифти (Увага: Це багато шрифтів, що додають до великого розміру)
./install.sh
Одиничний шрифт:
- Встановлює єдиний шрифт на ваш вибір
./install.sh <FontName>
./install.sh Hack
./install.sh HeavyData
Варіант 4: Нативні шрифти
Найкращий варіант, якщо ви використовуєте macOS і хочете використовувати нативні шрифти.
Усі шрифти доступні через нативні Cask on macOS (OS X)
brew install font-hack-nerd-font
Варіант 5: Клонування репозиторію
Найкращий варіант для повного контролю, всіх чи майже всіх шрифтів, чи контриб'юції до розробки.
Клонування цього репозиторію не не потрібне (в основному за рахунок розміру репозиторію) якщо вас просто цікавить обмежений набір шрифтів.
Однак якщо ви хочете клонувати увесь проект, не забудьте зробити неглибоке клонування:
git clone --depth 1
Варіант 6: Конкретний випадок завантаження за допомогою Curl
Варіант якщо ви хочете використовувати
curl
команду або для використання в скриптах.
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
Примітка: застарілі альтернативні шляхи: ~/.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
Варіант 7: Неофіційні репозиторії користувачів Arch (Community)
Most fonts are available via Arch Community packages. Some special packages are in AUR.
Варіант 8: Налаштуйте свій власний шрифт
Варіант для пропатчити твій особистий шрифт чи повністю налаштувати пропатченний шрифт.
Використовуйте наданий сценарій командної строки Python, щоб створити виправлений шрифт із власного, щоб отримати нові доповненні гліфи
Дивіться: Патчер шрифтів для використання
- оберіть цю опцію, якщо ви не бажаєте використовувати один із наданих шрифтів
- вам все одно доведеться скопіювати згенерований шрифт у правильну директорію шрифтів у вашій системі
Виправлення шрифту за власним вибором для використання з VimDevIcons ➶:
- вимагає: Python 3,
python-fontforge
пакет (версіі20141231
чи пізніше, дивись інструкції по встановленню) - альтернативний метод інсталювання на OSX:
brew install fontforge
- Використання:
./font-patcher ШЛЯХ_ДО_ШРИФТА
- Альтернативне використання: Виконайте патч із FontForge binary використовуючи параметри:
./fontforge -script font-patcher ШЛЯХ_ДО_ШРИФТА
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 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!.sh
-
може додатково обмежуватися певним шаблоном імені шрифту:
./gotta-patch-em-all-font-patcher!.sh Hermit
Контриб'юція
Дивись contributing.md
Нестабільні шляхи до файлів
:увага: Попередження: шляхи до файлів можуть змінюватися залежно від випусків (особливо основних змін версій)
Посилання на гілку випуску та не на гілку ~~ 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: Мета проекту
Журнал змін
Дивись changelog.md
Ліцензія
MIT © Ryan L McIntyre