TECH 으로 돌아가기
TECH HACKER NEWS 오늘 7분 읽기 22 READS

파이썬으로 직접 그린 코딩용 폰트, Nordwand Mono가 던지는 질문

파이썬으로 직접 그린 코딩용 폰트, Nordwand Mono가 던지는 질문
SOURCE IMAGE · HACKER NEWS

개발자에게 터미널과 에디터의 폰트는 단순한 취향의 문제가 아니다. 하루 종일 바라보는 글자의 모양새는 가독성과 피로도, 나아가 작업 몰입에 직접 영향을 미친다. 그래서 JetBrains Mono, Fira Code, Cascadia Code 같은 모노스페이스 폰트를 두고 개발자들은 종종 긴 토론을 벌인다. 최근 공개된 Nordwand Mono는 이런 고민을 '기존 폰트 중 고르기'가 아니라 '직접 만들기'로 풀어낸 사례라는 점에서 눈길을 끈다.

제작자 tywr는 자신의 터미널과 Neovim 환경에 쓸 '완벽한' 폰트를 찾지 못했고, 결국 처음부터 직접 설계하기로 했다고 밝혔다. 완성된 Nordwand Mono는 컴팩트한 네오그로테스크 계열의 모노스페이스 폰트로, 고전 서체 'Univers'의 요소를 'JetBrains Mono'의 비례 안으로 끌어오는 것을 목표로 삼았다. 이름인 'Nordwand'는 스위스와 그 상징적인 타이포그래피에 대한 오마주이자, 알프스 북벽(north face)의 차갑고 단단한 분위기를 담으려는 의도에서 나왔다.

네오그로테스크를 코딩 환경으로

네오그로테스크는 Helvetica와 Univers로 대표되는, 장식을 배제한 균질한 산세리프 계열이다. 이런 서체의 깔끔함을 그대로 고정폭(monospace) 환경에 옮기는 일은 생각보다 까다롭다. 모든 글자가 같은 폭을 차지해야 하므로 i나 l처럼 좁은 글자, m이나 w처럼 넓은 글자를 억지로 같은 칸에 맞춰야 하고, 그 과정에서 비례가 부자연스러워지기 쉽기 때문이다. Nordwand Mono가 JetBrains Mono의 비례를 참조점으로 삼은 것은, 이미 코딩 환경에서 검증된 고정폭 균형 위에 Univers의 성격을 입히려는 접근으로 읽힌다.

기능 면에서는 절제된 편이다. 리거처는 '->'와 '=>' 두 가지만 노출되어 있다. 제작자는 전체 리거처 세트를 나중에 추가할 수도 있다고 했지만, 본인은 쓰지 않을 것이라고 분명히 밝혔다. 리거처를 선호하지 않는 개발자가 적지 않다는 점을 생각하면, 이 최소주의는 오히려 장점으로 받아들여질 수 있다. 대신 일부 글자에는 대체 디자인(alternative characters)이 제공되어, OpenType 피처 태그를 통해 폰트의 인상을 취향대로 조정할 수 있다. 시각적 비교는 별도의 문서에서 확인할 수 있다.

폰트를 '코드'로 다룬다는 것

Nordwand Mono에서 가장 특징적인 부분은 폰트 자체가 파이썬으로 생성된다는 점이다. 각 글자는 파이썬 글리프 클래스에서 그려지며, 여기에 드로잉 컨텍스트 객체를 주입하는 방식으로 작동한다. 사용자는 이 컨텍스트를 통해 x-높이(x-height)나 대문자 높이(capital height) 같은 메트릭을 직접 수정할 수 있다. 전통적인 폰트 제작이 글립스(Glyphs)나 FontForge 같은 그래픽 도구에서 커브를 손으로 다듬는 작업이라면, 이 프로젝트는 폰트를 설정 가능한 코드로 취급한다.

실제 워크플로도 개발자에게 익숙한 형태다. config.example.yml을 원하는 값으로 덮어쓴 뒤, python -m visualize --config config.yml 명령으로 개별 글자를 시각화해 확인하고, python -m generate_font --config config.yml로 전체 폰트를 생성한다. 결과물은 ./custom-fonts 디렉터리에 만들어진다. 폰트를 빌드 산출물처럼 다루고, 설정 파일을 버전 관리하며, 명령 한 줄로 재생성하는 흐름은 코드형 인프라(IaC)에 익숙한 사람이라면 금세 이해할 수 있는 구조다.

자유도의 대가와 현실적 한계

다만 이 유연함에는 분명한 단서가 붙는다. 제작자는 메트릭을 바꿨을 때 폰트가 보기 좋으리라는 보장이 없으며, 일부 글자는 메트릭이 달라지면 별도의 조정이 필요할 수 있다고 못 박았다. 즉 파라미터를 바꾸는 일은 가능하지만, 그 결과의 품질까지 자동으로 담보되지는 않는다. 타이포그래피에서 글자 사이의 균형은 수치 하나로 환원되지 않는 섬세한 조율의 영역이고, 코드로 열어둔 자유도가 곧 좋은 결과를 의미하지는 않는다는 솔직한 경고인 셈이다.

실무자 입장에서 Nordwand Mono는 두 가지 층위로 읽힌다. 하나는 완성된 코딩 폰트로서, Univers 특유의 차분한 인상을 선호하고 과도한 리거처를 피하고 싶은 사람에게 선택지가 된다는 점이다. 다른 하나는 더 흥미로운데, 폰트를 파라미터화된 프로그램으로 설계한 방법론 자체다. 다만 공개된 정보만으로는 지원하는 글자 범위, 한글 등 비라틴 문자 수록 여부, 라이선스 조건 같은 실제 도입에 필요한 세부 사항은 확인되지 않는다. 터미널에 적용하기 전이라면 저장소의 문서와 생성 산출물을 직접 살펴보고, 자신의 환경에서 글자들을 렌더링해 확인하는 과정이 필요하다. 결국 이 프로젝트의 가치는 '또 하나의 폰트'보다, 취향을 코드로 표현하고 반복 생성할 수 있게 만든 접근에 있다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/tywr/Nordwand-Mono
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...