Monaspace: 코드를 위해 디자인된 폰트 패밀리
GitHub Next의 연구팀과 Lettermatic이 함께 만든 Monaspace 프로젝트를 소개합니다.
시작: 작은 질문에서 출발하다
2021년 8월, GitHub Next의 Idan Gazit는 Lettermatic에 연락을 했습니다. 대화를 나누다 보니 둘 다 아름답고 기능적인 타이포그래피에 대한 열정을 공유하고 있었어요. 그렇게 자연스럽게 코드 에디터의 폰트에 대한 이야기로 흘러갔습니다.
이 대화에서 몇 가지 의문이 생겼습니다.
왜 현대적인 개발 도구가 등장한 이후로도 코드 에디터용 폰트는 별로 진화하지 않았을까요? 코드 작성 경험을 커스터마이징하고 싶어 하는 개발자들을 위해, 왜 더 많은 선택지가 없을까요? 문서 포매팅이나 신택스 하이라이팅, 에디터 컬러 테마에 대해서는 수많은 의견과 옵션이 있는데, 개발자들이 매일 하나의 폰트로만 일해야 하는 이유가 뭘까요?
이런 질문들이 Monaspace 프로젝트로 이어집니다.
Monaspace란?
Monaspace는 코드 작성을 위해 특별히 디자인된 5개 폰트 패밀리입니다. 이들은 필요에 따라 자유롭게 조합할 수 있게 만들어졌어요.
프로젝트 규모
- 5개 폰트 패밀리
- 각 폰트당 42개 정적 스타일 (총 210개 + 가변 폰트)
- 분류: Humanist Sans, Grotesque Sans, Slab Serif, Script, Mechanical
- 각 폰트마다 6,000개 이상의 글리프
- 200개 이상 언어 지원
- 2023년 11월 공개
핵심 특징
모든 Monaspace 폰트는 3개의 가변 축을 지닙니다: 굵기(weight), 너비(width), 기울임(slant). 덕분에 사용자가 원하는 대로 세밀하게 커스터마이징할 수 있고, 접근성 옵션도 기본으로 탑재되어 있습니다.
더 중요한 건, 5개 폰트가 모두 같은 그리드 위에 디자인되었다는 점입니다. 이것이 무엇을 의미하냐면, 이 5개 폰트를 자유롭게 섞어 쓰면서도 코드 에디터의 그리드가 깨지지 않는다는 뜻이에요.
그리고 혁신적인 기술인 Texture Healing을 도입했습니다. 이 기술은 모노스페이스 폰트의 가독성을 완전히 새로운 수준으로 끌어올립니다.
마지막으로, GitHub의 오픈소스 철학을 따라 Monaspace 전체가 오픈소스로 공개되었습니다. 누구나 무료로 다운로드할 수 있어요.
역사로 배우는 모노스페이스
이 프로젝트를 이해하려면 폰트의 역사를 좀 알아야 합니다.
비례 폰트에서 모노스페이스로
대부분의 라틴 문자 폰트는 비례 폰트(proportional)입니다. 즉, 각 글자마다 자신에게 어울리는 너비를 가질 수 있다는 뜻이에요.
타이포그래피라는 개념이 생기기도 전에, 금속 활자 시대에는 펀치 커터(punch cutter)라는 장인이 있었습니다. 그들은 파일로 금속 문자를 깎아서 주형에 찍어 활자를 만들었어요. 인쇄소 일꾼이 일일이 손으로 글자를 배열하고 인쇄기에 끼워 넣었습니다.
흥미롭게도, 현대 디지털 세계에서도 우리가 쓰는 타이포그래피 용어 상당수가 이 시대에서 비롯됐습니다. 예를 들어 "대문자(uppercase)"와 "소문자(lowercase)"라는 표현은, 인쇄소에서 대문자는 위쪽 케이스에, 소문자는 아래쪽 케이스에 보관했다는 사실에서 나왔어요.
기계화와 모노스페이스의 등장
손으로 만드는 활자가 기계식 공정으로 바뀌면서, 글자들이 모두 같은 너비를 갖게 되는 것이 편해졌습니다. 이게 모노스페이스(monospace) 폰트예요. 반대말은 비례 폰트(proportional)이고요.
대부분의 타이프라이터가 모노스페이스로 설계되었습니다. 모든 문자가 고정된 폭(advance width)을 가지니까요. 타이프라이터를 칠 때마다 캐리지가 정확히 같은 거리를 이동하게 되는 거죠.
오늘날에도 모노스페이스 폰트는 우리 생활 곳곳에 있습니다. 코드 에디터는 물론이고, 금융 스프레드시트, 영수증, 공항 시간표, 구식 타이프라이터, 심지어 공예 구슬까지요. 이 폰트 스타일은 여전히 데이터를 명확하고 균일하게 표현해야 하는 모든 곳에서 활용되고 있습니다.
Website: monaspace.githubnext.com