코딩 폰트에서 한글이 어색했던 이유, Jetendard 폰트가 해결합니다

핵심 요약
Jetendard는 JetBrains Mono Nerd Font와 Pretendard를 결합한 코딩용 고정폭 폰트입니다. 개발자라면 한 번쯤 겪어봤을 '코딩 폰트에서 한글이 깨져 보이는 문제'를 해결하기 위해 만들어졌으며, 여밀 폰트의 소스코드를 기반으로 제작되었습니다.
왜 이 폰트가 필요했을까요?
코딩용 고정폭 폰트를 쓰다 보면 한글과 관련해 두 가지 고질적인 문제를 마주하게 됩니다.
1. Fallback 문자로 인한 레이아웃 깨짐
대부분의 코딩용 고정폭 폰트에는 한글이 포함되어 있지 않습니다. 그래서 IDE나 터미널에서 한글이 나오면 시스템의 다른 폰트로 대체(fallback)되는데, 이 과정에서 Unicode box-drawing 문자가 미묘하게 밀리면서 표나 트리 구조가 보기 흉하게 어긋나 버립니다.
2. 한글 주변의 어색한 공백
반대로 한글을 포함한 고정폭 폰트를 만들면 또 다른 문제가 생깁니다. 일반적으로 영문 2자의 폭이 한글 1자보다 현저히 크기 때문에, 한글 글자 주변에 불필요한 공백이 생깁니다. 이 공백이 실제 띄어쓰기와 시각적으로 혼동되면서 한글을 읽을 때 피로도가 크게 올라갑니다.
문제는 이 둘이 상충 관계라는 점입니다. 1번을 해결하려면 2번 문제가 생기고, 2번을 해결하려면 1번 문제가 생기는 딜레마가 있었죠.
Jetendard의 해결 방법
Jetendard는 한글 폰트의 스케일을 조금 더 키우는 접근을 택했습니다. 어차피 공백으로 버려지는 공간에 글자를 좀 더 꽉 채워 넣는 것입니다.
이 방식의 효과는 다음과 같습니다.
- 한글의 불필요한 자간 공백이 최소화되어 띄어쓰기가 명확하게 구분됩니다
- 글자가 커진 만큼 한글 자체가 더 선명하게 보입니다
- 한글이 약간 커 보이는 현상은 있지만, 전체적인 가독성은 크게 개선됩니다
기술적 배경
- 베이스: 여밀 폰트의 소스코드를 거의 그대로 활용
- 차이점: 영문 폰트로 Geist Mono 대신 JetBrains Mono Nerd Font Mono를 사용
- 한글: Pretendard 기반
Nerd Font 기반이라 터미널에서 아이콘 글리프까지 지원되므로, oh-my-zsh나 Starship 같은 프롬프트 꾸미기 도구와도 잘 어울립니다.
마치며
한글을 쓰는 개발자에게 코딩 폰트의 한글 지원은 오랜 숙제였습니다. Jetendard처럼 완벽한 정답 대신 실용적인 절충점을 찾아낸 시도는 그 자체로 참고할 가치가 충분합니다. 터미널이나 IDE에서 한글 주석과 로그를 자주 다룬다면 한번 설치해 보시길 추천합니다. 폰트는 GitHub(kuskhan)에서 확인할 수 있습니다.