영문은 Cascadia, 한글은 D2Coding. 한 폰트 안에서 정확히 두 칸.
CaskaydiaMono Nerd Font에 D2Coding 한글을 합친 터미널용 고정폭 폰트입니다.
영문 폰트에 한글 폰트를 따로 붙여 쓰면 한글만 크게 보이거나 줄이 어긋나곤 합니다. Caskoding은 한글을 처음부터 같은 폰트 안에 넣어서 영문과 한글의 크기와 간격이 잘 맞습니다.
| 한글 두 칸, 영문 한 칸 | 한글이 정확히 영문 두 글자 폭이라 표와 정렬이 어긋나지 않습니다. |
| Nerd Font 아이콘 그대로 | 프롬프트, 파일 아이콘, Powerline 기호를 CaskaydiaMono 그대로 씁니다. |
| 기호는 자연스럽게 | ✔ ✘ ⚠ 같은 기호는 D2Coding으로, 두 폰트에 모두 없는 ⎿ ⏺는 macOS가 영문 폰트에 붙여 쓰던 그대로 그립니다. |
| 4가지 스타일 | Regular, Bold, Italic, BoldItalic. 터미널과 에디터가 쓰는 조합을 모두 갖췄습니다. |
uv가 필요합니다.
git clone https://github.com/kimmojae/caskoding.git
cd caskoding
make installmake install은 원본 폰트를 내려받아 빌드한 뒤 ~/Library/Fonts에 복사합니다.
Important
macOS에서만 테스트했습니다. 폰트에 없는 기호를 어떤 폰트로 그릴지는 운영체제가 정하므로, 다른 운영체제에서는 기호가 다르게 보일 수 있습니다.
| 명령 | 하는 일 |
|---|---|
make install |
원본 내려받기 → 빌드 → ~/Library/Fonts에 복사 |
make fonts |
빌드만 합니다. 결과는 fonts/에 생깁니다. |
make uninstall |
~/Library/Fonts/Caskoding-*.ttf를 지웁니다. |
make test |
테스트를 실행합니다. |
Ghostty
font-family = "Caskoding"
Note
설치하거나 다시 설치한 뒤에는 Ghostty를 완전히 종료하고 다시 실행해야 새 폰트를 인식합니다.
VS Code
{
"editor.fontFamily": "Caskoding",
"terminal.integrated.fontFamily": "Caskoding"
}iTerm2
Settings → Profiles → Text → Font에서 Caskoding을 고릅니다.
글자는 아래 순서로 찾습니다. 앞 폰트에 있으면 그 글자를 쓰고, 없을 때만 다음 폰트에서 채웁니다.
flowchart LR
A["CaskaydiaMono Nerd Font<br/>영문 · 숫자 · 기호 · 아이콘"] --> B["D2Coding<br/>한글 · 한자 · 그 밖의 기호"] --> C["macOS<br/>두 폰트에 없는 글자"]
| 부분 | 원본 | 버전 |
|---|---|---|
| 영문, 기호, 아이콘 | CaskaydiaMono Nerd Font Mono (Cascadia Mono 기반) | Nerd Fonts v3.5.1 |
한글 (완성형 11,172자, 호환 자모), 한자, CJK 문장부호, 그 밖의 기호 (✔ ✘ ⚠ 등) |
D2Coding | 1.4.0 |
원본은 빌드할 때 공식 릴리스에서 내려받으며, 체크섬으로 확인합니다.
어떤 글자를 어디서 가져오나요?
- D2Coding은 Cascadia에 없는 글자를 채웁니다. 다만 옆 글자와 겹치는 글자는 가져오지 않습니다. D2Coding이 두 칸으로 그리는데 터미널은 한 칸으로 다루는 글자(
① ※ ○등)와, 획이 칸 밖으로 나가는 글자가 그렇습니다. - 두 폰트에 모두 없는 글자(
⎿ ⏺등)는 macOS가 다른 폰트로 그립니다. Caskoding은 Cascadia의 언어 정보를 그대로 두어서, macOS가 CaskaydiaMono를 쓸 때와 같은 영문 계열 폰트를 고릅니다. D2Coding의 한국어 정보까지 넣으면 macOS가 한국어 폰트로 이 기호들을 그려 모양이 어긋납니다. - 이모지는 넣지 않습니다. 터미널이 컬러 이모지 폰트로 그립니다.
왜 스타일이 4종뿐인가요?
터미널과 에디터가 쓰는 조합이 Regular, Bold, Italic, BoldItalic 4개입니다. D2Coding에도 Regular와 Bold만 있어서, 굵기를 더 나눠도 한글 굵기는 따라오지 않습니다. 이탤릭에서도 한글은 기울이지 않습니다.
SIL Open Font License 1.1입니다. 두 원본도 모두 OFL이며, 원본 라이선스 전문은 licenses/에 있습니다.
OFL은 원본의 예약 이름(Reserved Font Name)을 수정본에 쓰지 못하게 합니다. 이 폰트가 "Cascadia Code"나 "D2Coding"이 아니라 "Caskoding"이라는 이름을 쓰는 이유입니다.