· 톺아보기

자유

한글 코딩 폰트 Monatendard를 만들었습니다

챠우차우 · · 수정

조회 2,067 · 공감 3 · 댓글 7

안녕하세요.

주말 동안 Codex와 함께 Monaspace Neon의 영문과 Pretendard의 한글을 결합한 코딩 폰트, Monatendard를 만들어 보았습니다.

출발점은 GeekNews에서 본 Jetendard였습니다. 코딩 폰트와 Pretendard를 결합하는 접근이 흥미로웠고, 제가 좋아하는 Monaspace Neon을 기반으로 정확한 1:2 셀 폭과 재현 가능한 빌드 과정을 갖춘 폰트를 직접 만들어 보고 싶었습니다. 폰트 구성과 폭 조정, 병합·검증·패키징 과정은 별도로 구현했습니다.

Monaspace Neon의 영문 디자인과 리게이처를 최대한 유지하면서, 한글은 익숙하고 읽기 좋은 Pretendard를 함께 사용하고자 했습니다.

가장 중요하게 맞춘 부분은 한글 한 글자가 영문 두 글자와 정확히 같은 폭을 차지하도록 하는 것이었습니다. 코드와 한글 주석이 섞이거나 표 형태로 출력될 때도 열 정렬이 유지되도록 했습니다.

폰트는 다음 과정으로 생성됩니다.

  1. Monaspace Neon Frozen 1.400, Pretendard 1.3.9와 Nerd Fonts Symbols Only 3.4.0의 버전 및 SHA-256을 고정합니다.
  2. Monaspace의 영문 글리프 윤곽을 가로 92.5%로 조정하고, 0.595em 셀 안에 배치합니다.
  3. Pretendard의 한글·CJK 글리프를 가로 112%, 세로 108%로 조정해 영문 두 칸 너비에 병합합니다.
  4. Monatendard 전용 패밀리명과 스타일, 고정폭 및 라이선스 정보를 설정합니다.
  5. 7개 굵기의 일반체와 이탤릭을 합쳐 TTF·WOFF2를 각각 14종 생성합니다.
  6. Nerd Font 버전에는 기존 글리프를 유지하면서 터미널용 아이콘 10,352개를 한 칸 폭으로 추가합니다.
  7. 글리프 범위, 셀 너비, 리게이처, 메타데이터와 빌드 재현성을 자동으로 검사한 뒤 패키징합니다.

일반판과 Nerd Font 버전은 별도 패밀리라서 함께 설치할 수 있습니다. Windows용 패키지에는 관리자 권한 없이 현재 사용자 영역에 설치할 수 있는 PowerShell 설치·제거 스크립트도 포함했습니다.

현재 버전은 v0.2.1입니다. 아직 초기 버전이라 여러 환경에서 사용해 보시고 의견을 주시면 감사하겠습니다.


소개·체험·다운로드

https://monatendard.github.io/


소스 코드

https://github.com/younjungpark/Monatendard


아래는 Codex CLI 터미널에서 실제로 출력한 캡쳐입니다.

codex-cli-preview.png






댓글 7

  1. 혼내주자 ·
    혹시 자간은 못 줄이나요?
  2. 챠우차우 ·
    @혼내주자님 말씀하신 자간이 글자의 고정 셀 폭을 의미한다면, 현재 Monatendard에서는 설정만으로 줄이기 어렵습니다.

    지금도 Monaspace 영문을 가로 92.5%로 조정한 상태라서, 셀 폭을 더 줄이려면 영문 글리프도 함께 더 좁혀야 합니다. 이 경우 영문이 지나치게 좁아 보일 수 있고, 한글 한 글자와 영문 두 글자의 1:2 정렬도 다시 맞춰야 합니다.

    다음 버전에서는 글자의 형태와 1:2 정렬을 유지하면서 한글 글리프를 조금 확대하는 방식을 연구해 보겠습니다.
  3. 챠우차우 ·
    @혼내주자님 말씀해주신 대로 자간이 다소 넓어 보여, 1:2 고정폭 정렬은 유지하면서 영문 셀 폭을 줄이고 한글 글리프를 확대해 간격을 조정했습니다. 의견 감사합니다!
  4. 똥글제조기 ·
    터미널 코어(?)에 따라 유니코드문자 표시하는 폭이 다른데
    터미널프로그램은 어떤거 쓰셨어요?
  5. 챠우차우 ·
    @똥글제조기님 말씀하신 것처럼 일부 유니코드 문자와 Nerd Font 아이콘의 셀 폭은 터미널 구현이나 설정에 따라 달라질 수 있습니다. Monatendard는 폰트 메트릭상 영문 1칸, 한글·CJK 2칸, Nerd/Powerline 아이콘 1칸으로 맞췄으며, 현재 캡처와 검증은 Windows Terminal 기준입니다.
  6. 코드무 ·
    감사합니다..! 잘 쓰겠습니다 ㅎㅎ
  7. 챠우차우 ·
    @코드무님 감사합니다. 폰트가 조금이라도 마음에 드셨으면 좋겠네요^^

개발한당 최근 글

개발한당 목록 더 보기