42 KiB
Versões | Tipos de Letra | Modificador de Tipo de Letra | Documentação Wiki | Autocolantes | VimDevIcons
Nerd Fonts é um projeto que adere um grande número de glifos (ícones) a tipos de letra desenhados para programadores. Estes glifos são provenientes de vários «tipos de letra icónicos», tais como: Font Awesome ➶, Devicons ➶, Octicons ➶, entre outros.
O diagram Sankey mostra os conjuntos de glifos incluídos abaixo:
Diagrama criado utilizando @SankeyMATIC.Avisos Importantes
- Os caminhos dos ficheiros no branch
master
não são considerados estáveis. Verifica as referências URI do teu repositório. - Fazer clone deste repositório não é recomendado (devido ao tamanho do repositório). Apenas deves dar clone ao repositório caso pretendas contribuir para o desenvolvimento do projeto.
Índice de Conteúdo
- 1 - Manualmente
- 2 - Transferência do ficheiro de lançamento
- 3 - Execução de instalação
- 4 - Tipos de letras do Homebrew (macOS (OS X))
- 5 - Dar clone ao repositório
- 6 - Transferir ad hoc com
curl
- 7 - Repositório do Community do Arch (Arch Linux)
- 8 - Criar o teu tipo de letra
- Modificador de tipo de letra
- Modificador de fontes– «Modifica tudo!»
- Outros bons tipos de letra para modificar
- Contribuir
Informações Adicionais
TL;DR
Nerd Fonts adere um conjunto de glifos a tipos de letra populares feitos para programação. Existe também um modificador de tipo de letra, caso o tipo de letra que queiras utilizar ainda não esteja modificado. Para mais informação lê a wiki. Caso estejas à procura do plugin para Vim, vê: VimDevIcons ➶.
Diferentes opções para transferir os tipos de letra
Se tu...
Opção 1.
queres rapidamente utilizar um tipo de letra individual, transfere-o do diretório:patched-fonts/
Opção 2.
queres transferir uma família de tipos de letra com variações (negrito, itálico, etc.) vê: Transferir um ficheiroOpção 3.
queres automatizar a instalação ou utilizar um executador vê: Execução de instalaçãoOpção 4.
utilizas macOS e queres utilizar Homebrew vê: Tipos de letras do HomebrewOpção 5.
queres controlo total, então vê: Dar clone ao repositórioOpção 6.
queres utilizar o comandocurl
ou executadores vê: Transferir ad hoc comcurl
Opção 7.
utilizas Arch Linux e queres utilizar o Community packages vê: Repositório do Utilizador do CommunityOpção 8.
queres modificar o teu tipo de letra vê: Modificador de tipo de letra
Características
- Um executador de FontForge em Python para modificar qualquer tipo de letra
- Inclui a opção de criar glifos monoespaçados (de largura fixa) ou glifos de largura dupla (não monoespaçados)
- Para mais detalhes, vê a seção Modificador de tipo de letra
- Já existem
50
tipos de letra modificados - Mais de
1,428,000
combinações/variações únicas de tipos de letra modificados (mais detalhes) - Cerca de
9,000
glifos/ícones combinados (mais detalhes)- Os atuais conjuntos de glifos incluem: Powerline with Extra Symbols, Font Awesome, Material Design Icons, Weather, Devicons, Octicons, Font Logos (Antigamente Font Linux), Pomicons
- Versões de glifos monoespaçados (de largura fixa) ou glifos de largura dupla (não monoespaçados) para cada tipo de letra
- Isto refere-se aos glifos do Nerd Font, não necessariamente ao tipo de letra
- Um desenvolvedor/contribuidor criou um executador em Unix Shell para modificar novamente todos os tipos de letra
Conjuntos de glifos
🔍 🔍 Agora podes procurar facilmente por glifos no NerdFonts.com através da Cheat Sheet
Vê Wiki: Conjuntos de glifos e pontos de código para obteres mais detalhes
Nomes dos ícones em Unix Shell
See Wiki: Nomes dos ícones em Unix Shell
Tipos de letra
*RFN = Nome reservado do tipo de letra
Combinações
- Há mais de
1,485,000
variações/combinações únicas (Power Set) de tipos de letra modificados:50
tipos de letra modificado719
famílias de tipo de letra modificadas2,876
variações/combinações «completas»'1,485,410'
variações/combinações possíveis-
1,488,286
combinações totais calculadas (2,876 + 1,428,110)
- As combinações para cada tipo de letra são quaisquer combinações de Variações
Variações
-
não são utilizados parâmetros (utiliza por definição Seti-UI + Custom e Devicons)
-
glifos de largura dupla (variável/proportional) ou normal (fixo/monoespaçado)
-
Font Logos (Antigamente Font Linux)
-
Compatibilidade com Windows
Opções de instalação
Opção 1: Transferir e instalar Manualmente
Melhor opção para obter rapidamente um tipo de letra específico.
Transfere o tipo de letra modificado que quiseres
Opção 2: Transferência do Ficheiro de Lançamento
Melhor opção caso queiras um ficheiro ou a família completa do tipo de letra com as diferentes variações (negrito, itálico, etc.).
Os tipos de letra estão disponíveis como pacotes na última versão
Opção 3: Execução de instalação
Melhor opção caso queiras automatizar a instalção ou utilizar em executadores.
Nota: Apenas para Linux & macOS (OS X) Nota: Por agora, implica dar clone do repositório
Todos os tipos de letra:
- Instala todos os tipos de letra modificados (Atenção: São muitos tipos de letra, ocupando assim muito espaço do disco)
./install.sh
Um único tipo de letra:
- Instala um único tipo de letra à tua escolha
./install.sh <NomedoTipodeLetra>
./install.sh Hack
./install.sh HeavyData
Opção 4: Tipos de Letra do Homebrew
Melhor opção caso utilizes macOS e queres utilizar Homebrew.
Todos os tipos de letra estão disponíveis através de Homebrew Cask Fonts para macOS (OS X)
brew tap homebrew/cask-fonts
brew install font-hack-nerd-font
Opção 5: Dar clone ao repositório
Melhor opção para obter controlo total, total ou maioritário dos tipos de letra, ou para contribuir para o desenvolvimento do projeto.
Dar clone a este repoitório não é necessário nem eficiente (devido ao grande tamanho do repositório) caso queiras apenas instalar um número limitado de tipos de letra.
No entanto, se quiseres dar clone ao repositório garante que fazes um clone superficial:
git clone --depth 1
Opção 6: Transferir ad hoc com curl
Caso queiras utilizar o comando
curl
ou utilizar em executadores.
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
Note: caminhos alternativos deprecados: ~/.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
Opção 7: Repositório Arch Linux
Most fonts are available via Arch Community packages. Some special packages are in AUR.
Opção 8: Criar o teu tipo de letra
A opção a utilizar caso queiras modificar o teu tipo de letra or personalizar por completo um tipo de letra já modificado.
Utiliza o executador de linha de comandos em Python fornecido para gerar um tipo de letra modificado com glifos através dum tipo de letra teu
Vê: Modificador de tipo de letra para instruções de utilização
- utiliza esta opção caso não queiras utilizar um dos tipos de letra já disponíveis
- depois de modificares, vais precisar de copiar o tipo de letra gerado para o diretório de tipos de letra do teu sistema operativo
Modificar o tipo de letra à tua escolha com VimDevIcons ➶:
- requer: Python 3, o pacote
python-fontforge
(versão20141231
ou mais recente, vê as instruções de instalação (em inglês)) - método alternativo para macOS:
brew install fontforge
- Utilização:
./font-patcher CAMINHO_PARA_O_TIPO_DE_LETRA
- Utilização alternativa: Executa o modificador com o binário de FontForge utilizando parâmetro
-script
:
./fontforge -script font-patcher CAMINHO_PARA_O_TIPO_DE_LETRA
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)
Exemplos
./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
Modificador de fontes – «Modifica tudo!»
-
para contribuidor ou desenvolvedor, utiliza
-
modifica novamente todos os tipos de letra no diretório por modificar:
./gotta-patch-em-all-font-patcher\!.sh
- podes, opcionalmente, limitar para um certo padrão de nome:
./gotta-patch-em-all-font-patcher\!.sh Hermit
Contribuir
Ficheiros instáveis no branch master
⚠️ Aviso: Os caminhos dos ficheiros podem mudar consoante as versões (especialmente em versões com grandes alterações)
Utiliza o branch release e não o branch master, visto que os camihnos estão sujeitos a alterações na altura do lançamento da nova versão
- Por exemplo:
- ✅ Utiliza:
https://github.com/ryanoasis/nerd-fonts/blob/0.9.0/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf
- ❌ Em vez de:
https://github.com/ryanoasis/nerd-fonts/blob/
master/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf
- ✅ Utiliza:
Outros bons tipos de letra para modificar
- lista de outros bons tipos de letra a modificar que não podem ser distribuídos devido às suas licenças:
- Input Mono (restrição de licença)
- Possivelmente será disponibilizada com hospedagem externa :)
- PragmataPro (paga)
- Consolas (proprietária)
- Operator Mono (paga)
- Dank Mono (paga)
Motivação do projeto
Histórico de Alterações
Vê changelog.md
Licença
MIT © Ryan L McIntyre