프로그래밍 폰트 (코딩 폰트)

아직까지는 프로그램 코드 작성시 많은 사람들이 monospace 폰트(고정폭 폰트)를 사용한다.
이유는 다른 프로그래머가 다른 IDE로 소스를 보더라도 고정 폰트이면 비슷한 모습을 볼 수 있기 때문이다.
고정폭이 아니면 들여쓰기나 코드의 길이등이 일치하지 않아 코드를 보는데 어려움이 있을 수 있다.
게다가 문자가 헷갈리는 경우 코드 가독성이 확 떨어진다.

1lI|ㅣ!
oO0ㅇ
:;
[](){}<>
SsCcVvPp

위 글자가 모두 달리 보이고 확실히 구분되지 않으면
대소문자나 기호에 민감한 코딩에서 굉장히 불편해진다.
그래서 코딩을 하는 사람들은 각자 선호하는 코딩 폰트들이 존재한다.

이런 코딩을 위한 폰트 몇 개를 소개한다.

[D2Coding]

네이버에서 만든 한글이 지원되는 코딩용 폰트
나눔바른고딕 기반
[공식 페이지: https://github.com/naver/d2codingfont]
[소개글: https://bspfp.pe.kr/archives/1520]

[나눔고딕코딩]

네이버에서 만든 한글이 지원되는 코딩용 폰트
나눔고딕 기반
구글 폰트에 포함되었다. 하지만 개인적으로는 D2Coding이 더 나은 것 같다.
[공식 페이지: https://github.com/naver/nanumfont/blob/master/README.md]
D2Coding 과 비교 이미지

Consolas

MS에서 Windows Vista, Office 2007, Visual Studio 2010 에서 채택한 고정폭 폰트이다.
매우 훌륭하지만… 한글이 없다. 그리고 자유롭지 못하다. 즉, 라이센스가 필요하다.
ClearType Font이다.
[다운로드: https://www.microsoft.com/en-us/download/details.aspx?id=17879]
[Google Fonts] 에서 free 한 대체 버전인 [Inconsolata]가 있다.
Google에서 “Consolas 한글”과 같이 검색하면 한글관련 커스텀 작업 결과를 공유한 사람들의 자료가 나온다.

Vera Sans Mono

Bitstream 의 코딩용 폰트이다. Latin 알파벳만 지원한다. 즉, 한글이 없다.
물론 Google에서 “Vera Sans Mono 한글”과 같이 검색하면 한글 관련 자료가 나오긴 한다.
[다운로드 페이지: https://www.gnome.org/fonts/]

Deja Vu Sans Mono

Vera 를 기반으로 한 변형 폰트이다.
역시나 한글은 지원하지 않는다.
[공식 페이지: https://dejavu-fonts.github.io/]

Linux Desktop 에 폰트 설치

Ubuntu + D2Coding 폰트를 기준으로 설명하자면

압축 해제 프로그램 설치
폰트 받기
압축 풀기
D2Coding/*.ttf 를 복사
폰트 캐싱하기

apt-get install unzip
wget https://github.com/naver/d2codingfont/releases/download/VER1.3.2/D2Coding-Ver1.3.2-20180524.zip
unzip D2Coding-Ver1.3.2-20180524.zip
mkdir /usr/share/fonts/truetype/D2Coding
cp ./D2Coding/*.ttf /usr/share/fonts/truetype/D2Coding/
fc-cache -v

D2Coding

[D2Coding GitHub]

BS가 지금까지 사용했던 프로그래밍 언어는 모두 영어에 기초를 두고 있다.
하지만 BS는 한국에서 살고, 일하므로… 프로그램 소스에 대부분 한글로 주석을 작성한다.
일단, 그 주석을 읽는 사람 중에 한국어가 모국어가 아닌 사람이 한명도 없기 때문에…

그런데 BS와 같은 사람에게 적합한 코딩용 고정폭 폰트가 없다.
그나마 그럭저럭 참고 쓸만한 것이 돋움체 정도?
결국 Il1O0 구분도 안되는 폰트 뿐인데…

현재로선… 유일하게 사용할 수 있는 폰트는 D2Coding 뿐

Ubuntu에 폰트 설치하기

D2Coding 폰트 설치를 예로…

# D2Coding 받기
wget https://github.com/naver/d2codingfont/releases/download/VER1.21/D2Coding-1.2.zip
 
# 설치할 디렉토리 만들기
mkdir /usr/share/fonts/truetype/D2Coding
 
# 압축 풀기
unzip D2Coding-1.2.zip -d /usr/share/fonts/truetype/D2Coding/
 
# 쓸데없는 맥 디렉토리 삭제
rm -rf /usr/share/fonts/truetype/D2Coding/__MACOSX
 
# 폰트 캐싱 강제로 다시 하기
fc-cache -f -v

여러분은 코딩용 폰트로 무얼 사용하시나요?

BS가 기분 전환을 위해 개발 환경에서 쓰는 코딩용 폰트… 고정폭 폰트를 바꿨습니다.

VS 6부터 쓰던 Fixedsys

그 뒤 VS.NET의 기본이었던 돋움체

얼마전 잠시 사용한 Bitstream Vera Sans Mono… 하지만 한글 문제로 포기하고…

나눔고딕코딩

개인적으로는

영문 폰트는 Fixedsys, Bitstream Vera Sans Mono, 나눔고딕코딩, 돋움체 순으로 좋은 것 같고
한글 폰트는 돋움체, 나눔고딕코딩 … 나머지 두 폰트는 영문 전용이라…

물론 구글신께 물어보면 Bitstream Vera Sans Mono에 맑은 고딕을 뜯어붙인 폰트를 구할 수 있긴 합니다만…
BS는 왠만하면 그런 저작권 위반하는 것을 선호하지 않기에
Windows의 FontLink 기능을 사용해 보려 했습니다.
그러나… 실패… Windows 8이후의 Windows에서는 안먹히더군요.

그래서… 지금은? “나눔고딕코딩”을 사용 중입니다.

[Fixedsys] – 공개 버전

[Fixedsys Excelsior] – Fixedsys에 유니코드 버전

[Bitstream Vera Sans Mono]

[나눔고딕코딩]

[폰트 리뷰 사이트] – 좀 오래된…

[폰트 리뷰 다른 것] – 약간 덜 오래된…