어떤 사람에게는 프로그램을 코딩할 때의 스타일이 직업적 신념과 같은 무게를 주는 것 같다. (물론 반대로 아예 무신경인 사람도 그 이상 많을 듯?) 난 그 정도는 아니지만 보기 좋고 정리도 잘 돼야한다는 믿음은 계속 가지고 있고 자주 프로그래밍 글꼴을 찾아보곤 했다. 오늘은 프로그래밍 글꼴 비교를 통해 나름대로 그 스타일에 어떤 차이가 있는지 보려고 한다.

최근에는 프로그래밍 글꼴이 많이 다양해졌고 또 한 곳에서 모아서 비교해볼 수 있는 사이트가 많아졌다. 여기가 그 중 다양하게 많은 글꼴을 비교해볼 수 있다.

그런데 이런 웹에서의 비교는 프로그램을 개발하는 환경과 달라서 진짜 내가 사용하는 환경에서는 어떻게 보이는지 알 수가 없다. OS에도 영향을 받고 프로그램에도 영향을 받는다. 즉, 같은 글꼴을 어떤 운영체제에서 어떤 프로그램으로 보느냐에 따라 약간이 아니라 심하게 차이가 날 수 있다. 같은 글꼴도 크기에 따라서나 색에 따라서 느낌이 달라지는 것도 고려해야 한다. 여기서는 내 개발 환경인 윈도에서 주로 사용하는 비주얼 스투디오 코드와 이클립스를 기준으로 하려고 한다.

내가 선택하고 비교한 글꼴 목록은 다음과 같다. 모두 무료거나 OS에서 기본으로 갖춰진 글꼴이다.

아래는 직접 글꼴을 설정해보고 캡처한 이미지들이다. 정확한 비교는 환경에 영향을 많이 받으므로 참고만 해야 하며 원본 보기를 해야 실제 글꼴의 느낌을 알 수 있으므로 슬라이드쇼만 보지는 않도로 한다.

비주얼 스투디오 코드에서 비교

Consolas 14픽셀
Consolas 14픽셀
Dejavu Sans Mono 13픽셀
Dejavu Sans Mono 13픽셀
Fira Code 13픽셀
Fira Code 13픽셀
Fira Code Retina 13픽셀
Fira Code Retina 13픽셀
Fira Mono 13 픽셀
Fira Mono 13 픽셀
Hack 13 픽셀
Hack 13 픽셀
Lucida Console 13 픽셀
Lucida Console 13 픽셀
Meslo LG M 13픽셀
Meslo LG M 13픽셀
Oxygen Mono 13픽셀
Oxygen Mono 13픽셀
Roboto Mono 13픽셀
Roboto Mono 13픽셀
Source Code Pro 13픽셀
Source Code Pro 13픽셀
Ubuntu Mono 14픽셀
Ubuntu Mono 14픽셀

웹브라우저 기반의 글꼴 표시는 별다른 단점이 드러나지 않도록 잘 표현되기 때문에 우열을 가리기가 힘든 것 같다. 취향의 문제만 남지 않나 하는 생각이다. 또한 여기 보인 글꼴 중 몇 가지는 한 두 가지 글꼴을 계속 발전시켜서 나온 글꼴이기도 해서 비슷한 스타일이 있다.

이클립스에서 비교

Consolas 10pt
Consolas 10pt
DejaVu Sans Mono 10pt
DejaVu Sans Mono 10pt
Fira Code 10pt
Fira Code 10pt
Fira Code Retina 10pt
Fira Code Retina 10pt
Fira Mono 10pt
Fira Mono 10pt
Hack 9pt
Hack 9pt
Lucida Console 9pt
Lucida Console 9pt
Meslo LG M 9pt
Meslo LG M 9pt
Oxygen Mono 9pt
Oxygen Mono 9pt
Source Code Pro 10pt
Source Code Pro 10pt
Roboto Mono 9pt
Roboto Mono 9pt
Ubuntu Mono 10pt
Ubuntu Mono 10pt

이클립스는 글꼴 렌더링도 Java로 처리하느라 OS의 기능을 완전히 쓰지 못하는 것인지 모든 글꼴이 VS Code보다는 못나게 나온다. 또한 줄 간격이 조절 안되는 이클립스의 고질적 문제 때문에 글꼴은 좋아도 선택이 꺼려지는 경우가 생긴다. 여러 글꼴 중 Meslo는 줄간격 문제를 해결할 수 있다. 단순 비교로는 Consolas가 역시 그나마 보기 좋게 나온 느낌이다.

어떤 글꼴을 선택할까?

난 원래 글꼴에 관심이 많았다. 90년대 MS-DOS에서 한글을 구현하던 시절엔 직접 조합형 한글 글꼴을 제작하기도 했고 홈페이지를 만들던 때는 굴림이나 돋움 같은 식상한 글꼴을 대체할 수 있는 웹 글꼴이나 기술을 계속 찾아보기도 했었다. 그런 관심사 중 프로그래밍 글꼴은 현재까지도 진행형인 문제가 되고 있다.

프로그래밍 글꼴에 대해 내가 가장 원하는 것은 보기 좋아야 한다는 것이다. 주관적인 기준이지만 궁서체 영문 글꼴보다 Courier New가, Courier New보다는 Consolas가 더 보기 좋다는 생각은 개발자라면 10중 8, 9 동의하지 않을까? 영문은 글자 수가 적고 모양이 단순하다보니 반대로 스타일링이 참으로 다양하게 나올 수 있다.

상대적으로 난 숫자 0과 영문 O의 구분, 숫자 1과 영문 l의 구분 등은 덜 중요하게 생각한다. 그런 오타가 있기도 힘들고 있다해도 요즘 개발 편집기는 실시간으로 오타를 찾아주기 마련이다.

위에서 여러가지 예시를 보였지만 취향의 문제가 더 크지 않나 하는 생각이다. 다만 이클립스의 경우 글꼴 표시가 깔끔하지 않다보니 아주 만족할 만한 글꼴이 없다는 것이 문제인데 혹시 Java 개발 환경으로 VS Code를 사용한다든지 유료로 IntelliJ를 사용하는 것도 방법이다.

여러분들은 어떤 글꼴을 사용하는가? 어떤 기준으로 글꼴을 선택하는가?