Post

개발용 고정폭 글꼴

개발용 글꼴

IDE를 사용해서 개발을 한다면 잘 모를 수 있지만 개발자 용도의 글꼴이 따로 있다.

내가 명확하게 느낀 필요성은 두 가지 정도이다.

  • 오타 방지

변수 이름과 같은 것들이 오타가 발생하면 치명적이기 때문에 비슷한 철자들을 잘 구분할 수 있도록 한다.

1lIij| 와 같은 막대기 형태 문자가 있고, 0oO와 같은 동그라미 형태 문자도 있다.

  • 고정폭

일반적인 문서 작성 용도 글꼴은 우리가 손으로 쓰는 글자와 어느정도 유사하게 만들어져서 글자의 폭이 일정하지 않다. l은 얇고 A는 두껍다.

문장을 읽는 상황에서는 가독성이 좋을 수 있지만 코드는 문장을 읽는 용도가 아니다. 전체 코드의 덩어리를 보고 코드를 읽어나가는데 일관성 있는 글꼴 폭은 코드의 구조를 일정하게 확인할 수 있도록 돕는다.

시점을 과거로 옮기면 더 명확해지는데, CLI 화면에서 출력을 할 때 볼 수 있는 화면과 동일한 화면을 보고 개발하고 싶다고 하면 고정폭이 강제된다.

선정 기준

  1. 일반적인 FHD 화면, 일반적인 사이즈에서 뭉개지지 않는 폰트
  2. 영자는 half, 한글은 full

1은 눈이 아프지 않기 위해 필수이고, 2는 개인적인 기준이다.

사실 코딩을 할 때 한글을 쓰는 일은 잘 없다. 요즘은 변수 이름을 한글로 작성해도 잘 작동한다는 언어들도 많이 있지만, 그런 언어조차 인코딩 형식 등이 조금이라도 달라지면 문자가 깨져버리거나 컴파일이 되지 않는다.

하지만 나는 한국인이고, 한국어를 사용하여 문장을 작성했을 때 내가 의도한 바를 가장 정확하게 전달할 수 있다. 따라서 나는 한국 사람들과 일을 할 때 한국어로 주석을 작성하려고 노력한다. 그래야 서로가 최대한 오해 없이 문장을 이해할 수 있기 때문이다. 주석은 중요도는 높아도 당장 컴파일 오류는 발생시키지 않기 때문에, 깨지더라도 당장은 문제가 없고 나중에 인코딩을 맞추면 살아나기 때문이다.

따라서 이러한 기준으로 폰트를 찾는데, 지금까지 딱 두 개를 찾았다.

D2Coding

D2Coding

한글 주석을 작성하면서 불편함을 느끼고 처음 찾은 폰트이다.

한국 기업인 네이버에서 개발한 만큼 네이버 나눔 글꼴에 기반하였으며, 한글에 대한 지원이 아주 정확하다.

지금 이 블로그도 코드 블럭의 경우에 D2Coding으로 표시된다.
(미래의 내가 바꾸지 않았다면…)

정말 좋은데 아주 작은 단점은 영자가 못생겼다는 것이다.

어쩌면 숙명일 수 있는데, 영자를 half 크기로 만들고 한글을 full로 만들면 영자가 한글의 반절의 길이밖에 사용할 수 없어서인지 약간의 답답함이 생긴다.

Sarasa Gothic

Sarasa Gothic

D2Coding을 정말 오래 사용하다가 다른 선택지가 정말 없었을까? 싶어서 찾아낸 글꼴이다.

일반 글꼴의 영자가 매우 마음에 들었는데, 그것은 고정폭이 아니었고 고정폭 글꼴로 다시 돌아오자 안타깝게도 D2Coding과 비슷한 문제점이 발생했다.

일반 글꼴의 영자는 Inter 기반이라고 하고 고정폭 글꼴의 영자는 Iosevka기반이라고 한다.

그래도 (문제의)동아시아 CJK를 모두 지원하므로 중국어나 일본어를 할 수 있다면(?!) 글꼴 변경의 귀찮음을 해소할 수 있을 것 같다.

이건 참고인데 글꼴 종류가 엄청나게 많아서 정리했다.
결론: SarasaMonoK

  • 일반
Gothic큰 따옴표를 full 크기로 표현한다.
UI큰 따옴표를 half 크기로 표현한다.
  • 고정폭
MonoEm dash(—)를 full 크기로 표현한다.
TermEm dash(—)를 half 크기로 표현한다.
FixedMono와 같으나 합자를 지원하지 않는다.

Em dash(—)는 하이픈(-)이 아니다!

D2Coding vs Sarasa Mono K

개발 도구에서는 부분마다 글꼴을 변경할 수 없어 문서 편집기로 비교했다.
(환경: Ubuntu 24.04, OnlyOffice)

01

02

결론

나는 결국 아직까지는 D2Coding을 유지하기로 했다.

This post is licensed under CC BY 4.0 by the author.