Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
44 KiB
リリース | フォント | パッチスクリプト | Wiki ドキュメント | ステッカー | VimDevIcons
Nerd Fonts は、たくさんのグリフ (アイコン) を開発者向けのフォントに追加するためのプロジェクトです。とりわけ、著名な「アイコンフォント」からたくさんのグリフを追加することを目的としています。例えば以下のようなフォントです: Font Awesome ➶, Devicons ➶, Octicons ➶, その他.
以下のサンキーダイアグラムにより、現在含まれているグリフセットがわかります。
このダイアグラムは @SankeyMATIC を使って作成されました。重要
master
ブランチにありますファイルのパスは常に同じとは限りません。リポジトリ内を参照する URI が正しいか確認してください。- あなたが開発に貢献するつもりでもなければ、このリポジトリをクローンするのはお勧めできません(リポジトリのサイズが非常に大きいためです)。
目次
- 1 - 手動インストール
- 2 - リリースアーカイブからのダウンロード
- 3 - インストールスクリプト
- 4 - Homebrew Fonts (macOS (OS X) 用)
- 5 - リポジトリのクローン
- 6 - Curl で直接ダウンロード
- 7 - Arch Community Repository (Arch Linux用)
- 8 - 自分でパッチを当てる
追加情報
TL;DR(長すぎて読めない方へ)
Nerd Fonts は著名なプログラミング用フォントにグリフをまとめて追加したものです。たとえ利用したいフォントにパッチが当たっていない場合でも、パッチスクリプトが利用できます。さらに高度な情報が必要でしたら wiki を見てみてください。もし Vim プラグインをお探しでしたら VimDevIcons ➶ をご覧になると良いでしょう。
フォントの様々なダウンロード方法一覧
あなたがもし……
その 1
すぐに、いずれかのフォントをお望みならば、patched-fonts/
ディレクトリーからダウンロードしてください。その 2
書式(太字、斜体など)をまとめたフォントファミリーをダウンロードしたければ、アーカイブからダウンロードしてください。その 3
インストールを自動化したい、あるいは、スクリプト内で利用したい場合はインストールスクリプトを見てください。その 4
macOS 利用者で Homebrew を使いたい方なら、Homebrew Fontsを見てください。その 5
あなたの手で全てを管理したいのなら、リポジトリのクローンを見てください。その 6
curl
コマンドを使いたい、あるいは、スクリプト内で利用したい場合は Curl で直接ダウンロードを見てください。その 7
Arch Linux 利用者で、Community packages を使いたいならば、非公式 Arch Community Repositoryを見てください。その 8
自分でフォントにパッチを当てたいのなら、パッチスクリプトを見てください。
特徴
- FontForge 用 Python スクリプトを使ってフォントにパッチを当てます。
- 半角 (固定ピッチ、固定幅)、または、全角のグリフを作成できるオプションを含みます。
- さらに詳しくはパッチスクリプトの節を見てください。
50
を数えるパッチ済みフォントファミリー。1,571,470
を超える、パッチ済みフォントの変種とその組み合わせ(詳細はこちら)。9,000
を超えるグリフ(アイコン)を合成しています。- 現在含まれるグリフセットはこちら: Powerline with Extra Symbols, Font Awesome, Material Design Icons, Weather, Devicons, Octicons, Font Logos (以前Font Linuxと呼ばれていたものです), Pomicons
- それぞれのフォントは半角 (固定ピッチ、固定幅)、あるいは、全角グリフを含みます。
- これは必ずしもフォント全体についてではなく、Nerd Font 由来のグリフについて言っています。
- 開発者、あるいは、開発に貢献したい人は、付属の bash スクリプトを使って全てのフォントにパッチを再び当てることができます。
グリフセット
🔍 🔍 Cheat Sheet を使って NerdFonts.com から簡単にグリフを検索できるようになりました。
Wiki: グリフセットとコードポイントのさらなる詳細を見てください。
シェルでアイコン名を参照する
Wiki: シェルでアイコン名を参照するを見てください。
パッチ済みフォント
*RFN = Reserved Font Name (予約済みフォント名)
組み合わせ
1,485,000
を超える、パッチ済みフォントの変種とその組み合わせ (冪集合)。50
のパッチ済みフォント書体。719
のパッチ済みフォントファミリー。2,876
の「完全な」変種とその組み合わせ。'1,485,410'
の 理論上可能な 変種とその組み合わせ。- 合計
1,488,286
になる組み合わせ (2,876 + 1,428,110)。
- 各々のフォントの「組み合わせ」はそれぞれの変種の組み合わせを表しています。
変種
- フラグ指定なし (標準では Seti-UI + Custom と Devicons を含みます)。
- 全角 (可変幅・プロポーショナル)、または、半角 (固定幅) のグリフ。
- 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: リリースアーカイブからダウンロードする
アーカイブや書式の完全なフォントファミリーを手に入れたい場合に一番適した選択肢です。
最新リリースからフォントのパッケージをダウンロード可能です。
その 3: インストールスクリプト
インストールを自動化したい場合やスクリプト内で利用したい場合に一番適した選択肢です。
注意: Linux と macOS (OS X) でのみ可能です。
注意: 今の所、リポジトリのクローンが必要です。
全てのフォント
- 全てのパッチ済みフォントをインストールします (警告: 大変たくさんのフォントがありますので、消費する容量に気をつけてください)。
./install.sh
一つのフォント
- 好きなフォントを一つインストールします。
./install.sh <FontName>
./install.sh Hack
./install.sh HeavyData
その 4: Homebrew Fonts
macOS で、かつ、Homebrew を使いたい場合に一番適した選択肢です。
macOS (OS X) では Homebrew Cask を通じて全てのフォントが利用できます。
brew install font-hack-nerd-font
その 5: リポジトリをクローンする
全てを管理したい、または、全てのフォントが欲しい、または、開発に貢献したい場合に一番適した選択肢です。
もし単に一部のフォントセットだけが入り用ならば、リポジトリのクローンは不要なだけでなく、非効率です (リポジトリのサイズがほとんどの要因です)。
しかしながら、それでもリポジトリをクローンしたいのでしたら、必ず shallow クローンを行いましょう。
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
) は deprecated になりました。
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 Repository
Most fonts are available via Arch Community packages. Some special packages are in AUR.
その 8: 自分でフォントにパッチを当てる
自分で好きなフォントにパッチを当てたり、フォントを十分にカスタマイズしたい場合の選択肢です。
下記に添付の Python スクリプトを使うことで、好きなフォントにグリフを追加することができます。
使い方は Font Patcher をみてください。
- このリポジトリで提供済みのフォントを利用したくない場合に、この作業を行なってください。
- 作成したフォントは、システムのフォントディレクトリーに正しくコピーする必要があります。
VimDevIcons ➶ で利用するために自分で選んだフォントにパッチを当てる方法:
- 必要なもの: Python2 (or Python3) と
python-fontforge
パッケージ (バージョン20141231
以降、インストール方法はこちら) - OSX では別の方法もあります:
brew install fontforge
- 使い方:
./font-patcher PATH_TO_FONT
- もう一つの使い方: script フラグを使うと FontForge のバイナリでスクリプトが実行できます。
./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)
Examples
./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: Project Purpose を見てください。
更新履歴
changelog.md を見てください。
ライセンス
MIT © Ryan L McIntyre