41 KiB
Nerd Fonts는 개발자를 대상으로 많은 글리프(아이콘)를 가진 폰트를 패치하는 프로젝트입니다. 특히 Font Awesome ➶, Devicons ➶, Octicons ➶, 또는 다른 것들과 같이 인기있는 '아이콘 폰트'에 있는 많은 부가적 글리프를 추가하기 위함입니다.
아래의 생키 플로우 다이어그램은 현재 포함된 글리프 세트를 보여줍니다:
다이어그램은 @SankeyMATIC으로 만들었습니다.중요한 주의 사항
master
브랜치 파일 경로는 안정성이 보장되지 않습니다. 저장소의 URI 레퍼런스를 체크해보세요.- 이 저장소를 클론하는 것은 개발에 기여하려는 것이 아닌 이상 추천하지 않습니다. (저장소 크기 때문)
목차
- 1 - 수동
- 2 - 릴리즈 아카이브 다운로드
- 3 - 설치 스크립트
- 4 - Homebrew Fonts (macOS (OS X))
- 5 - 저장소 클론
- 6 - Ad Hoc Curl 다운로드
- 7 - Arch Community Repository (Arch Linux)
- 8 - 자신의 폰트 패치
추가적인 정보
TL;DR
Nerd Fonts는 인기있는 프로그래밍 폰트들에 많은 글리프를 추가합니다. 아직 패치되지 않은 폰트를 원한다면 폰트 설치기를 사용할 수 있습니다. 더 높은 수준의 정보는 위키에 있습니다. Vim 플러그인을 찾는다면 VimDevIcons ➶를 보세요.
다양한 폰트 다운로드 옵션
만약...
옵션 1.
빠르게patched-fonts/
디렉토리에서 개별 폰트를 다운로드하고 싶은 경우.옵션 2.
여러 스타일 (볼드, 이탤릭 등)의 폰트 패밀리 패키지를 다운로드하고 싶은 경우 아카이브에서 다운로드를 확인하세요.옵션 3.
자동으로 설치하거나 스크립트를 사용하고 싶은 경우 설치 스크립트를 확인하세요.옵션 4.
macOS에서 Homebrew를 사용하고 싶은 경우 Homebrew 폰트를 확인하세요.옵션 5.
완전히 통제하고 싶은 경우 저장소 클론을 확인하세요.옵션 6.
curl
명령을 사용하고 싶거나 스크립트를 사용하고 싶은 경우 Ad Hoc Curl 다운로드를 확인하세요.옵션 7.
Arch Linux에서 Community 패키지를 사용하고 싶은 경우 비공식 Arch Community Repositories를 확인하세요.옵션 8.
자신의 폰트를 패치하고 싶은 경우 폰트 설치기를 확인하세요.
기능
- FontForge 파이썬 스크립트를 이용해 어떤 폰트든 패치할 수 있습니다.
- 고정폭 (monospaced) 또는 가변폭 (non-monospaced) 글리프를 만드는 옵션을 포함합니다.
- 더 자세한 정보는 폰트 설치기 문단을 확인하세요.
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에서 쉽게 글리프를 찾아볼 수 있습니다.
위키: 글리프 세트와 코드포인트에 대한 자세한 정보를 참고하세요.
Shell에서의 아이콘 이름
위키: Shell에서의 아이콘 이름을 참고하세요.
패치된 폰트들
*RFN = 예약된 폰트 이름(Reserved Font Name)
조합
1,485,000
개 이상의 고유한 폰트 변형/조합 (Power Set):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
- 윈도우 호환성
폰트 설치
옵션 1: 수동 설치
빠르게 특정 개별 폰트를 설치할 수 있는 최고의 옵션.
선택한 특정 패치된 폰트를 다운로드합니다.
옵션 2: 릴리즈 아카이브 다운로드
아카이브 또는 완전한 변형 (볼드, 이탤릭 등)의 폰트 패밀리를 위한 최고의 옵션.
패키지로 다운로드할 수 있는 폰트들은 최신 릴리즈에 있습니다.
옵션 3: 설치 스크립트
자동 설치 또는 스크립트를 사용하는 최고의 옵션.
주의: Linux & macOS (OS X) 전용 주의: 현재 저장소를 클론 해야 합니다
모든 폰트:
- 모든 패치된 폰트를 설치합니다. (경고: 많은 폰트들이 큰 크기로 설치됩니다)
./install.sh
하나의 폰트:
- 하나의 폰트를 설치합니다.
./install.sh <FontName>
./install.sh Hack
./install.sh HeavyData
옵션 4: Homebrew 폰트
macOS에서 Homebrew를 사용하는 최고의 옵션.
macOS (OS X)의 Homebrew Cask를 통해 모든 폰트를 사용할 수 있습니다.
brew install font-hack-nerd-font
옵션 5: 저장소 클론
폰트의 모든 또는 대부분을 완전히 통제하거나, 개발에 기여하기 위한 최고의 옵션.
제한된 폰트 세트에만 관심있는 경우 이 저장소를 클론하는 것은 필요하지도, 효율적이지도 않습니다. (주로 저장소 크기 때문)
하지만 저장소를 클론하고 싶다면 얕은 클론을 하세요:
git clone --depth 1
옵션 6: Ad Hoc 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 Repository
Most fonts are available via Arch Community packages. Some special packages are in AUR.
옵션 8: 자신의 폰트 패치
자기 자신의 폰트 또는 패치된 폰트를 커스터마이징해 패치하기 위한 옵션.
제공된 파이썬 명령줄 스크립트를 사용하면 부가적인 글리프를 가진 자신의 폰트를 생성할 수 있습니다.
참고: 폰트 설치기 사용법
- 제공된 폰트 중 하나를 사용하고 싶은 경우 이 옵션을 따르지 마세요.
- 시스템의 올바른 폰트 디렉토리에 생선된 폰트를 복사해야 합니다.
VimDevIcons ➶에서 자신이 선택한 폰트를 패치하기:
- 요구 사항: Python 3,
python-fontforge
패키지 (버전20141231
또는 그 이상, 설치 안내를 참고하세요.) - OSX의 설치 방법:
brew install fontforge
- 사용법:
./font-patcher PATH_TO_FONT
- 대안 사용법: 스크립트 플래그를 사용해 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)
예시
./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를 참고하세요.
불안정한 파일 경로
⚠️ 경고: 릴리즈에 따라 파일 경로가 변경될 수 있습니다. (특히 메이저 버전 범프)
각 배포에서 경로가 변경될 수 있으므로 마스터 브랜치가 아닌 릴리즈 브랜치를 참조하세요.
- 예시:
- ❌ 이렇게 하는 대신:
https://github.com/ryanoasis/nerd-fonts/blob/
master/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf - ✅ 이렇게 하세요:
https://github.com/ryanoasis/nerd-fonts/blob/0.9.0/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf
- ❌ 이렇게 하는 대신:
패치할 좋은 폰트들
- 라이센스 때문에 공유할 수 없거나, 제공할 수 없는 추가적인 좋은 폰트 리스트:
- Input Mono (라이센스 제한)
- 외부 호스팅으로 가능할 수 있습니다 :)
- PragmataPro (유료)
- Consolas (소유권)
- Operator Mono (유료)
- Dank Mono (유료)
프로젝트 동기
Changelog
changelog.md를 참고하세요.
License
MIT © Ryan L McIntyre