프로그래밍을 위한 고정폭 폰트

Productivity
Tip
Font
Author

Taeyoon Kim

Published

May 31, 2025

Modified

June 30, 2025

프로그래머라면 코드 에디터를 열 때마다 어떤 폰트를 사용할지 고민해 본 적이 있을 것입니다. 일반적으로 문서 작성에는 가변폭(proportional) 폰트가 많이 쓰이지만, 프로그래밍에서는 대부분 고정폭(monospaced) 폰트를 사용합니다. 그 이유는 무엇일까요?

고정폭 폰트는 모든 글자의 가로 길이가 동일한 글꼴을 의미합니다. 예를 들어, 영어 알파벳 ’i’와 ’m’의 폭이 같습니다. 반대로 가변폭 폰트는 글자마다 가로 길이가 다릅니다. ’i’는 좁고, ’m’은 넓죠.

1 고정폭 폰트가 필요한 이유

  • 코드 정렬의 일관성 프로그래밍에서는 들여쓰기(indentation)와 코드 블록, 주석 등이 중요한 역할을 합니다. 고정폭 폰트를 사용하면 모든 문자가 동일한 폭을 차지하므로 코드가 정확하게 정렬되어 가독성이 크게 향상됩니다. 들여쓰기, 줄 맞춤, 표 형식의 데이터 등에서 혼선이 없습니다1.
  • 특수문자와 숫자 구분 코드에는 ‘0’과 ‘O’, ‘1’과 ‘l’, ’I’와 ’|’처럼 헷갈릴 수 있는 문자들이 자주 등장합니다. 고정폭 폰트는 이런 문자들을 명확하게 구분할 수 있도록 설계되어 있어 실수할 확률을 줄여줍니다[1]2.
  • 가독성과 피로감 감소 장시간 코드를 읽어야 하는 개발자들에게 가독성이 좋은 폰트는 매우 중요합니다. 고정폭 폰트는 작은 크기에서도 글자가 잘 구분되고, 눈의 피로도를 줄여줍니다3.

2 대표적 프로그래밍용 폰트

검색해보면 프로그래밍용 고정폭 폰트는 아주 많습니다. 아래 목록은 아주 일부분일 뿐입니다.

3 한글이 지원되는 고정폭 폰트

대부분의 프로그래밍용 폰트들은 한글 글리프가 포함되어 있지 않습니다. 그래서 한글은 다른 글씨체로 표현되는 경우가 많습니다.

한글은 기본적으로 전각(정사각형) 또는 장체(직사각형) 형태로 한 글자가 일정한 폭을 차지하도록 설계된 경우가 많지만, 실제로는 글자별로 폭이 다를 수 있는 가변폭 설계가 더 자연스럽고 가독성이 높아집니다. 코딩용 고정폭 폰트에 한글까지 적용하려면 매우 까다로운 설계와 대량의 한글 글리프(글자 모양)가 필요합니다. 그 결과 제작 비용은 높고 수요는 적어, 한글을 지원하는 고정폭 폰트는 많지 않습니다. 대표적인 예로 아래와 같은 폰트가 있습니다.

3.1 끝없는 폰트 욕심

폰트는 취향을 많이 타다보니 저도 그동안 위의 여러 폰트를 시도해보았습니다. 그럼에도 만족하지 못하고 틈나면 폰트를 변경하던 중 최근 JetBrains Mono와 D2Coding을 결합한 폰트인 JetBrainsMonoHangul을 찾았고 fork해 약간의 수정을 거쳐 사용하고 있습니다4. 이 블로그에서도 웹폰트로 사용하고 있는데 상당히 만족스럽습니다.

물론 서로 다른 글리프를 임의 결합한 것이다보니 스타일이 조금 다르다는 단점이 있습니다. 이 문제를 해결하려면 폰트 디자인을 공부해 한글 글리프를 (대략 2,500개) 수정해야 합니다. 쉽지 않은 일이지요.

4 결론

프로그래밍을 할 때 고정폭 폰트를 사용하는 것은 코드의 가독성과 정확한 정렬, 문자 구분등 실질적인 이유에서 필수적입니다. 여러분도 자신만의 취향에 맞는 고정폭 폰트를 찾아보는 것을 추천드리며 JBD2도 한번 써보세요!

Footnotes

  1. https://steemit.com/kr/@jwsohn/8-fixed-width-font↩︎

  2. https://html4silver.tistory.com/152↩︎

  3. https://slowalk.com/2195↩︎

  4. https://github.com/partrita/JBD2/↩︎